diff --git a/nightly_8.3/doctrees/7-to-8/caveats.doctree b/nightly_8.3/doctrees/7-to-8/caveats.doctree
new file mode 100644
index 00000000000..1a7bb0898a5
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/caveats.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/cheat-sheet.doctree b/nightly_8.3/doctrees/7-to-8/cheat-sheet.doctree
new file mode 100644
index 00000000000..8c106ab357b
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/cheat-sheet.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/index.doctree b/nightly_8.3/doctrees/7-to-8/index.doctree
new file mode 100644
index 00000000000..bf546f2198e
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/index.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/major-changes/cli.doctree b/nightly_8.3/doctrees/7-to-8/major-changes/cli.doctree
new file mode 100644
index 00000000000..7853fa38675
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/major-changes/cli.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/major-changes/compatibility-mode.doctree b/nightly_8.3/doctrees/7-to-8/major-changes/compatibility-mode.doctree
new file mode 100644
index 00000000000..4e0225718ab
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/major-changes/compatibility-mode.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/major-changes/config-changes.doctree b/nightly_8.3/doctrees/7-to-8/major-changes/config-changes.doctree
new file mode 100644
index 00000000000..7a0aacedeaa
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/major-changes/config-changes.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/major-changes/continuing-c7-c8.doctree b/nightly_8.3/doctrees/7-to-8/major-changes/continuing-c7-c8.doctree
new file mode 100644
index 00000000000..0a67f6f3fbe
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/major-changes/continuing-c7-c8.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/major-changes/cylc-install.doctree b/nightly_8.3/doctrees/7-to-8/major-changes/cylc-install.doctree
new file mode 100644
index 00000000000..a530eee9af2
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/major-changes/cylc-install.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/major-changes/excluding-tasks.doctree b/nightly_8.3/doctrees/7-to-8/major-changes/excluding-tasks.doctree
new file mode 100644
index 00000000000..32b12efda85
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/major-changes/excluding-tasks.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/major-changes/index.doctree b/nightly_8.3/doctrees/7-to-8/major-changes/index.doctree
new file mode 100644
index 00000000000..9fe336c379d
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/major-changes/index.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/major-changes/parameters.doctree b/nightly_8.3/doctrees/7-to-8/major-changes/parameters.doctree
new file mode 100644
index 00000000000..1039f984c80
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/major-changes/parameters.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/major-changes/platforms.doctree b/nightly_8.3/doctrees/7-to-8/major-changes/platforms.doctree
new file mode 100644
index 00000000000..d8becba3cd5
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/major-changes/platforms.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/major-changes/play-pause-stop.doctree b/nightly_8.3/doctrees/7-to-8/major-changes/play-pause-stop.doctree
new file mode 100644
index 00000000000..e1be7a90c3f
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/major-changes/play-pause-stop.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/major-changes/python-2-3.doctree b/nightly_8.3/doctrees/7-to-8/major-changes/python-2-3.doctree
new file mode 100644
index 00000000000..e69c9a6bc6e
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/major-changes/python-2-3.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/major-changes/remote-owner.doctree b/nightly_8.3/doctrees/7-to-8/major-changes/remote-owner.doctree
new file mode 100644
index 00000000000..2cfd75ccea9
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/major-changes/remote-owner.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/major-changes/scheduling.doctree b/nightly_8.3/doctrees/7-to-8/major-changes/scheduling.doctree
new file mode 100644
index 00000000000..e3667225c1f
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/major-changes/scheduling.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/major-changes/suicide-triggers.doctree b/nightly_8.3/doctrees/7-to-8/major-changes/suicide-triggers.doctree
new file mode 100644
index 00000000000..6ee61455b7b
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/major-changes/suicide-triggers.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/major-changes/task-job-states.doctree b/nightly_8.3/doctrees/7-to-8/major-changes/task-job-states.doctree
new file mode 100644
index 00000000000..9933fdb8632
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/major-changes/task-job-states.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/major-changes/template-vars.doctree b/nightly_8.3/doctrees/7-to-8/major-changes/template-vars.doctree
new file mode 100644
index 00000000000..09a2109fc3d
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/major-changes/template-vars.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/major-changes/ui.doctree b/nightly_8.3/doctrees/7-to-8/major-changes/ui.doctree
new file mode 100644
index 00000000000..0e208599956
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/major-changes/ui.doctree differ
diff --git a/nightly_8.3/doctrees/7-to-8/summary.doctree b/nightly_8.3/doctrees/7-to-8/summary.doctree
new file mode 100644
index 00000000000..99b06ed5c9c
Binary files /dev/null and b/nightly_8.3/doctrees/7-to-8/summary.doctree differ
diff --git a/nightly_8.3/doctrees/environment.pickle b/nightly_8.3/doctrees/environment.pickle
new file mode 100644
index 00000000000..59b11d30439
Binary files /dev/null and b/nightly_8.3/doctrees/environment.pickle differ
diff --git a/nightly_8.3/doctrees/glossary.doctree b/nightly_8.3/doctrees/glossary.doctree
new file mode 100644
index 00000000000..aa90cc502e4
Binary files /dev/null and b/nightly_8.3/doctrees/glossary.doctree differ
diff --git a/nightly_8.3/doctrees/index.doctree b/nightly_8.3/doctrees/index.doctree
new file mode 100644
index 00000000000..ee1f4405faf
Binary files /dev/null and b/nightly_8.3/doctrees/index.doctree differ
diff --git a/nightly_8.3/doctrees/installation.doctree b/nightly_8.3/doctrees/installation.doctree
new file mode 100644
index 00000000000..281c6045c96
Binary files /dev/null and b/nightly_8.3/doctrees/installation.doctree differ
diff --git a/nightly_8.3/doctrees/plugins/cylc-rose.doctree b/nightly_8.3/doctrees/plugins/cylc-rose.doctree
new file mode 100644
index 00000000000..94aef2caa4a
Binary files /dev/null and b/nightly_8.3/doctrees/plugins/cylc-rose.doctree differ
diff --git a/nightly_8.3/doctrees/plugins/index.doctree b/nightly_8.3/doctrees/plugins/index.doctree
new file mode 100644
index 00000000000..c93f23ebf9b
Binary files /dev/null and b/nightly_8.3/doctrees/plugins/index.doctree differ
diff --git a/nightly_8.3/doctrees/plugins/install/built-in/cylc.flow.install_plugins.log_vc_info.doctree b/nightly_8.3/doctrees/plugins/install/built-in/cylc.flow.install_plugins.log_vc_info.doctree
new file mode 100644
index 00000000000..d7e28738a3e
Binary files /dev/null and b/nightly_8.3/doctrees/plugins/install/built-in/cylc.flow.install_plugins.log_vc_info.doctree differ
diff --git a/nightly_8.3/doctrees/plugins/install/index.doctree b/nightly_8.3/doctrees/plugins/install/index.doctree
new file mode 100644
index 00000000000..79e5af1b8fc
Binary files /dev/null and b/nightly_8.3/doctrees/plugins/install/index.doctree differ
diff --git a/nightly_8.3/doctrees/plugins/job-runners/index.doctree b/nightly_8.3/doctrees/plugins/job-runners/index.doctree
new file mode 100644
index 00000000000..f0467009bb3
Binary files /dev/null and b/nightly_8.3/doctrees/plugins/job-runners/index.doctree differ
diff --git a/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.doctree b/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.doctree
new file mode 100644
index 00000000000..b089c28b9ed
Binary files /dev/null and b/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.doctree differ
diff --git a/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.health_check.doctree b/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.health_check.doctree
new file mode 100644
index 00000000000..5569f20b037
Binary files /dev/null and b/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.health_check.doctree differ
diff --git a/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store.doctree b/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store.doctree
new file mode 100644
index 00000000000..eaf958dc4e7
Binary files /dev/null and b/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store.doctree differ
diff --git a/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop.doctree b/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop.doctree
new file mode 100644
index 00000000000..84e71e8364f
Binary files /dev/null and b/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop.doctree differ
diff --git a/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.log_memory.doctree b/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.log_memory.doctree
new file mode 100644
index 00000000000..0db7c1b4d73
Binary files /dev/null and b/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.log_memory.doctree differ
diff --git a/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts.doctree b/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts.doctree
new file mode 100644
index 00000000000..46d8fbeee1d
Binary files /dev/null and b/nightly_8.3/doctrees/plugins/main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts.doctree differ
diff --git a/nightly_8.3/doctrees/plugins/main-loop/index.doctree b/nightly_8.3/doctrees/plugins/main-loop/index.doctree
new file mode 100644
index 00000000000..9d3344ecd56
Binary files /dev/null and b/nightly_8.3/doctrees/plugins/main-loop/index.doctree differ
diff --git a/nightly_8.3/doctrees/reference/api/index.doctree b/nightly_8.3/doctrees/reference/api/index.doctree
new file mode 100644
index 00000000000..9e6357b52fc
Binary files /dev/null and b/nightly_8.3/doctrees/reference/api/index.doctree differ
diff --git a/nightly_8.3/doctrees/reference/api/scan.doctree b/nightly_8.3/doctrees/reference/api/scan.doctree
new file mode 100644
index 00000000000..21a80cfca5e
Binary files /dev/null and b/nightly_8.3/doctrees/reference/api/scan.doctree differ
diff --git a/nightly_8.3/doctrees/reference/api/zmq.doctree b/nightly_8.3/doctrees/reference/api/zmq.doctree
new file mode 100644
index 00000000000..27bee68f6f3
Binary files /dev/null and b/nightly_8.3/doctrees/reference/api/zmq.doctree differ
diff --git a/nightly_8.3/doctrees/reference/architecture/data-flow.doctree b/nightly_8.3/doctrees/reference/architecture/data-flow.doctree
new file mode 100644
index 00000000000..124ca63f02c
Binary files /dev/null and b/nightly_8.3/doctrees/reference/architecture/data-flow.doctree differ
diff --git a/nightly_8.3/doctrees/reference/architecture/index.doctree b/nightly_8.3/doctrees/reference/architecture/index.doctree
new file mode 100644
index 00000000000..a612c19866d
Binary files /dev/null and b/nightly_8.3/doctrees/reference/architecture/index.doctree differ
diff --git a/nightly_8.3/doctrees/reference/architecture/ui-server.doctree b/nightly_8.3/doctrees/reference/architecture/ui-server.doctree
new file mode 100644
index 00000000000..5babf7d0a12
Binary files /dev/null and b/nightly_8.3/doctrees/reference/architecture/ui-server.doctree differ
diff --git a/nightly_8.3/doctrees/reference/changes.doctree b/nightly_8.3/doctrees/reference/changes.doctree
new file mode 100644
index 00000000000..31e59cc7544
Binary files /dev/null and b/nightly_8.3/doctrees/reference/changes.doctree differ
diff --git a/nightly_8.3/doctrees/reference/config/file-format.doctree b/nightly_8.3/doctrees/reference/config/file-format.doctree
new file mode 100644
index 00000000000..90de5a0b82a
Binary files /dev/null and b/nightly_8.3/doctrees/reference/config/file-format.doctree differ
diff --git a/nightly_8.3/doctrees/reference/config/global.doctree b/nightly_8.3/doctrees/reference/config/global.doctree
new file mode 100644
index 00000000000..f85699e969c
Binary files /dev/null and b/nightly_8.3/doctrees/reference/config/global.doctree differ
diff --git a/nightly_8.3/doctrees/reference/config/index.doctree b/nightly_8.3/doctrees/reference/config/index.doctree
new file mode 100644
index 00000000000..8da7a027967
Binary files /dev/null and b/nightly_8.3/doctrees/reference/config/index.doctree differ
diff --git a/nightly_8.3/doctrees/reference/config/shorthand.doctree b/nightly_8.3/doctrees/reference/config/shorthand.doctree
new file mode 100644
index 00000000000..e0de16bdae4
Binary files /dev/null and b/nightly_8.3/doctrees/reference/config/shorthand.doctree differ
diff --git a/nightly_8.3/doctrees/reference/config/types.doctree b/nightly_8.3/doctrees/reference/config/types.doctree
new file mode 100644
index 00000000000..30d42adeac8
Binary files /dev/null and b/nightly_8.3/doctrees/reference/config/types.doctree differ
diff --git a/nightly_8.3/doctrees/reference/config/ui-server.doctree b/nightly_8.3/doctrees/reference/config/ui-server.doctree
new file mode 100644
index 00000000000..4fa12c0cada
Binary files /dev/null and b/nightly_8.3/doctrees/reference/config/ui-server.doctree differ
diff --git a/nightly_8.3/doctrees/reference/config/workflow.doctree b/nightly_8.3/doctrees/reference/config/workflow.doctree
new file mode 100644
index 00000000000..24243eadda3
Binary files /dev/null and b/nightly_8.3/doctrees/reference/config/workflow.doctree differ
diff --git a/nightly_8.3/doctrees/reference/config/writing-platform-configs.doctree b/nightly_8.3/doctrees/reference/config/writing-platform-configs.doctree
new file mode 100644
index 00000000000..bb9f905c27a
Binary files /dev/null and b/nightly_8.3/doctrees/reference/config/writing-platform-configs.doctree differ
diff --git a/nightly_8.3/doctrees/reference/dev-history-major-changes.doctree b/nightly_8.3/doctrees/reference/dev-history-major-changes.doctree
new file mode 100644
index 00000000000..b1c13eba020
Binary files /dev/null and b/nightly_8.3/doctrees/reference/dev-history-major-changes.doctree differ
diff --git a/nightly_8.3/doctrees/reference/environments/conda.doctree b/nightly_8.3/doctrees/reference/environments/conda.doctree
new file mode 100644
index 00000000000..b25972f81ab
Binary files /dev/null and b/nightly_8.3/doctrees/reference/environments/conda.doctree differ
diff --git a/nightly_8.3/doctrees/reference/index.doctree b/nightly_8.3/doctrees/reference/index.doctree
new file mode 100644
index 00000000000..3290d92b627
Binary files /dev/null and b/nightly_8.3/doctrees/reference/index.doctree differ
diff --git a/nightly_8.3/doctrees/reference/job-script-vars/index.doctree b/nightly_8.3/doctrees/reference/job-script-vars/index.doctree
new file mode 100644
index 00000000000..3f500d0b90f
Binary files /dev/null and b/nightly_8.3/doctrees/reference/job-script-vars/index.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/furthertopics/broadcast.doctree b/nightly_8.3/doctrees/tutorial/furthertopics/broadcast.doctree
new file mode 100644
index 00000000000..c590ff32472
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/furthertopics/broadcast.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/furthertopics/clock-triggered-tasks.doctree b/nightly_8.3/doctrees/tutorial/furthertopics/clock-triggered-tasks.doctree
new file mode 100644
index 00000000000..718b70865f1
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/furthertopics/clock-triggered-tasks.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/furthertopics/family-triggers.doctree b/nightly_8.3/doctrees/tutorial/furthertopics/family-triggers.doctree
new file mode 100644
index 00000000000..4978c78ee3f
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/furthertopics/family-triggers.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/furthertopics/index.doctree b/nightly_8.3/doctrees/tutorial/furthertopics/index.doctree
new file mode 100644
index 00000000000..b8e559ea112
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/furthertopics/index.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/furthertopics/inheritance.doctree b/nightly_8.3/doctrees/tutorial/furthertopics/inheritance.doctree
new file mode 100644
index 00000000000..533edf6b562
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/furthertopics/inheritance.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/furthertopics/message-triggers.doctree b/nightly_8.3/doctrees/tutorial/furthertopics/message-triggers.doctree
new file mode 100644
index 00000000000..54b7b4bd7a6
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/furthertopics/message-triggers.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/furthertopics/queues.doctree b/nightly_8.3/doctrees/tutorial/furthertopics/queues.doctree
new file mode 100644
index 00000000000..65133a3b4c6
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/furthertopics/queues.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/furthertopics/retries.doctree b/nightly_8.3/doctrees/tutorial/furthertopics/retries.doctree
new file mode 100644
index 00000000000..5d83372b8b6
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/furthertopics/retries.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/index.doctree b/nightly_8.3/doctrees/tutorial/index.doctree
new file mode 100644
index 00000000000..a3b23037759
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/index.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/introduction.doctree b/nightly_8.3/doctrees/tutorial/introduction.doctree
new file mode 100644
index 00000000000..cc0b12b1969
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/introduction.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/runtime/configuration-consolidation/families.doctree b/nightly_8.3/doctrees/tutorial/runtime/configuration-consolidation/families.doctree
new file mode 100644
index 00000000000..1eba955ed4e
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/runtime/configuration-consolidation/families.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/runtime/configuration-consolidation/index.doctree b/nightly_8.3/doctrees/tutorial/runtime/configuration-consolidation/index.doctree
new file mode 100644
index 00000000000..24f55d5c1fd
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/runtime/configuration-consolidation/index.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/runtime/configuration-consolidation/jinja2.doctree b/nightly_8.3/doctrees/tutorial/runtime/configuration-consolidation/jinja2.doctree
new file mode 100644
index 00000000000..354932ee418
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/runtime/configuration-consolidation/jinja2.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/runtime/configuration-consolidation/parameters.doctree b/nightly_8.3/doctrees/tutorial/runtime/configuration-consolidation/parameters.doctree
new file mode 100644
index 00000000000..07087c8fa41
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/runtime/configuration-consolidation/parameters.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/runtime/index.doctree b/nightly_8.3/doctrees/tutorial/runtime/index.doctree
new file mode 100644
index 00000000000..8e21c2e387c
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/runtime/index.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/runtime/introduction.doctree b/nightly_8.3/doctrees/tutorial/runtime/introduction.doctree
new file mode 100644
index 00000000000..27e4b4bd520
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/runtime/introduction.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/runtime/runtime-configuration.doctree b/nightly_8.3/doctrees/tutorial/runtime/runtime-configuration.doctree
new file mode 100644
index 00000000000..08d01c56d21
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/runtime/runtime-configuration.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/scheduling/datetime-cycling.doctree b/nightly_8.3/doctrees/tutorial/scheduling/datetime-cycling.doctree
new file mode 100644
index 00000000000..c711369c80e
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/scheduling/datetime-cycling.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/scheduling/further-scheduling.doctree b/nightly_8.3/doctrees/tutorial/scheduling/further-scheduling.doctree
new file mode 100644
index 00000000000..5b56410b6d9
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/scheduling/further-scheduling.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/scheduling/graphing.doctree b/nightly_8.3/doctrees/tutorial/scheduling/graphing.doctree
new file mode 100644
index 00000000000..4c041c8577b
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/scheduling/graphing.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/scheduling/index.doctree b/nightly_8.3/doctrees/tutorial/scheduling/index.doctree
new file mode 100644
index 00000000000..9895186f713
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/scheduling/index.doctree differ
diff --git a/nightly_8.3/doctrees/tutorial/scheduling/integer-cycling.doctree b/nightly_8.3/doctrees/tutorial/scheduling/integer-cycling.doctree
new file mode 100644
index 00000000000..7b32b906c2f
Binary files /dev/null and b/nightly_8.3/doctrees/tutorial/scheduling/integer-cycling.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/compound-commands.doctree b/nightly_8.3/doctrees/user-guide/compound-commands.doctree
new file mode 100644
index 00000000000..a94f2cbe5f5
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/compound-commands.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/index.doctree b/nightly_8.3/doctrees/user-guide/index.doctree
new file mode 100644
index 00000000000..9199ea8a1d0
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/index.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/installing-workflows.doctree b/nightly_8.3/doctrees/user-guide/installing-workflows.doctree
new file mode 100644
index 00000000000..3060febf398
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/installing-workflows.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/introduction.doctree b/nightly_8.3/doctrees/user-guide/introduction.doctree
new file mode 100644
index 00000000000..f6ddce14d8c
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/introduction.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/removing-workflows.doctree b/nightly_8.3/doctrees/user-guide/removing-workflows.doctree
new file mode 100644
index 00000000000..d6fce475f0d
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/removing-workflows.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/running-workflows/authentication-files.doctree b/nightly_8.3/doctrees/user-guide/running-workflows/authentication-files.doctree
new file mode 100644
index 00000000000..68bf150718d
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/running-workflows/authentication-files.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/running-workflows/dynamic-behaviour.doctree b/nightly_8.3/doctrees/user-guide/running-workflows/dynamic-behaviour.doctree
new file mode 100644
index 00000000000..83b18b81e51
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/running-workflows/dynamic-behaviour.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/running-workflows/handling-job-preemption.doctree b/nightly_8.3/doctrees/user-guide/running-workflows/handling-job-preemption.doctree
new file mode 100644
index 00000000000..8d5411fe35c
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/running-workflows/handling-job-preemption.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/running-workflows/index.doctree b/nightly_8.3/doctrees/user-guide/running-workflows/index.doctree
new file mode 100644
index 00000000000..9b99da9ec0d
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/running-workflows/index.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/running-workflows/reflow.doctree b/nightly_8.3/doctrees/user-guide/running-workflows/reflow.doctree
new file mode 100644
index 00000000000..9f09d618017
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/running-workflows/reflow.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/running-workflows/retrying-tasks.doctree b/nightly_8.3/doctrees/user-guide/running-workflows/retrying-tasks.doctree
new file mode 100644
index 00000000000..e224f19e2f0
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/running-workflows/retrying-tasks.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/running-workflows/scheduler-log-files.doctree b/nightly_8.3/doctrees/user-guide/running-workflows/scheduler-log-files.doctree
new file mode 100644
index 00000000000..f6029c38f53
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/running-workflows/scheduler-log-files.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/running-workflows/scheduler-start-up.doctree b/nightly_8.3/doctrees/user-guide/running-workflows/scheduler-start-up.doctree
new file mode 100644
index 00000000000..64627914ae4
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/running-workflows/scheduler-start-up.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/running-workflows/simulation-modes.doctree b/nightly_8.3/doctrees/user-guide/running-workflows/simulation-modes.doctree
new file mode 100644
index 00000000000..e258f0192bd
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/running-workflows/simulation-modes.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/running-workflows/task-job-states.doctree b/nightly_8.3/doctrees/user-guide/running-workflows/task-job-states.doctree
new file mode 100644
index 00000000000..59831b427cd
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/running-workflows/task-job-states.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/running-workflows/tasks-jobs-ui.doctree b/nightly_8.3/doctrees/user-guide/running-workflows/tasks-jobs-ui.doctree
new file mode 100644
index 00000000000..7d9500c5995
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/running-workflows/tasks-jobs-ui.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/running-workflows/tracking-task-state.doctree b/nightly_8.3/doctrees/user-guide/running-workflows/tracking-task-state.doctree
new file mode 100644
index 00000000000..ab717fcb4bf
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/running-workflows/tracking-task-state.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/running-workflows/workflow-completion.doctree b/nightly_8.3/doctrees/user-guide/running-workflows/workflow-completion.doctree
new file mode 100644
index 00000000000..230032ed723
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/running-workflows/workflow-completion.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/running-workflows/workflow-databases.doctree b/nightly_8.3/doctrees/user-guide/running-workflows/workflow-databases.doctree
new file mode 100644
index 00000000000..e6a9b5cf7a7
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/running-workflows/workflow-databases.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/sharing-access-to-workflows.doctree b/nightly_8.3/doctrees/user-guide/sharing-access-to-workflows.doctree
new file mode 100644
index 00000000000..584e71c1527
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/sharing-access-to-workflows.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/task-implementation/index.doctree b/nightly_8.3/doctrees/user-guide/task-implementation/index.doctree
new file mode 100644
index 00000000000..50fe151cbbd
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/task-implementation/index.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.at.doctree b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.at.doctree
new file mode 100644
index 00000000000..36e001381e8
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.at.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background.doctree b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background.doctree
new file mode 100644
index 00000000000..19965df74a2
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler.doctree b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler.doctree
new file mode 100644
index 00000000000..52e7ed5adcb
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.lsf.doctree b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.lsf.doctree
new file mode 100644
index 00000000000..fb79f943c58
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.lsf.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.moab.doctree b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.moab.doctree
new file mode 100644
index 00000000000..173c8fdf939
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.moab.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.pbs.doctree b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.pbs.doctree
new file mode 100644
index 00000000000..47960f63163
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.pbs.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.sge.doctree b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.sge.doctree
new file mode 100644
index 00000000000..cbd7ae51494
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.sge.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm.doctree b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm.doctree
new file mode 100644
index 00000000000..9fbdfdafc55
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob.doctree b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob.doctree
new file mode 100644
index 00000000000..661f6fd3903
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/task-implementation/job-scripts.doctree b/nightly_8.3/doctrees/user-guide/task-implementation/job-scripts.doctree
new file mode 100644
index 00000000000..7a92bb6ac7d
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/task-implementation/job-scripts.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/task-implementation/job-submission.doctree b/nightly_8.3/doctrees/user-guide/task-implementation/job-submission.doctree
new file mode 100644
index 00000000000..5f138e2ffb9
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/task-implementation/job-submission.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/task-implementation/ssh-job-management.doctree b/nightly_8.3/doctrees/user-guide/task-implementation/ssh-job-management.doctree
new file mode 100644
index 00000000000..d29f0c1c33e
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/task-implementation/ssh-job-management.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/writing-workflows/configuration.doctree b/nightly_8.3/doctrees/user-guide/writing-workflows/configuration.doctree
new file mode 100644
index 00000000000..7451672d0ff
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/writing-workflows/configuration.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/writing-workflows/empy.doctree b/nightly_8.3/doctrees/user-guide/writing-workflows/empy.doctree
new file mode 100644
index 00000000000..0e81e6a59c9
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/writing-workflows/empy.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/writing-workflows/external-triggers.doctree b/nightly_8.3/doctrees/user-guide/writing-workflows/external-triggers.doctree
new file mode 100644
index 00000000000..041254d72b4
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/writing-workflows/external-triggers.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/writing-workflows/index.doctree b/nightly_8.3/doctrees/user-guide/writing-workflows/index.doctree
new file mode 100644
index 00000000000..884aaf24420
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/writing-workflows/index.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/writing-workflows/jinja2.doctree b/nightly_8.3/doctrees/user-guide/writing-workflows/jinja2.doctree
new file mode 100644
index 00000000000..f723b9f422c
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/writing-workflows/jinja2.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/writing-workflows/parameterized-tasks.doctree b/nightly_8.3/doctrees/user-guide/writing-workflows/parameterized-tasks.doctree
new file mode 100644
index 00000000000..25f410ea0ea
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/writing-workflows/parameterized-tasks.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/writing-workflows/runtime.doctree b/nightly_8.3/doctrees/user-guide/writing-workflows/runtime.doctree
new file mode 100644
index 00000000000..744ac45493a
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/writing-workflows/runtime.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/writing-workflows/scheduler.doctree b/nightly_8.3/doctrees/user-guide/writing-workflows/scheduler.doctree
new file mode 100644
index 00000000000..f4af6b201e0
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/writing-workflows/scheduler.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/writing-workflows/scheduling.doctree b/nightly_8.3/doctrees/user-guide/writing-workflows/scheduling.doctree
new file mode 100644
index 00000000000..7c3e6b1afda
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/writing-workflows/scheduling.doctree differ
diff --git a/nightly_8.3/doctrees/user-guide/writing-workflows/suicide-triggers.doctree b/nightly_8.3/doctrees/user-guide/writing-workflows/suicide-triggers.doctree
new file mode 100644
index 00000000000..c985ed4e4cd
Binary files /dev/null and b/nightly_8.3/doctrees/user-guide/writing-workflows/suicide-triggers.doctree differ
diff --git a/nightly_8.3/doctrees/workflow-design-guide/efficiency.doctree b/nightly_8.3/doctrees/workflow-design-guide/efficiency.doctree
new file mode 100644
index 00000000000..1df48777725
Binary files /dev/null and b/nightly_8.3/doctrees/workflow-design-guide/efficiency.doctree differ
diff --git a/nightly_8.3/doctrees/workflow-design-guide/general-principles.doctree b/nightly_8.3/doctrees/workflow-design-guide/general-principles.doctree
new file mode 100644
index 00000000000..258f3612ae3
Binary files /dev/null and b/nightly_8.3/doctrees/workflow-design-guide/general-principles.doctree differ
diff --git a/nightly_8.3/doctrees/workflow-design-guide/index.doctree b/nightly_8.3/doctrees/workflow-design-guide/index.doctree
new file mode 100644
index 00000000000..95456fed17a
Binary files /dev/null and b/nightly_8.3/doctrees/workflow-design-guide/index.doctree differ
diff --git a/nightly_8.3/doctrees/workflow-design-guide/portable-workflows.doctree b/nightly_8.3/doctrees/workflow-design-guide/portable-workflows.doctree
new file mode 100644
index 00000000000..ec10fea6bb5
Binary files /dev/null and b/nightly_8.3/doctrees/workflow-design-guide/portable-workflows.doctree differ
diff --git a/nightly_8.3/doctrees/workflow-design-guide/style-guide.doctree b/nightly_8.3/doctrees/workflow-design-guide/style-guide.doctree
new file mode 100644
index 00000000000..8e320d160e0
Binary files /dev/null and b/nightly_8.3/doctrees/workflow-design-guide/style-guide.doctree differ
diff --git a/nightly_8.3/html/.buildinfo b/nightly_8.3/html/.buildinfo
new file mode 100644
index 00000000000..93682090cb4
--- /dev/null
+++ b/nightly_8.3/html/.buildinfo
@@ -0,0 +1,4 @@
+# Sphinx build info version 1
+# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
+config: c9339d761b63dced9c0fdb0c090a927c
+tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/nightly_8.3/html/7-to-8/caveats.html b/nightly_8.3/html/7-to-8/caveats.html
new file mode 100644
index 00000000000..028359f24ee
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/caveats.html
@@ -0,0 +1,251 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Cylc 8.3 Caveats &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Installation" href="../installation.html" />
+    <link rel="prev" title="Cylc 8 UIs" href="major-changes/ui.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2"><a class="reference internal" href="major-changes/index.html">Detailed Description of Major Changes</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Cylc 8.3 Caveats</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-flow">Cylc Flow</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#browser-based-ui">Browser Based UI</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#terminal-user-interface">Terminal User Interface</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#ui-server">UI Server</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="index.html">Cylc 8 Migration Guide</a></li>
+      <li class="breadcrumb-item active">Cylc 8.3 Caveats</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/7-to-8/caveats.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="cylc-version-caveats">
+<h1>Cylc 8.3 Caveats<a class="headerlink" href="#cylc-version-caveats" title="Link to this heading"></a></h1>
+<p>There are a few Cylc 7 features which do not yet have direct replacements in
+Cylc 8. These features will be re-implemented in future releases.</p>
+<section id="cylc-flow">
+<h2>Cylc Flow<a class="headerlink" href="#cylc-flow" title="Link to this heading"></a></h2>
+<dl class="simple">
+<dt>Multiple Flows</dt><dd><p>The new <a class="reference internal" href="../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> can manage multiple flows in the workflow graph.
+Commands and options for interacting with flows are still being refined.</p>
+</dd>
+</dl>
+</section>
+<section id="browser-based-ui">
+<h2>Browser Based UI<a class="headerlink" href="#browser-based-ui" title="Link to this heading"></a></h2>
+<p>The old “GUI” has been replaced by the new browser-based “UI”.</p>
+<dl class="simple">
+<dt>Static Graph Visualization</dt><dd><p>Not yet reimplemented for Cylc 8. As an interim measure the
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code> command can generate a basic PNG image of a workflow
+graph if Graphviz is installed in the Cylc environment.</p>
+</dd>
+<dt>Multiple Selection</dt><dd><p>Multiple selection is yet to be implemented, however, it is possible
+to issue action for multiple tasks (e.g. <code class="docutils literal notranslate"><span class="pre">kill</span></code>) without using
+multiple selection:</p>
+<ul class="simple">
+<li><p>From the UI click on a workflow/cycle/task/job.</p></li>
+<li><p>Find the action you want to call (e.g. kill).</p></li>
+<li><p>Click the pencil symbol next to this action.</p></li>
+<li><p>Edit the workflows/cycles/tasks/jobs in the form and press submit.</p></li>
+<li><p><a class="reference external" href="https://github.com/cylc/cylc-ui/issues/434">https://github.com/cylc/cylc-ui/issues/434</a></p></li>
+</ul>
+</dd>
+<dt>Installing Workflows</dt><dd><p>At present there is no way to view or install
+<a class="reference internal" href="../glossary.html#term-source-directory"><span class="xref std std-term">source workflows</span></a> in the UI.</p>
+</dd>
+<dt>Rose Edit</dt><dd><p>Rose Edit is awaiting reimplementation in the UI.</p>
+</dd>
+<dt>Xtrigger Visibility</dt><dd><p>Xtriggers are not yet visible in the UI.</p>
+<ul class="simple">
+<li><p><a class="reference external" href="https://github.com/cylc/cylc-ui/issues/331">https://github.com/cylc/cylc-ui/issues/331</a></p></li>
+</ul>
+</dd>
+<dt>Documentation / Orientation Guide</dt><dd><p>Some form of documentation will be provided within the UI itself.</p>
+<ul class="simple">
+<li><p><a class="reference external" href="https://github.com/cylc/cylc-ui/issues/155">https://github.com/cylc/cylc-ui/issues/155</a></p></li>
+</ul>
+</dd>
+</dl>
+</section>
+<section id="terminal-user-interface">
+<h2>Terminal User Interface<a class="headerlink" href="#terminal-user-interface" title="Link to this heading"></a></h2>
+<p>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">tui</span></code> command (Tui) replaces the old <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">monitor</span></code>. It provides a
+tree view that is very similar to the Cylc UI and supports some control
+functionality.</p>
+<dl>
+<dt>Performance</dt><dd><p>TUI currently refreshes its display every second. Large workflows which
+change rapidly may evolve faster than TUI is able to keep pace with which
+will cause TUI to freeze.</p>
+<p>A more performant implementation which does not rely on a scheduled global
+update will follow in due course.</p>
+<ul class="simple">
+<li><p><a class="reference external" href="https://github.com/cylc/cylc-flow/issues/3527">https://github.com/cylc/cylc-flow/issues/3527</a></p></li>
+</ul>
+</dd>
+<dt>GScan</dt><dd><p>The old <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">gscan</span></code> GUI has been removed. You can now find the gscan
+display on the left-hand side of the Cylc UI.</p>
+<p>In a future release <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">tui</span></code> will be able to list workflows in a similar
+way.</p>
+<ul class="simple">
+<li><p><a class="reference external" href="https://github.com/cylc/cylc-flow/issues/3464">https://github.com/cylc/cylc-flow/issues/3464</a></p></li>
+</ul>
+</dd>
+</dl>
+</section>
+<section id="ui-server">
+<h2>UI Server<a class="headerlink" href="#ui-server" title="Link to this heading"></a></h2>
+<dl class="simple">
+<dt>CLI via UIS</dt><dd><p>The ability to route Cylc commands via the UIS is planned for a future release</p>
+<ul class="simple">
+<li><p><a class="reference external" href="https://github.com/cylc/cylc-flow/issues/3528">https://github.com/cylc/cylc-flow/issues/3528</a></p></li>
+</ul>
+</dd>
+</dl>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="major-changes/ui.html" class="btn btn-neutral float-left" title="Cylc 8 UIs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../installation.html" class="btn btn-neutral float-right" title="Installation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/caveats";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/cheat-sheet.html b/nightly_8.3/html/7-to-8/cheat-sheet.html
new file mode 100644
index 00000000000..cda77f7c62b
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/cheat-sheet.html
@@ -0,0 +1,489 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Cheat Sheet &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Detailed Description of Major Changes" href="major-changes/index.html" />
+    <link rel="prev" title="Summary Of Major Changes" href="summary.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Cheat Sheet</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#validating">Validating</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#installing-running">Installing &amp; Running</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#reloading">Reloading</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#pausing-unpausing">Pausing &amp; Unpausing</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#stopping">Stopping</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#restarting">Restarting</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#deleting">Deleting</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#scanning">Scanning</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#view-a-workflow-s-configuration">View A Workflow’s Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#opening-user-interfaces">Opening User Interfaces</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#static-graph-visualisation">Static Graph Visualisation</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#rose-stem">Rose Stem</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="major-changes/index.html">Detailed Description of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="index.html">Cylc 8 Migration Guide</a></li>
+      <li class="breadcrumb-item active">Cheat Sheet</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/7-to-8/cheat-sheet.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="cheat-sheet">
+<span id="id1"></span><h1>Cheat Sheet<a class="headerlink" href="#cheat-sheet" title="Link to this heading"></a></h1>
+<p>Quick summary of the command line changes between Cylc 7 / Rose 2019 and Cylc 8.</p>
+<section id="validating">
+<h2>Validating<a class="headerlink" href="#validating" title="Link to this heading"></a></h2>
+<p>Check the workflow configuration for errors:</p>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><strong>Cylc 7</strong></p></td>
+<td><p><strong>Rose 2019</strong></p></td>
+<td><p><strong>Cylc 8</strong> (Rose 2)</p></td>
+</tr>
+<tr class="row-even"><td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc validate <span class="s">&lt;name/path&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="c"># validate from $PWD</span>
+rose suite-run --validate
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc validate <span class="s">&lt;name/path&gt;</span>
+</pre></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="installing-running">
+<h2>Installing &amp; Running<a class="headerlink" href="#installing-running" title="Link to this heading"></a></h2>
+<p>Install a workflow from source and run it:</p>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><strong>Cylc 7</strong></p></td>
+<td><p><strong>Rose 2019</strong></p></td>
+<td><p><strong>Cylc 8</strong> (Rose 2)</p></td>
+</tr>
+<tr class="row-even"><td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="c"># no installation capability</span>
+<span class="c"># run from source</span>
+cylc run <span class="s">&lt;name&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="c"># install from $PWD</span>
+<span class="c"># then run</span>
+rose suite-run
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="c"># validate, install &amp; play</span>
+cylc vip <span class="s">&lt;name&gt;</span>
+cylc vip <span class="c"># use $PWD</span>
+</pre></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="reloading">
+<h2>Reloading<a class="headerlink" href="#reloading" title="Link to this heading"></a></h2>
+<p>To update a running workflow with changes from the source directory:</p>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><strong>Cylc 7</strong></p></td>
+<td><p><strong>Rose 2019</strong></p></td>
+<td><p><strong>Cylc 8</strong> (Rose 2)</p></td>
+</tr>
+<tr class="row-even"><td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="c"># update the live source</span>
+<span class="c"># directly, then</span>
+cylc reload <span class="s">&lt;name&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="c"># re-install from source</span>
+<span class="c"># and do ``cylc reload``</span>
+rose suite-run --reload
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="c"># Validate against source;</span>
+<span class="c"># Reinstall;</span>
+<span class="c"># Reload or Play</span>
+cylc vr <span class="s">&lt;name&gt;</span>
+</pre></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="pausing-unpausing">
+<h2>Pausing &amp; Unpausing<a class="headerlink" href="#pausing-unpausing" title="Link to this heading"></a></h2>
+<p>Tell a workflow not to submit any new jobs:</p>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><strong>Cylc 7</strong> &amp; Rose 2019</p></td>
+<td><p><strong>Cylc 8</strong> (Rose 2)</p></td>
+</tr>
+<tr class="row-even"><td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc hold <span class="s">&lt;name&gt;</span>
+
+cylc unhold <span class="s">&lt;name&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc pause <span class="s">&lt;name&gt;</span>
+
+cylc play <span class="s">&lt;name&gt;</span>
+</pre></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="stopping">
+<h2>Stopping<a class="headerlink" href="#stopping" title="Link to this heading"></a></h2>
+<p>Stop a running workflow:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc stop <span class="s">&lt;name&gt;</span>
+</pre></div>
+</div>
+</section>
+<section id="restarting">
+<h2>Restarting<a class="headerlink" href="#restarting" title="Link to this heading"></a></h2>
+<p>Restart a stopped workflow and pick up where it left off:</p>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><strong>Cylc 7</strong></p></td>
+<td><p><strong>Rose 2019</strong></p></td>
+<td><p><strong>Cylc 8</strong> (Rose 2)</p></td>
+</tr>
+<tr class="row-even"><td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="c"># no installation capability</span>
+<span class="c"># restart from source</span>
+cylc restart <span class="s">&lt;name&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="c"># regular restart</span>
+rose suite-restart
+</pre></div>
+</div>
+<p>Or alternatively:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="c"># reinstall and restart</span>
+rose suite-run --restart
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="c"># optionally reinstall</span>
+cylc reinstall <span class="s">&lt;name&gt;</span>
+
+<span class="c"># restart</span>
+cylc play <span class="s">&lt;name&gt;</span>
+</pre></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="deleting">
+<h2>Deleting<a class="headerlink" href="#deleting" title="Link to this heading"></a></h2>
+<p>Delete the workflow <a class="reference internal" href="../glossary.html#term-run-directory"><span class="xref std std-term">run directory</span></a> (leave source files untouched):</p>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><strong>Cylc 7</strong></p></td>
+<td><p><strong>Rose 2019</strong></p></td>
+<td><p><strong>Cylc 8</strong> (Rose 2)</p></td>
+</tr>
+<tr class="row-even"><td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>rm -rf ~/cylc-run/<span class="s">&lt;name&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>rose suite-clean <span class="s">&lt;name&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc clean <span class="s">&lt;name&gt;</span>
+</pre></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="scanning">
+<h2>Scanning<a class="headerlink" href="#scanning" title="Link to this heading"></a></h2>
+<p>List all running workflows:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc scan
+</pre></div>
+</div>
+</section>
+<section id="view-a-workflow-s-configuration">
+<h2>View A Workflow’s Configuration<a class="headerlink" href="#view-a-workflow-s-configuration" title="Link to this heading"></a></h2>
+<p>View the parsed workflow configuration:</p>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><strong>Cylc 7</strong></p></td>
+<td><p><strong>Rose 2019</strong></p></td>
+<td><p><strong>Cylc 8</strong> (Rose 2)</p></td>
+</tr>
+<tr class="row-even"><td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc get-config --sparse \
+    <span class="s">&lt;name/path&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="c"># install workflow</span>
+rose suite-run -l
+
+<span class="c"># view installed config</span>
+cylc get-config --sparse \
+    <span class="s">&lt;name/path&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc config <span class="s">&lt;name/path&gt;</span>
+</pre></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="opening-user-interfaces">
+<h2>Opening User Interfaces<a class="headerlink" href="#opening-user-interfaces" title="Link to this heading"></a></h2>
+<p>Opening the graphical user interface (GUI) or terminal user interface (TUI)
+for monitoring / controlling running workflows:</p>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td></td>
+<td><p><strong>Cylc 7</strong> &amp; Rose 2019</p></td>
+<td><p><strong>Cylc 8</strong> (Rose 2)</p></td>
+</tr>
+<tr class="row-even"><td><p>Terminal</p></td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc monitor <span class="s">&lt;name&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc tui <span class="s">&lt;name&gt;</span>
+</pre></div>
+</div>
+</td>
+</tr>
+<tr class="row-odd"><td><p>Graphical</p></td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc gui <span class="s">&lt;name&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc gui
+</pre></div>
+</div>
+</td>
+</tr>
+<tr class="row-even"><td><p>Web Server</p></td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc review start
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc hub
+</pre></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="static-graph-visualisation">
+<h2>Static Graph Visualisation<a class="headerlink" href="#static-graph-visualisation" title="Link to this heading"></a></h2>
+<p>Generate a visualisation for a workflow without running it:</p>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><strong>Cylc 7</strong> &amp; Rose 2019</p></td>
+<td><p><strong>Cylc 8</strong> (Rose 2)</p></td>
+</tr>
+<tr class="row-even"><td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc graph <span class="s">&lt;name&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc graph <span class="s">&lt;name&gt;</span>
+</pre></div>
+</div>
+<p>This generates a basic image file if Graphviz is installed.</p>
+<p>The web UI will have full graph vis. in a future release.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="rose-stem">
+<h2>Rose Stem<a class="headerlink" href="#rose-stem" title="Link to this heading"></a></h2>
+<p>Run a <a class="reference external" href="https://metomi.github.io/rose/2.1.0/html/tutorial/rose/furthertopics/rose-stem.html#rose-stem" title="(in Rose Documentation v2.1.0)"><span>Rose Stem</span></a> test suite.</p>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><strong>Rose 2019</strong></p></td>
+<td><p><strong>Rose 2</strong> (Cylc 8)</p></td>
+</tr>
+<tr class="row-even"><td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="c"># install and start</span>
+rose stem
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="c"># install</span>
+rose stem
+
+<span class="c"># start</span>
+cylc play <span class="s">&lt;name&gt;</span>
+</pre></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="summary.html" class="btn btn-neutral float-left" title="Summary Of Major Changes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="major-changes/index.html" class="btn btn-neutral float-right" title="Detailed Description of Major Changes" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/cheat-sheet";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/index.html b/nightly_8.3/html/7-to-8/index.html
new file mode 100644
index 00000000000..a4b04a468a8
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/index.html
@@ -0,0 +1,180 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Cylc 8 Migration Guide &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Summary Of Major Changes" href="summary.html" />
+    <link rel="prev" title="Cylc Documentation" href="../index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Cylc 8 Migration Guide</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2"><a class="reference internal" href="major-changes/index.html">Detailed Description of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">Cylc 8 Migration Guide</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/7-to-8/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="cylc-8-migration-guide">
+<h1>Cylc 8 Migration Guide<a class="headerlink" href="#cylc-8-migration-guide" title="Link to this heading"></a></h1>
+<p><strong>A quick guide for Cylc 7 (and Rose 2019) users upgrading to Cylc 8.</strong></p>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>If you need help using or understanding Cylc 8 please post questions to the
+<a class="reference external" href="https://cylc.discourse.group/c/cylc/7-to-8/13">Cylc 8 Migration category</a>
+on the <a class="reference external" href="https://cylc.discourse.group/">Cylc Forum</a></p>
+</div>
+<p>Cylc 8 differs from Cylc 7 in many ways: architecture, scheduling
+algorithm, security, UIs, working practices, and more.</p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l1"><a class="reference internal" href="major-changes/index.html">Detailed Description of Major Changes</a></li>
+<li class="toctree-l1"><a class="reference internal" href="caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../index.html" class="btn btn-neutral float-left" title="Cylc Documentation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="summary.html" class="btn btn-neutral float-right" title="Summary Of Major Changes" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/major-changes/cli.html b/nightly_8.3/html/7-to-8/major-changes/cli.html
new file mode 100644
index 00000000000..7b263ad8910
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/major-changes/cli.html
@@ -0,0 +1,399 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Command Line Interface &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Cylc 7 Compatibility Mode" href="compatibility-mode.html" />
+    <link rel="prev" title="Detailed Description of Major Changes" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Detailed Description of Major Changes</a><ul class="current">
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Command Line Interface</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#overview">Overview</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#full-list-of-command-changes">Full List Of Command Changes</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc-8-standardised-ids">Cylc 8 Standardised IDs</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="compatibility-mode.html">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="config-changes.html">Configuration Changes at Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="continuing-c7-c8.html">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="cylc-install.html">Cylc Install</a></li>
+<li class="toctree-l3"><a class="reference internal" href="excluding-tasks.html">Excluding Tasks at Start-up is Not Supported</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameters.html">Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="platforms.html">Platforms</a></li>
+<li class="toctree-l3"><a class="reference internal" href="play-pause-stop.html">Play Pause Stop</a></li>
+<li class="toctree-l3"><a class="reference internal" href="python-2-3.html">Python 2 =&gt; 3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="remote-owner.html">Remote Usernames</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Graph branching, optional outputs and suicide triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task/Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="template-vars.html">Template Variables</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui.html">Cylc 8 UIs</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Cylc 8 Migration Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Detailed Description of Major Changes</a></li>
+      <li class="breadcrumb-item active">Command Line Interface</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/7-to-8/major-changes/cli.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="command-line-interface">
+<span id="majorchangescli"></span><h1>Command Line Interface<a class="headerlink" href="#command-line-interface" title="Link to this heading"></a></h1>
+<div class="tip admonition">
+<p class="admonition-title">Does This Change Affect Me?</p>
+<p>This will affect you if you use the Cylc command line interface.</p>
+</div>
+<section id="overview">
+<h2>Overview<a class="headerlink" href="#overview" title="Link to this heading"></a></h2>
+<ul class="simple">
+<li><p>Some commands have been renamed e.g. <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">run</span></code> -&gt; <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code>.</p></li>
+<li><p>Some tools have been added or removed.</p></li>
+<li><p>A new task ID format has been introduced.</p></li>
+</ul>
+<p>For a quick side by side comparison see the <a class="reference internal" href="../cheat-sheet.html#cheat-sheet"><span class="std std-ref">Cheat Sheet</span></a>.</p>
+</section>
+<section id="full-list-of-command-changes">
+<h2>Full List Of Command Changes<a class="headerlink" href="#full-list-of-command-changes" title="Link to this heading"></a></h2>
+<p>The command line has been simplified from Cylc 7 with some commands being
+renamed or removed.</p>
+<p class="rubric">Commands that have been removed entirely:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">checkpoint</span></code></dt><dd><ul class="simple">
+<li><p>Database checkpoints are no longer needed.</p></li>
+<li><p>All task state changes are written to the database when they occur.</p></li>
+<li><p>Remaining use cases can be handled by starting a new <a class="reference internal" href="../../glossary.html#term-flow"><span class="xref std std-term">flow</span></a>
+which allow a new execution of the graph to be started from an
+arbitrary point in the graph.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">documentation</span></code></dt><dd><ul class="simple">
+<li><p>We no longer include a command for locating this documentation.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">edit</span></code></dt><dd><ul class="simple">
+<li><p>Use a text editor to edit the workflow configuration file.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">jobscript</span></code></dt><dd><ul class="simple">
+<li><p>It is no longer possible generate a jobscript from outside of a workflow.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">nudge</span></code></dt><dd><ul class="simple">
+<li><p>No longer required.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">register</span></code></dt><dd><ul class="simple">
+<li><p>Registration is no longer required, all workflows in the <code class="docutils literal notranslate"><span class="pre">~/cylc-run</span></code>
+directory are “registered” automatically.</p></li>
+<li><p>To install a workflow from a working copy use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code>.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">review</span></code></dt><dd><ul class="simple">
+<li><p>The read-only <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">review</span></code> web GUI has been removed.</p></li>
+<li><p>The latest Cylc 7 version of <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">review</span></code> is Cylc 8 compatible
+so can still be used to monitor both Cylc 7 and Cylc 8 workflows
+side by side.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">search</span></code></dt><dd><ul class="simple">
+<li><p>Use <code class="docutils literal notranslate"><span class="pre">grep</span></code> or a text editor to search the workflow configuration or
+source directory.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">submit</span></code></dt><dd><ul class="simple">
+<li><p>It is no longer possible to submit a job from outside of a workflow.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">warranty</span></code></dt><dd><ul class="simple">
+<li><p>The Cylc license remains unchanged from Cylc 7.</p></li>
+</ul>
+</dd>
+</dl>
+<p class="rubric">Commands that have been replaced:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">conditions</span></code></dt><dd><ul class="simple">
+<li><p>See the <a class="reference external" href="https://github.com/cylc/cylc-flow/blob/master/COPYING">license</a> file for conditions of usage, or <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">help</span> <span class="pre">license</span></code></p></li>
+<li><p>The Cylc license remains unchanged from Cylc 7.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">get-config</span></code>,</dt><dd><ul class="simple">
+<li><p>Replaced by <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code>.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">get-*-config</span></code></dt><dd><ul class="simple">
+<li><p>(Where <code class="docutils literal notranslate"><span class="pre">*</span></code> is <code class="docutils literal notranslate"><span class="pre">site</span></code>, <code class="docutils literal notranslate"><span class="pre">suite</span></code> or <code class="docutils literal notranslate"><span class="pre">global</span></code>)</p></li>
+<li><p>Replaced by <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code>.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph-diff</span></code></dt><dd><ul class="simple">
+<li><p>Replaced by <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span> <span class="pre">&lt;flow1&gt;</span> <span class="pre">--diff</span> <span class="pre">&lt;flow2&gt;</span></code></p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">insert</span></code></dt><dd><ul class="simple">
+<li><p>Task insertion is now automatic, use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">trigger</span></code>.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">monitor</span></code></dt><dd><ul class="simple">
+<li><p>There is now a new more powerful terminal user interface (TUI).</p></li>
+<li><p>Try <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">tui</span></code>.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">print</span></code></dt><dd><ul class="simple">
+<li><p>Equivalent to <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">scan</span> <span class="pre">--states=all</span></code>.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">reset</span></code></dt><dd><ul class="simple">
+<li><p>It is no longer possible to manually change a task’s state.</p></li>
+<li><p>You can, however, override the outputs the task generated which has a
+similar effect with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">set-outputs</span></code>.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">restart</span></code></dt><dd><ul class="simple">
+<li><p>Replaced by <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code>.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">run</span></code></dt><dd><ul class="simple">
+<li><p>Replaced by <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code>.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">spawn</span></code></dt><dd><ul class="simple">
+<li><p>Spawning is now performed automatically, on demand. Use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">trigger</span></code> to run
+a task, or <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">set-outputs</span></code> to spawn tasks that depend on specified outputs.</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">suite-state</span></code></dt><dd><ul class="simple">
+<li><p>Renamed as <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">workflow-state</span></code>.</p></li>
+</ul>
+</dd>
+</dl>
+<p class="rubric">Commands that have changed:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">hold</span></code></dt><dd><ul class="simple">
+<li><p>Now used on tasks only; use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">pause</span></code> to pause an entire workflow
+(i.e. to halt all job submissions).</p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">release</span></code></dt><dd><ul class="simple">
+<li><p>Now used only to release held tasks; use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> to resume a paused workflow.</p></li>
+</ul>
+</dd>
+</dl>
+<p class="rubric">Graphical User Interfaces (GUIs):</p>
+<p>The GTK based GUI based GUIs have been removed, please use the new web based
+GUI. Consequently the following commands have also been removed:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">gpanel</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">gscan</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">gcylc</span></code></p></li>
+</ul>
+<p>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">gui</span></code> command remains, it launches a standalone version of the
+web GUI (providing the <a class="reference external" href="https://github.com/cylc/cylc-uiserver">Cylc UI Server</a> is installed).</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<dl class="simple">
+<dt><a class="reference internal" href="../../user-guide/compound-commands.html#compoundcommands"><span class="std std-ref">Compound Commands</span></a> - For your convenience we have</dt><dd><p>provided commands which represent common working practices. For
+example <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">vip</span></code> (Validate-Install-Play) which runs
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">validate</span></code>, <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> and <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code>.</p>
+</dd>
+</dl>
+</div>
+</section>
+<section id="cylc-8-standardised-ids">
+<h2>Cylc 8 Standardised IDs<a class="headerlink" href="#cylc-8-standardised-ids" title="Link to this heading"></a></h2>
+<p>In Cylc 7 there were two ways to specify a task:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>task.cycle
+cycle/task
+</pre></div>
+</div>
+<p>In Cylc 8 the former is now deprecated, and the latter has been extended to
+provide a unique identifier for all workflows, cycles, tasks and jobs using a
+standard format:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>~user/workflow//cycle/task/job
+</pre></div>
+</div>
+<p>Consequently task IDs have changed:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span># old
+cycle.task
+
+# new
+cycle/task
+</pre></div>
+</div>
+<p>An example using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">trigger</span></code>:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># old</span>
+cylc<span class="w"> </span>trigger<span class="w"> </span>workflow<span class="w"> </span>task.cycle
+
+<span class="c1"># new</span>
+cylc<span class="w"> </span>trigger<span class="w"> </span>workflow//cycle/task
+</pre></div>
+</div>
+<p>Cylc 8 still supports the old format, however, the new format unlocks extra
+functionality e.g:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># stop all running workflows</span>
+cylc<span class="w"> </span>stop<span class="w"> </span><span class="s1">&#39;*&#39;</span>
+
+<span class="c1"># pause all running workflows</span>
+cylc<span class="w"> </span>pause<span class="w"> </span><span class="s1">&#39;*&#39;</span>
+
+<span class="c1"># (re-)trigger all failed tasks in all running workflows</span>
+cylc<span class="w"> </span>trigger<span class="w"> </span><span class="s1">&#39;*//*:failed&#39;</span>
+
+<span class="c1"># hold all tasks in the cycle &quot;2000&quot; in workflows with IDs</span>
+<span class="w"> </span><span class="c1"># beginning with &quot;model&quot;</span>
+cylc<span class="w"> </span>hold<span class="w"> </span><span class="s1">&#39;model*//2000&#39;</span>
+
+<span class="c1"># delete the run directories for all workflows with IDs</span>
+<span class="c1"># beginning with &quot;model_a/&quot;</span>
+cylc<span class="w"> </span>clean<span class="w"> </span><span class="s1">&#39;model_a/*&#39;</span>
+</pre></div>
+</div>
+<p>For more information run <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">help</span> <span class="pre">id</span></code>.</p>
+<p>For a quick overview of the motivation see the <a class="reference external" href="https://cylc.discourse.group/t/cylc-8-id-changes/425">ID post on Discourse</a>.</p>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="Detailed Description of Major Changes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="compatibility-mode.html" class="btn btn-neutral float-right" title="Cylc 7 Compatibility Mode" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/major-changes/cli";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/major-changes/compatibility-mode.html b/nightly_8.3/html/7-to-8/major-changes/compatibility-mode.html
new file mode 100644
index 00000000000..ebd88d96d06
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/major-changes/compatibility-mode.html
@@ -0,0 +1,391 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Cylc 7 Compatibility Mode &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Configuration Changes at Cylc 8" href="config-changes.html" />
+    <link rel="prev" title="Command Line Interface" href="cli.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Detailed Description of Major Changes</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Cylc 7 Compatibility Mode</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#overview">Overview</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#required-changes">Required Changes</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#examples">Examples</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#renaming-to-flow-cylc">Renaming to <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="config-changes.html">Configuration Changes at Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="continuing-c7-c8.html">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="cylc-install.html">Cylc Install</a></li>
+<li class="toctree-l3"><a class="reference internal" href="excluding-tasks.html">Excluding Tasks at Start-up is Not Supported</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameters.html">Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="platforms.html">Platforms</a></li>
+<li class="toctree-l3"><a class="reference internal" href="play-pause-stop.html">Play Pause Stop</a></li>
+<li class="toctree-l3"><a class="reference internal" href="python-2-3.html">Python 2 =&gt; 3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="remote-owner.html">Remote Usernames</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Graph branching, optional outputs and suicide triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task/Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="template-vars.html">Template Variables</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui.html">Cylc 8 UIs</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Cylc 8 Migration Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Detailed Description of Major Changes</a></li>
+      <li class="breadcrumb-item active">Cylc 7 Compatibility Mode</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/7-to-8/major-changes/compatibility-mode.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="cylc-7-compatibility-mode">
+<span id="cylc-7-compat-mode"></span><h1>Cylc 7 Compatibility Mode<a class="headerlink" href="#cylc-7-compatibility-mode" title="Link to this heading"></a></h1>
+<div class="tip admonition">
+<p class="admonition-title">Does This Change Affect Me?</p>
+<p>This will affect you if you want to run Cylc 7 (<code class="docutils literal notranslate"><span class="pre">suite.rc</span></code>) workflows
+using Cylc 8.</p>
+</div>
+<section id="overview">
+<h2>Overview<a class="headerlink" href="#overview" title="Link to this heading"></a></h2>
+<p>Cylc 8 can run most Cylc 7 workflows “as is”.
+The <code class="docutils literal notranslate"><span class="pre">suite.rc</span></code> filename triggers a backward compatibility mode in which:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../glossary.html#term-implicit-task"><span class="xref std std-term">implicit tasks</span></a> are allowed by default</p>
+<ul>
+<li><p>(unless a <code class="docutils literal notranslate"><span class="pre">rose-suite.conf</span></code> file is found in the <a class="reference internal" href="../../glossary.html#term-run-directory"><span class="xref std std-term">run directory</span></a>
+for consistency with <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">suite-run</span></code> behaviour)</p></li>
+<li><p>(Cylc 8 does not allow implicit tasks by default)</p></li>
+</ul>
+</li>
+<li><p><a class="reference internal" href="../../glossary.html#term-cycle-point-time-zone"><span class="xref std std-term">cycle point time zone</span></a> defaults to the local time zone</p>
+<ul>
+<li><p>(Cylc 8 defaults to UTC)</p></li>
+</ul>
+</li>
+<li><p>waiting tasks are pre-spawned to mimic the Cylc 7 scheduling algorithm and
+stall behaviour, and these require
+<a class="reference internal" href="../../glossary.html#term-suicide-trigger"><span class="xref std std-term">suicide triggers</span></a>
+for alternate <a class="reference internal" href="../../glossary.html#term-graph-branching"><span class="xref std std-term">graph branching</span></a></p>
+<ul>
+<li><p>(Cylc 8 spawns tasks on demand, and suicide triggers are not needed for
+branching)</p></li>
+</ul>
+</li>
+<li><p>only <code class="docutils literal notranslate"><span class="pre">succeeded</span></code> task outputs are <a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#user-guide-required-outputs"><span class="std std-ref">*required*</span></a>,
+meaning the scheduler will retain tasks that do not succeed as incomplete</p>
+<ul>
+<li><p>(in Cylc 8, <strong>all</strong> outputs are <em>required</em> unless marked as
+<a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#user-guide-optional-outputs"><span class="std std-ref">*optional*</span></a> by the new <code class="docutils literal notranslate"><span class="pre">?</span></code> syntax)</p></li>
+</ul>
+</li>
+</ul>
+</section>
+<section id="required-changes">
+<span id="compat-required-changes"></span><h2>Required Changes<a class="headerlink" href="#required-changes" title="Link to this heading"></a></h2>
+<p>Providing your Cylc 7 workflow does not use syntax that was deprecated at Cylc 7,
+you may be able to run it using Cylc 8 without any modifications while in
+compatibility mode.</p>
+<p>First, run <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">validate</span></code> <strong>with Cylc 7</strong> on your <code class="docutils literal notranslate"><span class="pre">suite.rc</span></code> workflow
+to check for deprecation warnings and fix those before validating with Cylc 8.
+See <a class="reference internal" href="#compat-eg-c7val"><span class="std std-ref">below</span></a> for an example.</p>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">validate</span></code> operates on the processed <code class="docutils literal notranslate"><span class="pre">suite.rc</span></code>, which
+means it will not detect any deprecated syntax that is inside a
+currently-unused Jinja2/EmPy <code class="docutils literal notranslate"><span class="pre">if...else</span></code> branch.</p>
+</div>
+<p>Some workflows may require modifications to either upgrade to Cylc 8 or make
+interoperable with Cylc 8 backward compatibility mode. Read on for more details.</p>
+<section id="cylc-commands-in-task-scripts">
+<h3>Cylc commands in task scripts<a class="headerlink" href="#cylc-commands-in-task-scripts" title="Link to this heading"></a></h3>
+<p>Check for any use of Cylc commands in task scripting. Some Cylc 7 commands
+have been removed and some others now behave differently.
+However, <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">message</span></code> and <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">broadcast</span></code> have <em>not</em> changed.
+See the <a class="reference internal" href="cli.html#majorchangescli"><span class="std std-ref">full list of command line interface changes</span></a>
+and see <a class="reference internal" href="#compat-eg-cylc-commands"><span class="std std-ref">below</span></a> for an example.</p>
+</section>
+<section id="python-2-to-3">
+<h3>Python 2 to 3<a class="headerlink" href="#python-2-to-3" title="Link to this heading"></a></h3>
+<p>Whereas Cylc 7 runs using Python 2, Cylc 8 runs using Python 3. This affects:
+- modules imported in Jinja2
+- Jinja2 filters, tests and globals
+- custom xtrigger functions</p>
+<p>Note that task scripts are not affected - they run in an independent
+environment.</p>
+<p>See <a class="reference internal" href="python-2-3.html#py23"><span class="std std-ref">Python 2 =&gt; 3</span></a> for more information and examples of how to implement
+interoperability if your workflows extend Cylc or Jinja2 with custom Python scripts.</p>
+</section>
+<section id="other-caveats">
+<h3>Other caveats<a class="headerlink" href="#other-caveats" title="Link to this heading"></a></h3>
+<ul class="simple">
+<li><p>Cylc 8 cannot <em>restart</em> a partially completed Cylc 7 workflow in-place. If
+possible, complete the run with Cylc 7. Otherwise, see
+<a class="reference internal" href="continuing-c7-c8.html#compat-continuing-c7-with-c8"><span class="std std-ref">Continuing a Cylc 7 Workflow with Cylc 8</span></a>.</p></li>
+<li><p>Cylc 8 only transfers certain files and directories by default during
+remote installation. See <a class="reference internal" href="cylc-install.html#remote-install"><span class="std std-ref">Remote Installation</span></a> for more information.</p></li>
+<li><p>Cylc 8 does not support
+<a class="reference internal" href="excluding-tasks.html#majorchangesexcludingtasksatstartup"><span class="std std-ref">excluding/including tasks at start-up</span></a>.
+If your workflow used this old functionality, it may have been used in
+combination with the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">insert</span></code> command (which has been removed from
+Cylc 8) and <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">remove</span></code> (which still exists but is much less needed).</p></li>
+<li><p>Cylc 8 does not support <a class="reference internal" href="remote-owner.html#remote-owner"><span class="std std-ref">specifying remote usernames</span></a>
+using <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][remote]owner" title="flow.cylc[runtime][&lt;namespace&gt;][remote]owner"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][remote]owner</span></code></a>.</p></li>
+</ul>
+</section>
+</section>
+<section id="examples">
+<h2>Examples<a class="headerlink" href="#examples" title="Link to this heading"></a></h2>
+<section id="validating-with-cylc-7">
+<span id="compat-eg-c7val"></span><h3>Validating with Cylc 7<a class="headerlink" href="#validating-with-cylc-7" title="Link to this heading"></a></h3>
+<p>Consider this configuration:</p>
+<div class="literal-block-wrapper docutils container" id="id2">
+<div class="code-block-caption"><span class="caption-text"><code class="docutils literal notranslate"><span class="pre">suite.rc</span></code></span><a class="headerlink" href="#id2" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 11000101T00</span>
+    <span class="nt">[[dependencies]]</span>
+        <span class="nt">[[[R1]]]</span>
+            <span class="nv">graph </span><span class="o">=</span><span class="s"> task</span>
+
+<span class="nt">[runtime]</span>
+    <span class="nt">[[task]]</span>
+        <span class="nv">pre-command scripting </span><span class="o">=</span><span class="s"> echo &quot;Hello World&quot;</span>
+</pre></div>
+</div>
+</div>
+<p>Running <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">validate</span></code> at <strong>Cylc 7</strong> we see that the
+workflow is valid, but we are warned that <code class="docutils literal notranslate"><span class="pre">pre-command</span> <span class="pre">scripting</span></code>
+was replaced by <code class="docutils literal notranslate"><span class="pre">pre-script</span></code> at 6.4.0:</p>
+<div class="literal-block-wrapper docutils container" id="id3">
+<div class="code-block-caption"><span class="caption-text">Cylc 7 validation</span><a class="headerlink" href="#id3" title="Link to this code"></a></div>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>validate<span class="w"> </span>.
+<span class="go">WARNING - deprecated items were automatically upgraded in &#39;suite definition&#39;:</span>
+<span class="go">WARNING -  * (6.4.0) [runtime][task][pre-command scripting] -&gt; [runtime][task][pre-script] - value unchanged</span>
+<span class="go">Valid for cylc-7.8.7</span>
+</pre></div>
+</div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><strong>Cylc 7</strong> has handled this deprecation for us, but at <strong>Cylc 8</strong> this
+workflow will fail validation.</p>
+<div class="literal-block-wrapper docutils container" id="id4">
+<div class="code-block-caption"><span class="caption-text">Cylc 8 validation</span><a class="headerlink" href="#id4" title="Link to this code"></a></div>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>validate<span class="w"> </span>.
+<span class="go">IllegalItemError: [runtime][task]pre-command scripting</span>
+</pre></div>
+</div>
+</div>
+</div>
+<p>You must change the configuration yourself. In this case:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="gd">-     pre-command scripting = echo &quot;Hello World&quot;</span>
+<span class="gi">+     pre-script = echo &quot;Hello World&quot;</span>
+</pre></div>
+</div>
+<p>Validation will now succeed.</p>
+</section>
+<section id="compat-eg-cylc-commands">
+<span id="id1"></span><h3>Cylc commands in task scripts<a class="headerlink" href="#compat-eg-cylc-commands" title="Link to this heading"></a></h3>
+<p>You might have a task script that calls a Cylc command like so:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> cylc hold &quot;$CYLC_SUITE_NAME&quot;</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">hold</span></code> command has changed in Cylc 8. It is now used for holding
+tasks only; use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">pause</span></code> for entire workflows.
+(Additionally, <code class="docutils literal notranslate"><span class="pre">$CYLC_SUITE_NAME</span></code> is deprecated in favour of
+<code class="docutils literal notranslate"><span class="pre">$CYLC_WORKFLOW_ID</span></code>, though still supported.)</p>
+<p>In order to make this interoperable, so that you can run it with both Cylc 7
+and Cylc 8 backward compatibility mode, you could do something like this
+in the bash script:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            if [[ &quot;${CYLC_VERSION:0:1}&quot; == 7 ]]; then</span>
+<span class="s2">                cylc hold &quot;$CYLC_SUITE_NAME&quot;</span>
+<span class="s2">            else</span>
+<span class="s2">                cylc pause &quot;$CYLC_WORKFLOW_ID&quot;</span>
+<span class="s2">            fi</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>Note this logic (and the <code class="docutils literal notranslate"><span class="pre">$CYLC_VERSION</span></code> environment variable) is executed
+at runtime on the <a class="reference internal" href="../../glossary.html#term-job-host"><span class="xref std std-term">job host</span></a>.</p>
+<p>Alternatively, you could use <a class="reference internal" href="../../user-guide/writing-workflows/jinja2.html#jinja"><span class="std std-ref">Jinja2</span></a> like so:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="cp">{% if CYLC_VERSION is defined and CYLC_VERSION[0] == &#39;8&#39; %}</span>
+            <span class="nv">script </span><span class="o">=</span><span class="s"> cylc pause &quot;$CYLC_WORKFLOW_ID&quot;</span>
+        <span class="cp">{% else %}</span>
+            <span class="nv">script </span><span class="o">=</span><span class="s"> cylc hold &quot;$CYLC_SUITE_NAME&quot;</span>
+        <span class="cp">{% endif %}</span>
+</pre></div>
+</div>
+<p>Note this logic (and the <code class="docutils literal notranslate"><span class="pre">CYLC_VERSION</span></code> Jinja2 variable) is executed locally
+prior to Cylc parsing the workflow configuration.</p>
+</section>
+</section>
+<section id="renaming-to-flow-cylc">
+<h2>Renaming to <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code><a class="headerlink" href="#renaming-to-flow-cylc" title="Link to this heading"></a></h2>
+<p>When your workflow runs successfully in backward compatibility mode, it is
+ready for renaming <code class="docutils literal notranslate"><span class="pre">suite.rc</span></code> to <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code>. Doing this will turn off
+backward compatibility mode, and validation in Cylc 8 will show
+deprecation warnings.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="config-changes.html#configuration-changes"><span class="std std-ref">Configuration Changes at Cylc 8</span></a></p>
+</div>
+<div class="admonition important">
+<p class="admonition-title">Important</p>
+<p>More complex workflows (e.g. those with suicide triggers) may
+fail validation once backward compatibility is off - see
+<a class="reference internal" href="suicide-triggers.html#optional-outputs"><span class="std std-ref">Graph branching, optional outputs and suicide triggers</span></a></p>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="cli.html" class="btn btn-neutral float-left" title="Command Line Interface" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="config-changes.html" class="btn btn-neutral float-right" title="Configuration Changes at Cylc 8" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/major-changes/compatibility-mode";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/major-changes/config-changes.html b/nightly_8.3/html/7-to-8/major-changes/config-changes.html
new file mode 100644
index 00000000000..8afe0d9baae
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/major-changes/config-changes.html
@@ -0,0 +1,288 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Configuration Changes at Cylc 8 &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Continuing a Cylc 7 Workflow with Cylc 8" href="continuing-c7-c8.html" />
+    <link rel="prev" title="Cylc 7 Compatibility Mode" href="compatibility-mode.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Detailed Description of Major Changes</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
+<li class="toctree-l3"><a class="reference internal" href="compatibility-mode.html">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Configuration Changes at Cylc 8</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#graph">Graph</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#fixing-deprecation-warnings">Fixing deprecation warnings</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#platforms">Platforms</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="continuing-c7-c8.html">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="cylc-install.html">Cylc Install</a></li>
+<li class="toctree-l3"><a class="reference internal" href="excluding-tasks.html">Excluding Tasks at Start-up is Not Supported</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameters.html">Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="platforms.html">Platforms</a></li>
+<li class="toctree-l3"><a class="reference internal" href="play-pause-stop.html">Play Pause Stop</a></li>
+<li class="toctree-l3"><a class="reference internal" href="python-2-3.html">Python 2 =&gt; 3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="remote-owner.html">Remote Usernames</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Graph branching, optional outputs and suicide triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task/Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="template-vars.html">Template Variables</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui.html">Cylc 8 UIs</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Cylc 8 Migration Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Detailed Description of Major Changes</a></li>
+      <li class="breadcrumb-item active">Configuration Changes at Cylc 8</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/7-to-8/major-changes/config-changes.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="configuration-changes-at-cylc-8">
+<span id="configuration-changes"></span><h1>Configuration Changes at Cylc 8<a class="headerlink" href="#configuration-changes-at-cylc-8" title="Link to this heading"></a></h1>
+<p>Some configurations have moved or been renamed at Cylc 8.</p>
+<p>The old configurations are now deprecated, but still supported.
+These will be highlighted upon <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">validate</span></code> after renaming <code class="docutils literal notranslate"><span class="pre">suite.rc</span></code>
+to <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code>.</p>
+<p>Because some workflows use Jinja2 or EmPy branches which may not be switched on at
+the time of the initial <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">validate</span></code> we have also provided
+a script, <a class="reference internal" href="../../user-guide/writing-workflows/configuration.html#cylc-lint-script"><span class="std std-ref">cylc lint -r 728</span></a> to check for Cylc 7
+syntax which may be deprecated.</p>
+<p>There are some examples below of how to upgrade:</p>
+<section id="graph">
+<span id="to-8-graph-syntax"></span><h2>Graph<a class="headerlink" href="#graph" title="Link to this heading"></a></h2>
+<p>Cylc 7 had unnecessarily deep nesting of graph config sections:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> now</span>
+    <span class="nt">[[dependencies]]</span>
+        <span class="nt">[[[R1]]]</span>
+            <span class="nv">graph </span><span class="o">=</span><span class="s"> &quot;prep =&gt; foo&quot;</span>
+        <span class="nt">[[[R/^/P1D]]]</span>
+            <span class="nv">graph </span><span class="o">=</span><span class="s"> &quot;foo =&gt; bar =&gt; baz&quot;</span>
+</pre></div>
+</div>
+<p>Cylc 8 cleans this up:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> now</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = &quot;prep </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">foo</span><span class="c">&quot;</span>
+<span class="nv">        R/^/P1D = &quot;foo =&gt; bar </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">baz</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+</section>
+<section id="fixing-deprecation-warnings">
+<h2>Fixing deprecation warnings<a class="headerlink" href="#fixing-deprecation-warnings" title="Link to this heading"></a></h2>
+<p>Take the following example <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> file:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[cylc]</span>
+   <span class="nv">UTC mode </span><span class="o">=</span><span class="s"> True</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2000-01-01</span>
+    <span class="nt">[[dependencies]]</span>
+        <span class="nt">[[[R1]]]</span>
+            <span class="nv">graph </span><span class="o">=</span><span class="s"> foo =&gt; bar</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[foo, bar]]</span>
+</pre></div>
+</div>
+<p>This workflow will pass validation at Cylc 8, but will give warnings:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>validate<span class="w"> </span>.
+<span class="go">WARNING - deprecated items were automatically upgraded in &quot;workflow definition&quot;</span>
+<span class="go">WARNING -  * (8.0.0) [cylc] -&gt; [scheduler] - value unchanged</span>
+<span class="go">WARNING - deprecated graph items were automatically upgraded in &quot;workflow definition&quot;:</span>
+<span class="go">   * (8.0.0) [scheduling][dependencies][X]graph -&gt; [scheduling][graph]X - for X in:</span>
+<span class="go">         R1</span>
+<span class="go">Valid for cylc-8.0.0</span>
+</pre></div>
+</div>
+<p>The warnings explain what needs to be fixed. After making the following changes,
+the workflow will validate without any warnings:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="gd">-[cylc]</span>
+<span class="gi">+[scheduler]</span>
+<span class="w"> </span>    UTC mode = True
+<span class="w"> </span>[scheduling]
+<span class="w"> </span>    initial cycle point = 2000-01-01
+<span class="gd">-    [[dependencies]]</span>
+<span class="gd">-        [[[R1]]]</span>
+<span class="gd">-            graph = foo =&gt; bar</span>
+<span class="gi">+    [[graph]]</span>
+<span class="gi">+        R1 = foo =&gt; bar</span>
+<span class="w"> </span>[runtime]
+<span class="w"> </span>    [[foo, bar]]
+</pre></div>
+</div>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>Later Cylc releases will not be able to upgrade obsolete Cylc 7
+configurations. It’s a good idea to address warnings as part of routine
+workflow review and maintenance to avoid problems later on.</p>
+</div>
+</section>
+<section id="platforms">
+<h2>Platforms<a class="headerlink" href="#platforms" title="Link to this heading"></a></h2>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="platforms.html#majorchangesplatforms"><span class="std std-ref">Platforms at Cylc 8.</span></a></p></li>
+<li><p><a class="reference internal" href="../../reference/config/writing-platform-configs.html#adminguide-platformconfigs"><span class="std std-ref">System admin’s guide to writing platforms.</span></a></p></li>
+</ul>
+</div>
+<p>At Cylc 7, job hosts were defined to indicate where a job should run.
+At Cylc 8, this has been replaced by Platforms.</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="w"> </span>[runtime]
+<span class="w"> </span>    [[foo]]
+<span class="gd">-        [[[job]]]</span>
+<span class="gd">-            batch system = slurm</span>
+<span class="gd">-        [[[remote]]]</span>
+<span class="gd">-            host = hpc1.login.1</span>
+<span class="gi">+        platform = hpc1</span>
+</pre></div>
+</div>
+<p>For a comprehensive list of valid configuration, see: <a class="reference internal" href="../../reference/config/workflow.html#workflow-configuration"><span class="std std-ref">Workflow Configuration</span></a>
+and <a class="reference internal" href="../../reference/config/global.html#global-configuration"><span class="std std-ref">Global Configuration</span></a>.</p>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="compatibility-mode.html" class="btn btn-neutral float-left" title="Cylc 7 Compatibility Mode" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="continuing-c7-c8.html" class="btn btn-neutral float-right" title="Continuing a Cylc 7 Workflow with Cylc 8" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/major-changes/config-changes";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/major-changes/continuing-c7-c8.html b/nightly_8.3/html/7-to-8/major-changes/continuing-c7-c8.html
new file mode 100644
index 00000000000..9332446d114
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/major-changes/continuing-c7-c8.html
@@ -0,0 +1,231 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Continuing a Cylc 7 Workflow with Cylc 8 &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Cylc Install" href="cylc-install.html" />
+    <link rel="prev" title="Configuration Changes at Cylc 8" href="config-changes.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Detailed Description of Major Changes</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
+<li class="toctree-l3"><a class="reference internal" href="compatibility-mode.html">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="config-changes.html">Configuration Changes at Cylc 8</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="cylc-install.html">Cylc Install</a></li>
+<li class="toctree-l3"><a class="reference internal" href="excluding-tasks.html">Excluding Tasks at Start-up is Not Supported</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameters.html">Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="platforms.html">Platforms</a></li>
+<li class="toctree-l3"><a class="reference internal" href="play-pause-stop.html">Play Pause Stop</a></li>
+<li class="toctree-l3"><a class="reference internal" href="python-2-3.html">Python 2 =&gt; 3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="remote-owner.html">Remote Usernames</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Graph branching, optional outputs and suicide triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task/Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="template-vars.html">Template Variables</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui.html">Cylc 8 UIs</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Cylc 8 Migration Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Detailed Description of Major Changes</a></li>
+      <li class="breadcrumb-item active">Continuing a Cylc 7 Workflow with Cylc 8</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/7-to-8/major-changes/continuing-c7-c8.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="continuing-a-cylc-7-workflow-with-cylc-8">
+<span id="compat-continuing-c7-with-c8"></span><h1>Continuing a Cylc 7 Workflow with Cylc 8<a class="headerlink" href="#continuing-a-cylc-7-workflow-with-cylc-8" title="Link to this heading"></a></h1>
+<div class="tip admonition">
+<p class="admonition-title">Does This Change Affect Me?</p>
+<p>Read this if you have a partially complete Cylc 7 workflow that you want to
+continue, rather than start from scratch, with Cylc 8. Some cycling
+workflows, for example, may need to run expensive “cold start” tasks and
+incur a multi-cycle spin-up if started from scratch.</p>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Cylc 8 cannot restart a Cylc 7 workflow in-place, and continuing in a new
+run directory involves some careful set up (below). So, <strong>if possible you
+should complete the run with Cylc 7</strong>.</p>
+</div>
+<p>To continue a Cylc 7 workflow with Cylc 8:</p>
+<ol class="arabic simple">
+<li><p>Stop the Cylc 7 workflow at an convenient place</p>
+<ul class="simple">
+<li><p>Typically the end of a cycle point, to simplify the continuation</p></li>
+</ul>
+</li>
+<li><p><a class="reference internal" href="cylc-install.html#majorchangesinstall"><span class="std std-ref">Install</span></a> a new instance of the workflow from
+source, with Cylc 8</p>
+<ul class="simple">
+<li><p>Adapt file paths to the new run directory structure, in workflow and task
+configurations</p></li>
+<li><p>Note Cylc 8 does <a class="reference internal" href="cylc-install.html#remote-install"><span class="std std-ref">remote file installation</span></a>
+when a job is first submitted to a platform</p></li>
+</ul>
+</li>
+<li><p>Copy runtime files needed by upcoming tasks from the old to the new run
+directory</p>
+<ul class="simple">
+<li><p>This could include external files installed by initial tasks at runtime</p></li>
+<li><p>Note different files could be present on different job platforms</p></li>
+</ul>
+</li>
+<li><p>Start the new Cylc 8 run at the appropriate cycle point or task(s) in the
+graph</p>
+<ul class="simple">
+<li><p>Don’t reset the <a class="reference internal" href="../../glossary.html#term-initial-cycle-point"><span class="xref std std-term">initial cycle point</span></a> (in the <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> or on
+the command line) to the <a class="reference internal" href="../../glossary.html#term-start-cycle-point"><span class="xref std std-term">start point</span></a> of the
+Cylc 8 run. That would result in the “cold start” that this continuation
+procedure is designed to avoid. Instead use the <code class="docutils literal notranslate"><span class="pre">--start-cycle-point</span></code>
+option (or <code class="docutils literal notranslate"><span class="pre">--start-task</span></code>) with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code>, to start at the right
+place within the graph.</p></li>
+</ul>
+</li>
+</ol>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="config-changes.html" class="btn btn-neutral float-left" title="Configuration Changes at Cylc 8" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="cylc-install.html" class="btn btn-neutral float-right" title="Cylc Install" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/major-changes/continuing-c7-c8";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/major-changes/cylc-install.html b/nightly_8.3/html/7-to-8/major-changes/cylc-install.html
new file mode 100644
index 00000000000..0300af24b93
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/major-changes/cylc-install.html
@@ -0,0 +1,336 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Cylc Install &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Excluding Tasks at Start-up is Not Supported" href="excluding-tasks.html" />
+    <link rel="prev" title="Continuing a Cylc 7 Workflow with Cylc 8" href="continuing-c7-c8.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Detailed Description of Major Changes</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
+<li class="toctree-l3"><a class="reference internal" href="compatibility-mode.html">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="config-changes.html">Configuration Changes at Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="continuing-c7-c8.html">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Cylc Install</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#overview">Overview</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#remote-installation">Remote Installation</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#migrating-from-rose-suite-run">Migrating From <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">suite-run</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="excluding-tasks.html">Excluding Tasks at Start-up is Not Supported</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameters.html">Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="platforms.html">Platforms</a></li>
+<li class="toctree-l3"><a class="reference internal" href="play-pause-stop.html">Play Pause Stop</a></li>
+<li class="toctree-l3"><a class="reference internal" href="python-2-3.html">Python 2 =&gt; 3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="remote-owner.html">Remote Usernames</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Graph branching, optional outputs and suicide triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task/Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="template-vars.html">Template Variables</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui.html">Cylc 8 UIs</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Cylc 8 Migration Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Detailed Description of Major Changes</a></li>
+      <li class="breadcrumb-item active">Cylc Install</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/7-to-8/major-changes/cylc-install.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="cylc-install">
+<span id="majorchangesinstall"></span><h1>Cylc Install<a class="headerlink" href="#cylc-install" title="Link to this heading"></a></h1>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/installing-workflows.html#installing-workflows"><span class="std std-ref">User Guide: Installing Workflows</span></a></p>
+</div>
+<div class="tip admonition">
+<p class="admonition-title">Does This Change Affect Me?</p>
+<p><strong>Almost certainly.</strong></p>
+<p>This change will affect you:</p>
+<ul class="simple">
+<li><p>If you use <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">suite-run</span></code> to install and run Cylc workflows.</p></li>
+<li><p>If you usually develop Cylc workflows in the <code class="docutils literal notranslate"><span class="pre">~/cylc-run</span></code> directory.</p></li>
+<li><p>If you develop Cylc workflows outside of the <code class="docutils literal notranslate"><span class="pre">~/cylc-run</span></code> directory and
+manually copy the files to <code class="docutils literal notranslate"><span class="pre">~/cylc-run</span></code>.</p></li>
+</ul>
+</div>
+<section id="overview">
+<h2>Overview<a class="headerlink" href="#overview" title="Link to this heading"></a></h2>
+<p>Cylc 7 ran workflows in <code class="docutils literal notranslate"><span class="pre">~/cylc-run/</span></code>. You could develop your
+workflow in <code class="docutils literal notranslate"><span class="pre">~/cylc-run</span></code> or copy it after developing it elsewhere.
+If you developed in the <code class="docutils literal notranslate"><span class="pre">~/cylc-run</span></code> directory there was a risk that
+Cylc might alter your files. If you developed elsewhere you needed to
+install your workflows manually with another tool.</p>
+<p>We designed Cylc 8 to help you keep your development and
+running copies separate. By default you can now develop workflows in the
+<code class="docutils literal notranslate"><span class="pre">~/cylc-src</span></code> directory. As a result, you will not change your development
+copy by running a workflow. You will, however, need to install your workflow
+from <code class="docutils literal notranslate"><span class="pre">~/cylc-src</span></code> to <code class="docutils literal notranslate"><span class="pre">~/cylc-run</span></code> using the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> command.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>If you have previously used Rose, <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> functions in a
+similar way to <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">suite-run</span> <span class="pre">--install-only</span></code>.</p>
+</div>
+<p>Examples:</p>
+<ul>
+<li><p>You can install a workflow from inside the source directory:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span><span class="nb">cd</span><span class="w"> </span>~/cylc-src/my-workflow
+<span class="gp">$ </span>cylc<span class="w"> </span>install
+<span class="go">INSTALLED my-workflow/run1 from /home/me/cylc-src/my-workflow</span>
+</pre></div>
+</div>
+</li>
+<li><p>You can install a workflow by providing the workflow source name
+(if the source directory is located in any of the
+<a class="reference internal" href="../../user-guide/installing-workflows.html#configurable-source-dirs"><span class="std std-ref">Configurable Source Directories</span></a>, e.g. <code class="docutils literal notranslate"><span class="pre">~/cylc-src</span></code>):</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>install<span class="w"> </span>my-workflow
+<span class="go">INSTALLED my-workflow/run2 from /home/me/cylc-src/my-workflow</span>
+</pre></div>
+</div>
+</li>
+<li><p>You can install a workflow by providing the path to the source directory:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>install<span class="w"> </span>~/cylc-src/my-workflow
+<span class="go">INSTALLED my-workflow/run3 from /home/me/cylc-src/my-workflow</span>
+</pre></div>
+</div>
+</li>
+</ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Each time you run <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> for a particular workflow, a new copy of
+the workflow is installed to a new run directory. In the example above, we
+created three run directories inside <code class="docutils literal notranslate"><span class="pre">~/cylc-run/my-workflow</span></code>.</p>
+</div>
+<p>Once you have installed a workflow you can use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> to run it - see
+<a class="reference internal" href="../../user-guide/running-workflows/index.html#runningworkflows"><span class="std std-ref">Running Workflows</span></a>.</p>
+<p>You can delete installed workflows using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">clean</span></code> - see
+<a class="reference internal" href="../../user-guide/removing-workflows.html#removing-workflows"><span class="std std-ref">Removing Workflows</span></a>.</p>
+<p>A <code class="docutils literal notranslate"><span class="pre">.cylcignore</span></code> file can be used to control which files <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code>
+transfers to the installed workflow, see <a class="reference internal" href="../../user-guide/installing-workflows.html#file-installation"><span class="std std-ref">1. File Installation</span></a> for details.</p>
+</section>
+<section id="remote-installation">
+<span id="remote-install"></span><h2>Remote Installation<a class="headerlink" href="#remote-installation" title="Link to this heading"></a></h2>
+<p>Remote file installation does not occur until running the workflow.
+When the first task runs on a remote platform, Cylc will transfer files from
+the <a class="reference internal" href="../../glossary.html#term-run-directory"><span class="xref std std-term">run directory</span></a> to the <a class="reference internal" href="../../glossary.html#term-install-target"><span class="xref std std-term">install target</span></a>.</p>
+<p>If you have used Rose 2019, you may be used to all files and directories in
+the run directory being included.
+However, Cylc 8 will only copy the <code class="docutils literal notranslate"><span class="pre">ana</span></code>, <code class="docutils literal notranslate"><span class="pre">app</span></code>, <code class="docutils literal notranslate"><span class="pre">bin</span></code>, <code class="docutils literal notranslate"><span class="pre">etc</span></code> and
+<code class="docutils literal notranslate"><span class="pre">lib</span></code> directories by default (in addition to authentication files in
+<code class="docutils literal notranslate"><span class="pre">.service</span></code>).
+If you want to include custom files and directories in remote installation,
+use <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler]install" title="flow.cylc[scheduler]install"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]install</span></code></a>.</p>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>If you need to ensure your workflow is still
+<a class="reference internal" href="compatibility-mode.html#cylc-7-compat-mode"><span class="std std-ref">interoperable</span></a> with Cylc 7, wrap it in a
+Jinja2 check like so:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="cp">{% if CYLC_VERSION is defined and CYLC_VERSION[0] == &#39;8&#39; %}</span>
+<span class="nt">[scheduler]</span>
+    <span class="nv">install </span><span class="o">=</span><span class="s"> my-dir/, my-file</span>
+<span class="cp">{% endif %}</span>
+</pre></div>
+</div>
+</div>
+<p>See <a class="reference internal" href="../../user-guide/running-workflows/scheduler-start-up.html#remoteinit"><span class="std std-ref">the user guide</span></a> for more details.</p>
+</section>
+<section id="migrating-from-rose-suite-run">
+<h2>Migrating From <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">suite-run</span></code><a class="headerlink" href="#migrating-from-rose-suite-run" title="Link to this heading"></a></h2>
+<p>The <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">suite-run</span></code> command has been replaced by <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code>.</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># rose 2019 / Cylc 7</span>
+$<span class="w"> </span>rose<span class="w"> </span>suite-run
+
+<span class="c1"># rose 2 / Cylc 8</span>
+$<span class="w"> </span>cylc<span class="w"> </span>install
+$<span class="w"> </span>cylc<span class="w"> </span>play<span class="w"> </span>&lt;id&gt;
+</pre></div>
+</div>
+<p>Support for the <code class="docutils literal notranslate"><span class="pre">rose-suite.conf</span></code> file is provided by the <a class="reference internal" href="../../plugins/cylc-rose.html#cylc-rose"><span class="std std-ref">Cylc Rose</span></a>
+plugin which must be installed for Rose integration.</p>
+<div class="spoiler admonition">
+<p class="admonition-title">Installation</p>
+<p>See the <a class="reference internal" href="../../installation.html#installation"><span class="std std-ref">Installation</span></a> section for instructions.</p>
+<p>If Cylc Rose is installed it should appear in the list of installed
+Cylc plugins:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>version<span class="w"> </span>--long
+<span class="go">8.0 (/path/to/cylc-8)</span>
+
+<span class="go">Plugins:</span>
+<span class="go">    cylc-rose       0.1.1   /path/to/cylc-rose</span>
+</pre></div>
+</div>
+</div>
+<section id="notable-differences-to-rose-suite-run">
+<h3>Notable differences to <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">suite-run</span></code><a class="headerlink" href="#notable-differences-to-rose-suite-run" title="Link to this heading"></a></h3>
+<dl>
+<dt>Command line options:</dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> command remembers any options specified on the command
+line including Rose optional configurations and template variables and
+automatically applies them with future re-installations.</p>
+</dd>
+<dt>Rose Stem:</dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">stem</span></code> command is provided by Cylc Rose. Like <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">suite-run</span></code>,
+<code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">stem</span></code> used to install and run workflows. It now only
+installs the workflow which can then be run with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code>.</p>
+<p>See the <a class="reference external" href="https://metomi.github.io/rose/2.1.0/html/tutorial/rose/furthertopics/rose-stem.html#rose-stem" title="(in Rose Documentation v2.1.0)"><span>Rose Stem</span></a> documentation for more information.</p>
+</dd>
+<dt>Roses directory:</dt><dd><p>By default <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> looks for workflows in <code class="docutils literal notranslate"><span class="pre">~/cylc-src</span></code>, you
+you may want to add <code class="docutils literal notranslate"><span class="pre">~/roses</span></code> to the list of
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[install]source dirs" title="global.cylc[install]source dirs"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[install]source</span> <span class="pre">dirs</span></code></a>.</p>
+</dd>
+<dt>Remote Installation:</dt><dd><p>With Rose 2019 / <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">suite-run</span></code>, files were installed on remote platforms
+before the <em>workflow</em> started running.</p>
+<p>With Rose 2 / <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code>, files are installed on remote platforms just
+before the <em>first task</em> runs on that platform.</p>
+<p>Rose used to install the entire workflow <a class="reference internal" href="../../glossary.html#term-run-directory"><span class="xref std std-term">run directory</span></a> to remote
+platforms. It now only installs configured directories for efficiency.
+See <a class="reference internal" href="#remote-installation">Remote Installation</a> above for details.</p>
+</dd>
+</dl>
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="continuing-c7-c8.html" class="btn btn-neutral float-left" title="Continuing a Cylc 7 Workflow with Cylc 8" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="excluding-tasks.html" class="btn btn-neutral float-right" title="Excluding Tasks at Start-up is Not Supported" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/major-changes/cylc-install";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/major-changes/excluding-tasks.html b/nightly_8.3/html/7-to-8/major-changes/excluding-tasks.html
new file mode 100644
index 00000000000..dc760a2001e
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/major-changes/excluding-tasks.html
@@ -0,0 +1,218 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Excluding Tasks at Start-up is Not Supported &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Parameters" href="parameters.html" />
+    <link rel="prev" title="Cylc Install" href="cylc-install.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Detailed Description of Major Changes</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
+<li class="toctree-l3"><a class="reference internal" href="compatibility-mode.html">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="config-changes.html">Configuration Changes at Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="continuing-c7-c8.html">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="cylc-install.html">Cylc Install</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Excluding Tasks at Start-up is Not Supported</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#overview">Overview</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="parameters.html">Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="platforms.html">Platforms</a></li>
+<li class="toctree-l3"><a class="reference internal" href="play-pause-stop.html">Play Pause Stop</a></li>
+<li class="toctree-l3"><a class="reference internal" href="python-2-3.html">Python 2 =&gt; 3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="remote-owner.html">Remote Usernames</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Graph branching, optional outputs and suicide triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task/Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="template-vars.html">Template Variables</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui.html">Cylc 8 UIs</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Cylc 8 Migration Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Detailed Description of Major Changes</a></li>
+      <li class="breadcrumb-item active">Excluding Tasks at Start-up is Not Supported</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/7-to-8/major-changes/excluding-tasks.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="excluding-tasks-at-start-up-is-not-supported">
+<span id="majorchangesexcludingtasksatstartup"></span><h1>Excluding Tasks at Start-up is Not Supported<a class="headerlink" href="#excluding-tasks-at-start-up-is-not-supported" title="Link to this heading"></a></h1>
+<div class="tip admonition">
+<p class="admonition-title">Does This Change Affect Me?</p>
+<p>This will affect you if your workflows use the following configurations:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">[scheduling][special</span> <span class="pre">tasks]include</span> <span class="pre">at</span> <span class="pre">start-up</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[scheduling][special</span> <span class="pre">tasks]exclude</span> <span class="pre">at</span> <span class="pre">start-up</span></code></p></li>
+</ul>
+</div>
+<section id="overview">
+<h2>Overview<a class="headerlink" href="#overview" title="Link to this heading"></a></h2>
+<p>The Cylc 7 scheduler allowed you to exclude tasks from the scheduler at start-up:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># Cylc 7 only</span>
+<span class="nt">[scheduling]</span>
+   <span class="nt">[[special tasks]]</span>
+        <span class="nv">include at start-up </span><span class="o">=</span><span class="s"> foo, bar, baz</span>  <span class="c1"># Cylc 8 ERROR!</span>
+        <span class="nv">exclude at start-up </span><span class="o">=</span><span class="s"> bar</span>  <span class="c1"># Cylc 8 ERROR!</span>
+</pre></div>
+</div>
+<p>The first config item above excludes all task names not in the include-list;
+the second excludes specific tasks that would otherwise be included.</p>
+<p>The Cylc 7 scheduler started up with an instance of every task in its “task
+pool”, and the workflow evolved by each task spawning its own next-cycle
+instance at the right time. So, if you excluded a task a start-up it would not
+run in the workflow at all unless manually inserted later at runtime.</p>
+<p>The Cylc 8 scheduler starts up with only the initial tasks in the graph and the
+workflow evolves by spawning new tasks on demand as dictated by the graph.
+Consequently excluding a task at start up as described above would have no
+effect at all on most tasks.</p>
+<p>This feature also predated the current Cylc dependency graph configuration. To
+exclude tasks now without entirely removing them from the workflow definition,
+just comment them out of the graph.</p>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="cylc-install.html" class="btn btn-neutral float-left" title="Cylc Install" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="parameters.html" class="btn btn-neutral float-right" title="Parameters" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/major-changes/excluding-tasks";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/major-changes/index.html b/nightly_8.3/html/7-to-8/major-changes/index.html
new file mode 100644
index 00000000000..605c7149a42
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/major-changes/index.html
@@ -0,0 +1,204 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Detailed Description of Major Changes &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Command Line Interface" href="cli.html" />
+    <link rel="prev" title="Cheat Sheet" href="../cheat-sheet.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Detailed Description of Major Changes</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
+<li class="toctree-l3"><a class="reference internal" href="compatibility-mode.html">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="config-changes.html">Configuration Changes at Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="continuing-c7-c8.html">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="cylc-install.html">Cylc Install</a></li>
+<li class="toctree-l3"><a class="reference internal" href="excluding-tasks.html">Excluding Tasks at Start-up is Not Supported</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameters.html">Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="platforms.html">Platforms</a></li>
+<li class="toctree-l3"><a class="reference internal" href="play-pause-stop.html">Play Pause Stop</a></li>
+<li class="toctree-l3"><a class="reference internal" href="python-2-3.html">Python 2 =&gt; 3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="remote-owner.html">Remote Usernames</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Graph branching, optional outputs and suicide triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task/Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="template-vars.html">Template Variables</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui.html">Cylc 8 UIs</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Cylc 8 Migration Guide</a></li>
+      <li class="breadcrumb-item active">Detailed Description of Major Changes</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/7-to-8/major-changes/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="detailed-description-of-major-changes">
+<h1>Detailed Description of Major Changes<a class="headerlink" href="#detailed-description-of-major-changes" title="Link to this heading"></a></h1>
+<p>This section goes into detail on some of the major changes that you may need to
+understand to migrate from Cylc 7 to Cylc 8.</p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
+<li class="toctree-l1"><a class="reference internal" href="compatibility-mode.html">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l1"><a class="reference internal" href="config-changes.html">Configuration Changes at Cylc 8</a></li>
+<li class="toctree-l1"><a class="reference internal" href="continuing-c7-c8.html">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cylc-install.html">Cylc Install</a></li>
+<li class="toctree-l1"><a class="reference internal" href="excluding-tasks.html">Excluding Tasks at Start-up is Not Supported</a></li>
+<li class="toctree-l1"><a class="reference internal" href="parameters.html">Parameters</a></li>
+<li class="toctree-l1"><a class="reference internal" href="platforms.html">Platforms</a></li>
+<li class="toctree-l1"><a class="reference internal" href="play-pause-stop.html">Play Pause Stop</a></li>
+<li class="toctree-l1"><a class="reference internal" href="python-2-3.html">Python 2 =&gt; 3</a></li>
+<li class="toctree-l1"><a class="reference internal" href="remote-owner.html">Remote Usernames</a></li>
+<li class="toctree-l1"><a class="reference internal" href="scheduling.html">Scheduling Algorithm</a></li>
+<li class="toctree-l1"><a class="reference internal" href="suicide-triggers.html">Graph branching, optional outputs and suicide triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="task-job-states.html">Task/Job States</a></li>
+<li class="toctree-l1"><a class="reference internal" href="template-vars.html">Template Variables</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ui.html">Cylc 8 UIs</a></li>
+</ul>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../cheat-sheet.html" class="btn btn-neutral float-left" title="Cheat Sheet" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="cli.html" class="btn btn-neutral float-right" title="Command Line Interface" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/major-changes/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/major-changes/parameters.html b/nightly_8.3/html/7-to-8/major-changes/parameters.html
new file mode 100644
index 00000000000..e81d9eb8fdb
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/major-changes/parameters.html
@@ -0,0 +1,269 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Parameters &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Platforms" href="platforms.html" />
+    <link rel="prev" title="Excluding Tasks at Start-up is Not Supported" href="excluding-tasks.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Detailed Description of Major Changes</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
+<li class="toctree-l3"><a class="reference internal" href="compatibility-mode.html">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="config-changes.html">Configuration Changes at Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="continuing-c7-c8.html">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="cylc-install.html">Cylc Install</a></li>
+<li class="toctree-l3"><a class="reference internal" href="excluding-tasks.html">Excluding Tasks at Start-up is Not Supported</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Parameters</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#overview">Overview</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#migration">Migration</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#line-breaks">Line Breaks</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="platforms.html">Platforms</a></li>
+<li class="toctree-l3"><a class="reference internal" href="play-pause-stop.html">Play Pause Stop</a></li>
+<li class="toctree-l3"><a class="reference internal" href="python-2-3.html">Python 2 =&gt; 3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="remote-owner.html">Remote Usernames</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Graph branching, optional outputs and suicide triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task/Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="template-vars.html">Template Variables</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui.html">Cylc 8 UIs</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Cylc 8 Migration Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Detailed Description of Major Changes</a></li>
+      <li class="breadcrumb-item active">Parameters</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/7-to-8/major-changes/parameters.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="parameters">
+<h1>Parameters<a class="headerlink" href="#parameters" title="Link to this heading"></a></h1>
+<div class="tip admonition">
+<p class="admonition-title">does this change affect me?</p>
+<p>If you use Cylc parameters with negative offsets (e.g. <code class="docutils literal notranslate"><span class="pre">foo&lt;x-1&gt;</span></code>).</p>
+</div>
+<section id="overview">
+<h2>Overview<a class="headerlink" href="#overview" title="Link to this heading"></a></h2>
+<p>There has been a subtle change in the way negative offsets are handled in parameters.</p>
+</section>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<p>If you have a parameter <code class="docutils literal notranslate"><span class="pre">x</span></code> with the values 1, 2 &amp; 3:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+   <span class="nv">x </span><span class="o">=</span><span class="s"> 1..3</span>
+</pre></div>
+</div>
+<p>And use it like so:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">a</span>&lt;<span class="nb">x-1</span>&gt; <span class="o">=&gt;</span> <span class="kd">b</span>&lt;<span class="nb">x</span>&gt; <span class="o">=&gt;</span> <span class="kd">c</span>&lt;<span class="nb">x</span>&gt;
+</pre></div>
+</div>
+<p>There is some ambiguity about how this should be interpreted when <code class="docutils literal notranslate"><span class="pre">x=1</span></code>
+because <code class="docutils literal notranslate"><span class="pre">&lt;x-1&gt;</span></code> would be <code class="docutils literal notranslate"><span class="pre">0</span></code> which is not a valid value for the parameter
+<code class="docutils literal notranslate"><span class="pre">x</span></code>.</p>
+<p>Cylc 7 removed the part of the expression which was out of range resulting in a
+partial evaluation of that line:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span>        <span class="kd">b_x1</span> <span class="o">=&gt;</span> <span class="kd">c_x1</span>  <span class="c1"># x=1</span>
+<span class="kd">a_x1</span> <span class="o">=&gt;</span> <span class="kd">b_x2</span> <span class="o">=&gt;</span> <span class="kd">c_x2</span>  <span class="c1"># x=2</span>
+<span class="kd">a_x2</span> <span class="o">=&gt;</span> <span class="kd">b_x3</span> <span class="o">=&gt;</span> <span class="kd">c_x3</span>  <span class="c1"># x=3</span>
+</pre></div>
+</div>
+<p>Whereas Cylc 8 will remove everything after the first out-of-range parameter - <code class="docutils literal notranslate"><span class="pre">&lt;x-1&gt;</span></code> (so the entire line for this example):</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">a_x1</span> <span class="o">=&gt;</span> <span class="kd">b_x2</span> <span class="o">=&gt;</span> <span class="kd">c_x2</span>  <span class="c1"># x=2</span>
+<span class="kd">a_x2</span> <span class="o">=&gt;</span> <span class="kd">b_x2</span> <span class="o">=&gt;</span> <span class="kd">c_x2</span>  <span class="c1"># x=3</span>
+</pre></div>
+</div>
+</section>
+<section id="migration">
+<h2>Migration<a class="headerlink" href="#migration" title="Link to this heading"></a></h2>
+<p>If your workflow depends on the Cylc 7 behaviour, then the solution is
+to break the expression into two parts which Cylc will then evaluate separately.</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="gd">- a&lt;x-1&gt; =&gt; b&lt;x&gt; =&gt; c&lt;x&gt;</span>
+<span class="gi">+ a&lt;x-1&gt; =&gt; b&lt;x&gt;</span>
+<span class="gi">+ b&lt;x&gt; =&gt; c&lt;x&gt;</span>
+</pre></div>
+</div>
+<p>Resulting in:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="c1"># a&lt;x-1&gt; =&gt; b&lt;x&gt;</span>
+<span class="kd">a_x1</span> <span class="o">=&gt;</span> <span class="kd">a_x2</span>  <span class="c1"># x=2</span>
+<span class="kd">a_x2</span> <span class="o">=&gt;</span> <span class="kd">a_x3</span>  <span class="c1"># x=3</span>
+
+<span class="c1"># b&lt;x&gt; =&gt; c&lt;x&gt;</span>
+<span class="kd">b_x1</span> <span class="o">=&gt;</span> <span class="kd">c_x1</span>  <span class="c1"># x=1</span>
+<span class="kd">b_x2</span> <span class="o">=&gt;</span> <span class="kd">c_x2</span>  <span class="c1"># x=2</span>
+<span class="kd">b_x3</span> <span class="o">=&gt;</span> <span class="kd">c_x3</span>  <span class="c1"># x=3</span>
+</pre></div>
+</div>
+</section>
+<section id="line-breaks">
+<h2>Line Breaks<a class="headerlink" href="#line-breaks" title="Link to this heading"></a></h2>
+<p>Note that these expressions are all equivalent:</p>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">a</span><span class="o">&lt;</span><span class="n">x</span><span class="o">-</span><span class="mi">1</span><span class="o">&gt;</span> <span class="o">=&gt;</span> <span class="n">b</span><span class="o">&lt;</span><span class="n">x</span><span class="o">&gt;</span> <span class="o">=&gt;</span> <span class="n">c</span><span class="o">&lt;</span><span class="n">x</span><span class="o">&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">a</span><span class="o">&lt;</span><span class="n">x</span><span class="o">-</span><span class="mi">1</span><span class="o">&gt;</span> <span class="o">=&gt;</span>
+<span class="n">b</span><span class="o">&lt;</span><span class="n">x</span><span class="o">&gt;</span> <span class="o">=&gt;</span>
+<span class="n">c</span><span class="o">&lt;</span><span class="n">x</span><span class="o">&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">a</span><span class="o">&lt;</span><span class="n">x</span><span class="o">-</span><span class="mi">1</span><span class="o">&gt;</span> <span class="o">=&gt;</span> <span class="n">b</span><span class="o">&lt;</span><span class="n">x</span><span class="o">&gt;</span> <span class="o">=&gt;</span> \
+<span class="n">c</span><span class="o">&lt;</span><span class="n">x</span><span class="o">&gt;</span>
+</pre></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="excluding-tasks.html" class="btn btn-neutral float-left" title="Excluding Tasks at Start-up is Not Supported" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="platforms.html" class="btn btn-neutral float-right" title="Platforms" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/major-changes/parameters";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/major-changes/platforms.html b/nightly_8.3/html/7-to-8/major-changes/platforms.html
new file mode 100644
index 00000000000..038d7346046
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/major-changes/platforms.html
@@ -0,0 +1,415 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Platforms &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Play Pause Stop" href="play-pause-stop.html" />
+    <link rel="prev" title="Parameters" href="parameters.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Detailed Description of Major Changes</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
+<li class="toctree-l3"><a class="reference internal" href="compatibility-mode.html">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="config-changes.html">Configuration Changes at Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="continuing-c7-c8.html">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="cylc-install.html">Cylc Install</a></li>
+<li class="toctree-l3"><a class="reference internal" href="excluding-tasks.html">Excluding Tasks at Start-up is Not Supported</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameters.html">Parameters</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Platforms</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#overview">Overview</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#what-is-a-platform">What is a Platform?</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#examples">Examples</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#how-cylc-8-handles-host-to-platform-upgrades">How Cylc 8 handles host-to-platform upgrades</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="play-pause-stop.html">Play Pause Stop</a></li>
+<li class="toctree-l3"><a class="reference internal" href="python-2-3.html">Python 2 =&gt; 3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="remote-owner.html">Remote Usernames</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Graph branching, optional outputs and suicide triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task/Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="template-vars.html">Template Variables</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui.html">Cylc 8 UIs</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Cylc 8 Migration Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Detailed Description of Major Changes</a></li>
+      <li class="breadcrumb-item active">Platforms</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/7-to-8/major-changes/platforms.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="platforms">
+<span id="majorchangesplatforms"></span><h1>Platforms<a class="headerlink" href="#platforms" title="Link to this heading"></a></h1>
+<div class="tip admonition">
+<p class="admonition-title">Does This Change Affect Me?</p>
+<p>Cylc platforms are a new feature which replace the task <code class="docutils literal notranslate"><span class="pre">job</span></code> and
+<code class="docutils literal notranslate"><span class="pre">remote</span></code> configuration sections:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][job]" title="flow.cylc[runtime][&lt;namespace&gt;][job]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][job]</span></code></a></p></li>
+<li><p><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][remote]" title="flow.cylc[runtime][&lt;namespace&gt;][remote]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][remote]</span></code></a></p></li>
+</ul>
+</div>
+<section id="overview">
+<h2>Overview<a class="headerlink" href="#overview" title="Link to this heading"></a></h2>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<ul class="simple">
+<li><p>The terms <a class="reference internal" href="../../glossary.html#term-platform"><span class="xref std std-term">platform</span></a> and job platform are equivalent.</p></li>
+<li><p>The terms <a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job runner</span></a> (in Cylc 8 configurations) and batch system
+(in Cylc 7 configurations) are equivalent.</p></li>
+</ul>
+</div>
+<p>Submitting a job to a <a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job runner</span></a> may require configuration.</p>
+<p>In Cylc 7 this configuration must be provided for each task in the workflow
+configuration (<code class="docutils literal notranslate"><span class="pre">suite.rc</span></code>).</p>
+<p>In Cylc 8 “platforms” can be defined in the global configuration
+(<a class="reference internal" href="../../reference/config/global.html#global.cylc" title="global.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc</span></code></a>) so that this configuration doesn’t have to be
+repeated for each task in each workflow.</p>
+<p>There may be cases where sets of platforms (for example a group of
+standalone compute servers, or a pair of mirrored HPC’s) might be equally
+suitable for a task. Such platforms can be set up to be <code class="docutils literal notranslate"><span class="pre">platform</span> <span class="pre">groups</span></code></p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../reference/config/writing-platform-configs.html#listingavailableplatforms"><span class="std std-ref">Listing available platforms</span></a> for details of how to list platforms
+already defined.</p>
+<p><a class="reference internal" href="../../reference/config/writing-platform-configs.html#adminguide-platformconfigs"><span class="std std-ref">Platform Configuration</span></a> for detailed examples of platform
+configurations.</p>
+</div>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>Cylc 8 contains upgrade logic (<a class="reference internal" href="#host-to-platform-logic"><span class="std std-ref">see below</span></a>)
+which handles the deprecated Cylc 7 settings in most cases.
+Unless you are in <a class="reference internal" href="compatibility-mode.html#cylc-7-compat-mode"><span class="std std-ref">backward compatibility mode</span></a>,
+you should upgrade to using platforms instead.
+Deprecated settings will be removed in a later release of Cylc.</p>
+</div>
+</section>
+<section id="what-is-a-platform">
+<h2>What is a Platform?<a class="headerlink" href="#what-is-a-platform" title="Link to this heading"></a></h2>
+<p>A “platform” represents one or more hosts from which jobs can be submitted to or
+polled from a common job submission system.</p>
+<p>If a platform has multiple hosts Cylc will automatically select a host when
+needed and will fallback to other hosts if it is not contactable.</p>
+<p>A “platform group” represents a collection of independent platforms. Cylc will
+automatically select a platform and will fallback to other platforms in the
+group (for appropriate operations) if the platform is not contactable.</p>
+</section>
+<section id="examples">
+<h2>Examples<a class="headerlink" href="#examples" title="Link to this heading"></a></h2>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../reference/config/global.html#global.cylc[platforms]" title="global.cylc[platforms]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms]</span></code></a> has a detailed explanation of how
+platforms and platform groups are defined.</p>
+</div>
+<section id="simple-example">
+<h3>Simple example<a class="headerlink" href="#simple-example" title="Link to this heading"></a></h3>
+<p>Consider this Cylc 7 syntax in a <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> file:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[mytask]]</span>
+        <span class="nt">[[[job]]]</span>
+            <span class="nv">batch system </span><span class="o">=</span><span class="s"> slurm</span>
+        <span class="nt">[[[remote]]]</span>
+            <span class="nv">host </span><span class="o">=</span><span class="s"> login_node01</span>
+</pre></div>
+</div>
+<p>The Cylc 8 global config (<code class="docutils literal notranslate"><span class="pre">global.cylc</span></code>) might contain:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[our_cluster]]</span>
+        <span class="nv">hosts </span><span class="o">=</span><span class="s"> login_node01, login_node02</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> slurm</span>
+</pre></div>
+</div>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>You can view the platforms available at your site by running:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">config</span> <span class="o">--</span><span class="n">platforms</span>
+</pre></div>
+</div>
+</div>
+<p>The platform <code class="docutils literal notranslate"><span class="pre">our_cluster</span></code> matches the current configuration due to having
+the same job runner (batch system) and correct hosts. Thus we can replace the
+deprecated syntax:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="w"> </span>[runtime]
+<span class="w"> </span>    [[mytask]]
+<span class="gd">-        [[[job]]]</span>
+<span class="gd">-            batch system = slurm</span>
+<span class="gd">-        [[[remote]]]</span>
+<span class="gd">-            host = login_node01</span>
+<span class="gi">+        platform = our_cluster</span>
+</pre></div>
+</div>
+</section>
+<section id="a-variety-of-other-examples">
+<h3>A variety of other examples<a class="headerlink" href="#a-variety-of-other-examples" title="Link to this heading"></a></h3>
+<p>Here are some example Cylc 7 task definitions:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+   <span class="nt">[[mytask_cylc_server]]</span>
+
+   <span class="nt">[[mytask_big_server]]</span>
+      <span class="nt">[[[remote]]]</span>
+         <span class="nv">host </span><span class="o">=</span><span class="s"> linuxbox42</span>
+
+   <span class="nt">[[mytask_submit_local_to_remote_computer]]</span>
+      <span class="nt">[[[job]]]</span>
+         <span class="nv">batch system </span><span class="o">=</span><span class="s"> pbs</span>
+
+   <span class="nt">[[mytask_login_to_hpc_and_submit]]</span>
+      <span class="nt">[[[remote]]]</span>
+         <span class="c1"># e.g. rose host-select</span>
+         <span class="nv">host </span><span class="o">=</span><span class="s"> $(supercomputer_login_node_selector_script)</span>
+      <span class="nt">[[[job]]]</span>
+         <span class="nv">batch system </span><span class="o">=</span><span class="s"> slurm</span>
+</pre></div>
+</div>
+<p>This will result in Cylc running:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">mytask_cylc_server</span></code> on the machine the workflow is running on.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">mytask_big_server</span></code> on <code class="docutils literal notranslate"><span class="pre">linuxbox42</span></code>, using background.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">mytask_submit_local_to_remote_computer</span></code> on a system where you can
+use PBS to submit from the workflow server.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">mytask_login_to_hpc_and_submit</span></code> on a host set by the subshelled
+script using Slurm.</p></li>
+</ul>
+<p>At Cylc 8 the equivalent might be:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[mytask_cylc_server]]</span>
+
+    <span class="nt">[[mytask_big_server]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> linuxbox42</span>
+
+    <span class="nt">[[mytask_submit_local_to_remote_computer]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> pbs_local</span>
+
+    <span class="nt">[[mytask_login_to_hpc_and_submit]]</span>
+        <span class="c1"># Recommended:</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> slurm_supercomputer</span>
+        <span class="c1"># ...but This is still legal:</span>
+        <span class="c1">#platform = $(selector-script)</span>
+</pre></div>
+</div>
+<p>And the platform settings for these examples might be:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[linuxbox\d\d]]</span>  <span class="c1"># Regex to allow any linuxboxNN to use this definition</span>
+        <span class="c1"># Without a hosts, platform name is used as a single host.</span>
+
+    <span class="nt">[[pbs_local]]</span>
+        <span class="c1"># A computer with PBS, that takes local job submissions</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> pbs</span>
+        <span class="nv">hosts </span><span class="o">=</span><span class="s"> localhost</span>
+        <span class="nv">install target </span><span class="o">=</span><span class="s"> localhost</span>
+
+    <span class="nt">[[slurm_supercomputer]]</span>
+        <span class="c1"># This computer with Slurm requires you to use a login node.</span>
+        <span class="nv">hosts </span><span class="o">=</span><span class="s"> login_node01, login_node02</span>  <span class="c1"># Cylc will pick a host.</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> slurm</span>
+</pre></div>
+</div>
+<p>Note that in these examples, it is assumed that <code class="docutils literal notranslate"><span class="pre">linuxboxNN</span></code>, <code class="docutils literal notranslate"><span class="pre">pbs_local</span></code> and
+<code class="docutils literal notranslate"><span class="pre">slurm_supercomputer</span></code> have distinct file systems.
+Sets of platforms which share a file system must specify
+a single <a class="reference internal" href="../../reference/config/writing-platform-configs.html#install-targets"><span class="std std-ref">install target</span></a>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>If an install target is not set, a platform will use its own platform name
+as the install target name. If multiple platforms share a file system
+but have separate <a class="reference internal" href="../../reference/config/writing-platform-configs.html#install-targets"><span class="std std-ref">install targets</span></a> task initialization
+will fail.</p>
+</div>
+</section>
+</section>
+<section id="how-cylc-8-handles-host-to-platform-upgrades">
+<span id="host-to-platform-logic"></span><h2>How Cylc 8 handles host-to-platform upgrades<a class="headerlink" href="#how-cylc-8-handles-host-to-platform-upgrades" title="Link to this heading"></a></h2>
+<p>If you are using the deprecated <code class="docutils literal notranslate"><span class="pre">[remote]</span></code> and <code class="docutils literal notranslate"><span class="pre">[job]</span></code> runtime sections,
+Cylc 8 will attempt to find a platform which matches the task specification.</p>
+<div class="admonition important">
+<p class="admonition-title">Important</p>
+<p>Cylc 8 needs platforms matching the Cylc 7 job configuration to be
+available in <a class="reference internal" href="../../reference/config/global.html#global.cylc[platforms]" title="global.cylc[platforms]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms]</span></code></a>.</p>
+</div>
+<section id="example">
+<h3>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h3>
+<p>If, for example you have a <strong>Cylc 8</strong> <code class="docutils literal notranslate"><span class="pre">global.cylc</span></code> with the following
+platforms section:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[supercomputer_A]]</span>
+        <span class="nv">hosts </span><span class="o">=</span><span class="s"> localhost</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> slurm</span>
+        <span class="nv">install target </span><span class="o">=</span><span class="s"> localhost</span>
+    <span class="nt">[[supercomputer_B]]</span>
+        <span class="nv">hosts </span><span class="o">=</span><span class="s"> tigger, wol, eeyore</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> pbs</span>
+</pre></div>
+</div>
+<p>And you have a workflow runtime configuration:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[task1]]</span>
+        <span class="nt">[[[job]]]</span>
+            <span class="nv">batch system </span><span class="o">=</span><span class="s"> slurm</span>
+    <span class="nt">[[task2]]</span>
+        <span class="nt">[[[remote]]]</span>
+            <span class="nv">host </span><span class="o">=</span><span class="s"> eeyore</span>
+        <span class="nt">[[[job]]]</span>
+            <span class="nv">batch system </span><span class="o">=</span><span class="s"> pbs</span>
+</pre></div>
+</div>
+<p>Then, <code class="docutils literal notranslate"><span class="pre">task1</span></code> will be assigned platform
+<code class="docutils literal notranslate"><span class="pre">supercomputer_A</span></code> because the specified host (implicitly <code class="docutils literal notranslate"><span class="pre">localhost</span></code>)
+is in the list of hosts for <code class="docutils literal notranslate"><span class="pre">supercomputer_A</span></code> <strong>and</strong> the batch system is the same.
+Likewise, <code class="docutils literal notranslate"><span class="pre">task2</span></code> will run on <code class="docutils literal notranslate"><span class="pre">supercomputer_B</span></code>.</p>
+<div class="admonition important">
+<p class="admonition-title">Important</p>
+<p>For simplicity, and because the <code class="docutils literal notranslate"><span class="pre">host</span></code> key is a special case (it can
+match and host in <code class="docutils literal notranslate"><span class="pre">[platform]hosts</span></code>) we only show these two config keys
+here. In reality, <strong>Cylc 8 compares the whole of</strong>
+<code class="docutils literal notranslate"><span class="pre">[&lt;task&gt;][job]</span></code> <strong>and</strong> <code class="docutils literal notranslate"><span class="pre">[&lt;task&gt;][remote]</span></code>
+<strong>sections and all items must match to select a platform.</strong></p>
+</div>
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="parameters.html" class="btn btn-neutral float-left" title="Parameters" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="play-pause-stop.html" class="btn btn-neutral float-right" title="Play Pause Stop" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/major-changes/platforms";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/major-changes/play-pause-stop.html b/nightly_8.3/html/7-to-8/major-changes/play-pause-stop.html
new file mode 100644
index 00000000000..55458196e0d
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/major-changes/play-pause-stop.html
@@ -0,0 +1,309 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Play Pause Stop &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Python 2 =&gt; 3" href="python-2-3.html" />
+    <link rel="prev" title="Platforms" href="platforms.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Detailed Description of Major Changes</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
+<li class="toctree-l3"><a class="reference internal" href="compatibility-mode.html">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="config-changes.html">Configuration Changes at Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="continuing-c7-c8.html">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="cylc-install.html">Cylc Install</a></li>
+<li class="toctree-l3"><a class="reference internal" href="excluding-tasks.html">Excluding Tasks at Start-up is Not Supported</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameters.html">Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="platforms.html">Platforms</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Play Pause Stop</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#overview">Overview</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#re-running-workflows">Re-Running Workflows</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#hold-release">Hold &amp; Release</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#mapping-to-old-commands">Mapping To Old Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="python-2-3.html">Python 2 =&gt; 3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="remote-owner.html">Remote Usernames</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Graph branching, optional outputs and suicide triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task/Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="template-vars.html">Template Variables</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui.html">Cylc 8 UIs</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Cylc 8 Migration Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Detailed Description of Major Changes</a></li>
+      <li class="breadcrumb-item active">Play Pause Stop</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/7-to-8/major-changes/play-pause-stop.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="play-pause-stop">
+<span id="id1"></span><h1>Play Pause Stop<a class="headerlink" href="#play-pause-stop" title="Link to this heading"></a></h1>
+<div class="tip admonition">
+<p class="admonition-title">Does This Change Affect Me?</p>
+<p>Yes if you run Cylc workflows.</p>
+</div>
+<section id="overview">
+<h2>Overview<a class="headerlink" href="#overview" title="Link to this heading"></a></h2>
+<p>Cylc 8 uses a simplified model for controlling workflows based on the controls
+of a tape player.</p>
+<p>There are now three controls, play, pause and stop:</p>
+<ul class="simple">
+<li><p>When a workflow is playing, the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> is running.</p></li>
+<li><p>When a workflow is paused, no new jobs will be submitted.</p></li>
+<li><p>When a workflow is stopped the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> is no longer running.</p></li>
+</ul>
+<p>These controls are available in the web GUI or on the command line with the
+commands:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">pause</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">stop</span></code></p></li>
+</ul>
+<p>A workflow can be safely played, paused and stopped any number of times without
+interrupting the workflow.</p>
+</section>
+<section id="re-running-workflows">
+<h2>Re-Running Workflows<a class="headerlink" href="#re-running-workflows" title="Link to this heading"></a></h2>
+<p>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> command will always pick up where it left off (a
+<a class="reference internal" href="../../glossary.html#term-restart"><span class="xref std std-term">restart</span></a>).</p>
+<p>If you want to re-run the entire workflow again from the start either:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../user-guide/installing-workflows.html#using-cylc-install"><span class="std std-ref">Install a new run</span></a>.</p></li>
+<li><p>Or if you want to keep the data from the old run start a new <a class="reference internal" href="../../glossary.html#term-flow"><span class="xref std std-term">flow</span></a> at
+the beginning of the graph, and stop the original flow.</p></li>
+</ul>
+<p>It is still possible to re-run workflows in-place in the Cylc 7 manner, however,
+this is discouraged.
+To do this remove the workflow database as well as any other evidence of the
+previous run that is no longer desired:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># remove the workflow database, the work, share and log directories</span>
+cylc<span class="w"> </span>clean<span class="w"> </span>&lt;id&gt;<span class="w"> </span>--rm<span class="w"> </span>.service/db:work:share:log
+
+<span class="c1"># only remove the worflow database</span>
+$<span class="w"> </span>cylc<span class="w"> </span>clean<span class="w"> </span>&lt;id&gt;<span class="w"> </span>--rm<span class="w"> </span>.service/db
+</pre></div>
+</div>
+<p>Then restart with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code>.</p>
+</section>
+<section id="hold-release">
+<h2>Hold &amp; Release<a class="headerlink" href="#hold-release" title="Link to this heading"></a></h2>
+<p>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">hold</span></code> and <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">release</span></code> commands are still present. These
+work on individual tasks rather than the workflow as a whole.</p>
+</section>
+<section id="mapping-to-old-commands">
+<h2>Mapping To Old Commands<a class="headerlink" href="#mapping-to-old-commands" title="Link to this heading"></a></h2>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td></td>
+<td><p><strong>Cylc 7</strong></p></td>
+<td><p><strong>Rose 2019</strong></p></td>
+<td><p><strong>Cylc 8</strong> (Rose 2)</p></td>
+</tr>
+<tr class="row-even"><td><p>Play</p></td>
+<td><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">run</span> <span class="o">&lt;</span><span class="nb">id</span><span class="o">&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">rose</span> <span class="n">suite</span><span class="o">-</span><span class="n">run</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">play</span> <span class="o">&lt;</span><span class="nb">id</span><span class="o">&gt;</span>
+</pre></div>
+</div>
+</td>
+</tr>
+<tr class="row-odd"><td><p>Pause</p></td>
+<td><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">hold</span> <span class="o">&lt;</span><span class="nb">id</span><span class="o">&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">hold</span> <span class="o">&lt;</span><span class="nb">id</span><span class="o">&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">pause</span> <span class="o">&lt;</span><span class="nb">id</span><span class="o">&gt;</span>
+</pre></div>
+</div>
+</td>
+</tr>
+<tr class="row-even"><td><p>Resume</p></td>
+<td><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">release</span> <span class="o">&lt;</span><span class="nb">id</span><span class="o">&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">release</span> <span class="o">&lt;</span><span class="nb">id</span><span class="o">&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">play</span> <span class="o">&lt;</span><span class="nb">id</span><span class="o">&gt;</span>
+</pre></div>
+</div>
+</td>
+</tr>
+<tr class="row-odd"><td><p>Stop</p></td>
+<td><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">stop</span> <span class="o">&lt;</span><span class="nb">id</span><span class="o">&gt;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">rose</span> <span class="n">suite</span><span class="o">-</span><span class="n">shutdown</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">stop</span> <span class="o">&lt;</span><span class="nb">id</span><span class="o">&gt;</span>
+</pre></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="platforms.html" class="btn btn-neutral float-left" title="Platforms" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="python-2-3.html" class="btn btn-neutral float-right" title="Python 2 =&gt; 3" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/major-changes/play-pause-stop";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/major-changes/python-2-3.html b/nightly_8.3/html/7-to-8/major-changes/python-2-3.html
new file mode 100644
index 00000000000..5a056963ce1
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/major-changes/python-2-3.html
@@ -0,0 +1,300 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Python 2 =&gt; 3 &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Remote Usernames" href="remote-owner.html" />
+    <link rel="prev" title="Play Pause Stop" href="play-pause-stop.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Detailed Description of Major Changes</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
+<li class="toctree-l3"><a class="reference internal" href="compatibility-mode.html">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="config-changes.html">Configuration Changes at Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="continuing-c7-c8.html">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="cylc-install.html">Cylc Install</a></li>
+<li class="toctree-l3"><a class="reference internal" href="excluding-tasks.html">Excluding Tasks at Start-up is Not Supported</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameters.html">Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="platforms.html">Platforms</a></li>
+<li class="toctree-l3"><a class="reference internal" href="play-pause-stop.html">Play Pause Stop</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Python 2 =&gt; 3</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#overview">Overview</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#impacted-scripts">Impacted Scripts</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#package-name-changes">Package Name Changes</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#jinja2-integers-with-leading-zeros">Jinja2 - integers with leading zeros</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#rose">Rose</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="remote-owner.html">Remote Usernames</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Graph branching, optional outputs and suicide triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task/Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="template-vars.html">Template Variables</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui.html">Cylc 8 UIs</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Cylc 8 Migration Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Detailed Description of Major Changes</a></li>
+      <li class="breadcrumb-item active">Python 2 =&gt; 3</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/7-to-8/major-changes/python-2-3.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="python-2-3">
+<span id="py23"></span><h1>Python 2 =&gt; 3<a class="headerlink" href="#python-2-3" title="Link to this heading"></a></h1>
+<div class="tip admonition">
+<p class="admonition-title">Does This Change Affect Me?</p>
+<p>This change will affect you if your workflows extend Cylc or Jinja2 with
+custom Python scripts.</p>
+<p>This does not impact <a class="reference internal" href="../../glossary.html#term-task"><span class="xref std std-term">task</span></a> scripts; Cylc can still run Python 2
+tasks if desired.</p>
+</div>
+<section id="overview">
+<h2>Overview<a class="headerlink" href="#overview" title="Link to this heading"></a></h2>
+<p>Cylc 7 ran under Python 2; Cylc 8 runs under Python 3.</p>
+<p>Cylc can be extended with custom Python scripts. These scripts are run under
+the same version of Python used by Cylc.</p>
+<p>As a result, if you are moving from Cylc 7 to Cylc 8, you must upgrade any
+scripts from Python 2 to Python 3 in the process.</p>
+<p>If you want to support both Cylc 7 and 8, you must support both Python 2 and 3.
+There are tools to help you do this, e.g. <a class="reference external" href="https://pypi.org/project/six/">six</a>.</p>
+</section>
+<section id="impacted-scripts">
+<h2>Impacted Scripts<a class="headerlink" href="#impacted-scripts" title="Link to this heading"></a></h2>
+<p>The following scripts must be upgraded if used:</p>
+<dl>
+<dt><a class="reference internal" href="../../user-guide/writing-workflows/jinja2.html#customjinja2filters"><span class="std std-ref">Custom Jinja2 Filters, Tests and Globals</span></a></dt><dd><p>These allow you to extend Jinja2 with Python code.</p>
+<p>These scripts are located in the following directories within a workflow:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">Jinja2Filters</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">Jinja2Tests</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">Jinja2Globals</span></code></p></li>
+</ul>
+</dd>
+<dt><a class="reference internal" href="../../user-guide/writing-workflows/jinja2.html#jinja2-importing-python-modules"><span class="std std-ref">Modules imported by Jinja2</span></a></dt><dd><p>Python modules can be imported from Jinja2 e.g:</p>
+<div class="highlight-jinja notranslate"><div class="highlight"><pre><span></span><span class="cp">{%</span> <span class="k">from</span> <span class="s2">&quot;os&quot;</span> <span class="k">import</span> <span class="nv">path</span> <span class="cp">%}</span>
+</pre></div>
+</div>
+</dd>
+<dt><a class="reference internal" href="../../user-guide/writing-workflows/external-triggers.html#custom-trigger-functions"><span class="std std-ref">Custom Trigger Functions</span></a></dt><dd><p>Any custom xtrigger functions.</p>
+</dd>
+</dl>
+</section>
+<section id="package-name-changes">
+<h2>Package Name Changes<a class="headerlink" href="#package-name-changes" title="Link to this heading"></a></h2>
+<p>Three Python packages have been renamed between Cylc 7 and Cylc 8:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span></code> =&gt; <code class="docutils literal notranslate"><span class="pre">cylc.flow</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">isodatetime</span></code> =&gt; <code class="docutils literal notranslate"><span class="pre">metomi.isodatetime</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">rose</span></code> =&gt; <code class="docutils literal notranslate"><span class="pre">metomi.rose</span></code></p></li>
+</ul>
+<p>If you are importing from these packages you will need to update the package names.</p>
+<p>Here are some examples:</p>
+<p class="rubric">Convert Python code from Cylc 7 to Cylc 8:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="gd">- from cylc import LOG</span>
+<span class="gi">+ from cylc.flow import LOG</span>
+<span class="gd">- from isodatetime.data import Duration</span>
+<span class="gi">+ from metomi.isodatetime.data import Duration</span>
+</pre></div>
+</div>
+<p class="rubric">Python code which supports both Cylc 7 &amp; Cylc 8:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">sys</span>
+<span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">version</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;3&#39;</span><span class="p">:</span>
+    <span class="kn">from</span> <span class="nn">cylc.flow</span> <span class="kn">import</span> <span class="n">LOG</span>
+    <span class="kn">from</span> <span class="nn">metomi.isodatetime.data</span> <span class="kn">import</span> <span class="n">Duration</span>
+<span class="k">else</span><span class="p">:</span>
+    <span class="kn">from</span> <span class="nn">cylc</span> <span class="kn">import</span> <span class="n">LOG</span>
+    <span class="kn">from</span> <span class="nn">isodatetime.data</span> <span class="kn">import</span> <span class="n">Duration</span>
+</pre></div>
+</div>
+<p class="rubric">Convert Jinja2 code from Cylc 7 to Cylc 8:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span>#!Jinja2
+<span class="gd">- {% from &quot;cylc&quot; import LOG %}</span>
+<span class="gi">+ {% from &quot;cylc.flow&quot; import LOG %}</span>
+<span class="w"> </span> {% do LOG.debug(&quot;Hello World!&quot;) %}
+</pre></div>
+</div>
+<p class="rubric">Jinja2 code which supports both Cylc 7 &amp; Cylc 8:</p>
+<div class="highlight-jinja notranslate"><div class="highlight"><pre><span></span><span class="x">#!Jinja2</span>
+<span class="cp">{%</span> <span class="k">from</span> <span class="s2">&quot;sys&quot;</span> <span class="k">import</span> <span class="nv">version</span> -<span class="cp">%}</span>
+<span class="cp">{%</span> <span class="k">if</span> <span class="nv">version</span><span class="o">[</span><span class="m">0</span><span class="o">]</span> <span class="o">==</span> <span class="s1">&#39;3&#39;</span> -<span class="cp">%}</span>
+<span class="x">    </span><span class="cp">{%</span> <span class="k">from</span> <span class="s2">&quot;cylc.flow&quot;</span> <span class="k">import</span> <span class="nv">LOG</span> -<span class="cp">%}</span>
+<span class="cp">{%</span> <span class="k">else</span> -<span class="cp">%}</span>
+<span class="x">    </span><span class="cp">{%</span> <span class="k">from</span> <span class="s2">&quot;cylc&quot;</span> <span class="k">import</span> <span class="nv">LOG</span> -<span class="cp">%}</span>
+<span class="cp">{%</span> <span class="k">endif</span> -<span class="cp">%}</span>
+
+<span class="cp">{%</span> <span class="k">do</span> <span class="nv">LOG.debug</span><span class="o">(</span><span class="s2">&quot;Hello World!&quot;</span><span class="o">)</span> <span class="cp">%}</span>
+</pre></div>
+</div>
+</section>
+<section id="jinja2-integers-with-leading-zeros">
+<h2>Jinja2 - integers with leading zeros<a class="headerlink" href="#jinja2-integers-with-leading-zeros" title="Link to this heading"></a></h2>
+<p>Integers with leading zeros in Jinja2 expressions are now illegal and will
+cause an error like  <code class="docutils literal notranslate"><span class="pre">Jinja2Error:</span> <span class="pre">expected</span> <span class="pre">token</span> <span class="pre">'x',</span> <span class="pre">got</span> <span class="pre">'integer'</span></code>.
+For example:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>validate<span class="w"> </span>my-workflow
+<span class="go">Jinja2Error: expected token &#39;end of statement block&#39;, got &#39;integer&#39;</span>
+<span class="go">File ~/cylc-run/my-workflow/flow.cylc</span>
+<span class="go">  {% if START_HOUR == 06 or START_HOUR == 12 %}       &lt;-- TemplateSyntaxError</span>
+</pre></div>
+</div>
+<p>The solution in this case is:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="gd">-{% if START_HOUR == 06 or START_HOUR == 12 %}</span>
+<span class="gi">+{% if START_HOUR == 6 or START_HOUR == 12 %}</span>
+</pre></div>
+</div>
+</section>
+<section id="rose">
+<h2>Rose<a class="headerlink" href="#rose" title="Link to this heading"></a></h2>
+<p>The same changes also impact Rose extensions:</p>
+<ul class="simple">
+<li><p><a class="reference external" href="https://metomi.github.io/rose/2.1.0/html/api/rose-macro.html#api-rose-macro" title="(in Rose Documentation v2.1.0)"><span class="xref std std-ref">Rose Macros</span></a></p></li>
+<li><p><a class="reference external" href="https://metomi.github.io/rose/2.1.0/html/api/built-in/rose_ana.html#builtin-rose-ana" title="(in Rose Documentation v2.1.0)"><span class="xref std std-ref">Rose Ana Tasks</span></a></p></li>
+</ul>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="play-pause-stop.html" class="btn btn-neutral float-left" title="Play Pause Stop" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="remote-owner.html" class="btn btn-neutral float-right" title="Remote Usernames" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/major-changes/python-2-3";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/major-changes/remote-owner.html b/nightly_8.3/html/7-to-8/major-changes/remote-owner.html
new file mode 100644
index 00000000000..7e6c20bd123
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/major-changes/remote-owner.html
@@ -0,0 +1,215 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Remote Usernames &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Scheduling Algorithm" href="scheduling.html" />
+    <link rel="prev" title="Python 2 =&gt; 3" href="python-2-3.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Detailed Description of Major Changes</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
+<li class="toctree-l3"><a class="reference internal" href="compatibility-mode.html">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="config-changes.html">Configuration Changes at Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="continuing-c7-c8.html">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="cylc-install.html">Cylc Install</a></li>
+<li class="toctree-l3"><a class="reference internal" href="excluding-tasks.html">Excluding Tasks at Start-up is Not Supported</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameters.html">Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="platforms.html">Platforms</a></li>
+<li class="toctree-l3"><a class="reference internal" href="play-pause-stop.html">Play Pause Stop</a></li>
+<li class="toctree-l3"><a class="reference internal" href="python-2-3.html">Python 2 =&gt; 3</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Remote Usernames</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#overview">Overview</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Graph branching, optional outputs and suicide triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task/Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="template-vars.html">Template Variables</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui.html">Cylc 8 UIs</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Cylc 8 Migration Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Detailed Description of Major Changes</a></li>
+      <li class="breadcrumb-item active">Remote Usernames</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/7-to-8/major-changes/remote-owner.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="remote-usernames">
+<span id="remote-owner"></span><h1>Remote Usernames<a class="headerlink" href="#remote-usernames" title="Link to this heading"></a></h1>
+<div class="tip admonition">
+<p class="admonition-title">does this change affect me?</p>
+<ul class="simple">
+<li><p>If you set <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][remote]owner" title="flow.cylc[runtime][&lt;namespace&gt;][remote]owner"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][remote]owner</span></code></a></p></li>
+<li><p>If you use <code class="docutils literal notranslate"><span class="pre">--owner</span></code> on the command line</p></li>
+</ul>
+</div>
+<section id="overview">
+<h2>Overview<a class="headerlink" href="#overview" title="Link to this heading"></a></h2>
+<p>If your username differs between the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> host and job hosts, then
+you may have configured Cylc to run jobs under the correct account using
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][remote]owner" title="flow.cylc[runtime][&lt;namespace&gt;][remote]owner"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][remote]owner</span></code></a>
+or used the <code class="docutils literal notranslate"><span class="pre">--owner</span></code> Cylc command line option
+with commands which access remote hosts.</p>
+<p>Cylc no longer supports specifying the username in this way, we suggest
+configuring your remote username using the <a class="reference external" href="https://man.openbsd.org/ssh_config">SSH configuration file</a> e.g:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>Host MyHost
+  User root
+</pre></div>
+</div>
+<p>SSH will then automatically use the configured username when connecting to the
+remote machine.</p>
+<p>Since Cylc uses SSH and Rsync to manage job hosts, the SSH config also configures
+Cylc.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>This approach using the SSH configuration file also works with Cylc 7.</p>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="python-2-3.html" class="btn btn-neutral float-left" title="Python 2 =&gt; 3" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="scheduling.html" class="btn btn-neutral float-right" title="Scheduling Algorithm" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/major-changes/remote-owner";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/major-changes/scheduling.html b/nightly_8.3/html/7-to-8/major-changes/scheduling.html
new file mode 100644
index 00000000000..a0cb637c1a8
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/major-changes/scheduling.html
@@ -0,0 +1,232 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Scheduling Algorithm &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Graph branching, optional outputs and suicide triggers" href="suicide-triggers.html" />
+    <link rel="prev" title="Remote Usernames" href="remote-owner.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Detailed Description of Major Changes</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
+<li class="toctree-l3"><a class="reference internal" href="compatibility-mode.html">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="config-changes.html">Configuration Changes at Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="continuing-c7-c8.html">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="cylc-install.html">Cylc Install</a></li>
+<li class="toctree-l3"><a class="reference internal" href="excluding-tasks.html">Excluding Tasks at Start-up is Not Supported</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameters.html">Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="platforms.html">Platforms</a></li>
+<li class="toctree-l3"><a class="reference internal" href="play-pause-stop.html">Play Pause Stop</a></li>
+<li class="toctree-l3"><a class="reference internal" href="python-2-3.html">Python 2 =&gt; 3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="remote-owner.html">Remote Usernames</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Scheduling Algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Graph branching, optional outputs and suicide triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task/Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="template-vars.html">Template Variables</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui.html">Cylc 8 UIs</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Cylc 8 Migration Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Detailed Description of Major Changes</a></li>
+      <li class="breadcrumb-item active">Scheduling Algorithm</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/7-to-8/major-changes/scheduling.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="scheduling-algorithm">
+<span id="id1"></span><h1>Scheduling Algorithm<a class="headerlink" href="#scheduling-algorithm" title="Link to this heading"></a></h1>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p>Migration Guide:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="suicide-triggers.html#optional-outputs"><span class="std std-ref">Graph branching, optional outputs and suicide triggers</span></a></p></li>
+</ul>
+<p>User Guide:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#user-guide-required-outputs"><span class="std std-ref">Required Outputs</span></a></p></li>
+<li><p><a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#user-guide-optional-outputs"><span class="std std-ref">Optional Outputs</span></a></p></li>
+<li><p><a class="reference internal" href="../../user-guide/running-workflows/reflow.html#user-guide-reflow"><span class="std std-ref">Concurrent Flows</span></a></p></li>
+<li><p><a class="reference internal" href="../../user-guide/running-workflows/tasks-jobs-ui.html#n-window"><span class="std std-ref">Tasks in the UI</span></a></p></li>
+</ul>
+</div>
+<p>Cylc can manage infinite workflows of repeating tasks:</p>
+<img alt="../../_images/cycling.png" class="align-center" src="../../_images/cycling.png" />
+<p>Cylc 8 has a new scheduling algorithm that:</p>
+<ul class="simple">
+<li><p>Is much more efficient because it only has to manage active tasks</p>
+<ul>
+<li><p>waiting tasks are not pre-spawned before they are needed</p></li>
+<li><p>succeeded tasks are not kept across the active task window</p></li>
+<li><p>no costly indiscriminate dependency matching is done</p></li>
+</ul>
+</li>
+<li><p>Distinguishes between <a class="reference internal" href="../../glossary.html#term-optional-output"><span class="xref std std-term">optional</span></a> and
+<a class="reference internal" href="../../glossary.html#term-required-output"><span class="xref std std-term">required</span></a> task outputs, to support:</p>
+<ul>
+<li><p><a class="reference internal" href="../../glossary.html#term-graph-branching"><span class="xref std std-term">graph branching</span></a> without <a class="reference internal" href="../../glossary.html#term-suicide-trigger"><span class="xref std std-term">suicide triggers</span></a></p></li>
+<li><p>correct diagnosis of <a class="reference internal" href="../../glossary.html#term-workflow-completion"><span class="xref std std-term">workflow completion</span></a></p></li>
+</ul>
+</li>
+<li><p>Causes no implicit dependence on previous-instance job submit</p>
+<ul>
+<li><p>instances of same task can run out of cycle point order</p></li>
+<li><p>the workflow will not unnecessarily stall downstream of failed tasks</p></li>
+</ul>
+</li>
+<li><p>Provides a sensible active-task based window on the evolving workflow</p>
+<ul>
+<li><p>(to fully understand which tasks appeared in the Cylc 7 GUI you had to
+understand the scheduling algorithm)</p></li>
+</ul>
+</li>
+<li><p>Supports multiple concurrent <a class="reference internal" href="../../glossary.html#term-flow"><span class="xref std std-term">flows</span></a> within the same workflow.</p></li>
+<li><p>Can start a workflow from any task or tasks in the graph (no need for
+checkpoint restart)</p></li>
+<li><p>Can limit activity within as well as across cycles, without risking a stall</p></li>
+</ul>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="remote-owner.html" class="btn btn-neutral float-left" title="Remote Usernames" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="suicide-triggers.html" class="btn btn-neutral float-right" title="Graph branching, optional outputs and suicide triggers" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/major-changes/scheduling";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/major-changes/suicide-triggers.html b/nightly_8.3/html/7-to-8/major-changes/suicide-triggers.html
new file mode 100644
index 00000000000..8333bbc5ed8
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/major-changes/suicide-triggers.html
@@ -0,0 +1,280 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Graph branching, optional outputs and suicide triggers &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Task/Job States" href="task-job-states.html" />
+    <link rel="prev" title="Scheduling Algorithm" href="scheduling.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Detailed Description of Major Changes</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
+<li class="toctree-l3"><a class="reference internal" href="compatibility-mode.html">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="config-changes.html">Configuration Changes at Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="continuing-c7-c8.html">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="cylc-install.html">Cylc Install</a></li>
+<li class="toctree-l3"><a class="reference internal" href="excluding-tasks.html">Excluding Tasks at Start-up is Not Supported</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameters.html">Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="platforms.html">Platforms</a></li>
+<li class="toctree-l3"><a class="reference internal" href="play-pause-stop.html">Play Pause Stop</a></li>
+<li class="toctree-l3"><a class="reference internal" href="python-2-3.html">Python 2 =&gt; 3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="remote-owner.html">Remote Usernames</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Algorithm</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Graph branching, optional outputs and suicide triggers</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#required-changes">Required Changes</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#example">Example</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task/Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="template-vars.html">Template Variables</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui.html">Cylc 8 UIs</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Cylc 8 Migration Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Detailed Description of Major Changes</a></li>
+      <li class="breadcrumb-item active">Graph branching, optional outputs and suicide triggers</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/7-to-8/major-changes/suicide-triggers.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="graph-branching-optional-outputs-and-suicide-triggers">
+<span id="optional-outputs"></span><h1>Graph branching, optional outputs and suicide triggers<a class="headerlink" href="#graph-branching-optional-outputs-and-suicide-triggers" title="Link to this heading"></a></h1>
+<p>Cylc 8 has a <a class="reference internal" href="scheduling.html#scheduling-algorithm"><span class="std std-ref">new scheduling algorithm</span></a> and
+a new syntax for dealing with tasks that may not necessarily complete.
+It handles <a class="reference internal" href="../../glossary.html#term-graph"><span class="xref std std-term">graphs</span></a> in an event-driven manner which means
+that a workflow can follow different paths in different eventualities (without
+the need for suicide triggers). This is called <a class="reference internal" href="../../glossary.html#term-graph-branching"><span class="xref std std-term">graph branching</span></a>.</p>
+<div class="tip admonition">
+<p class="admonition-title">Does This Change Affect Me?</p>
+<p>This change affects you if you are upgrading a Cylc 7 workflow that
+contains graph branches that are not necessarily expected to complete
+at runtime. You might get a <code class="docutils literal notranslate"><span class="pre">GraphParseError</span></code> during validation with
+Cylc 8.</p>
+<p>Typically this will be the case if you are using
+<a class="reference internal" href="../../glossary.html#term-suicide-trigger"><span class="xref std std-term">suicide triggers</span></a> (marked by <code class="docutils literal notranslate"><span class="pre">!</span></code> before the
+task name in the graph, e.g. <code class="docutils literal notranslate"><span class="pre">foo:fail</span> <span class="pre">=&gt;</span> <span class="pre">!foo</span></code>).</p>
+<p>You should <em>not</em> perform this upgrade if still in <a class="reference internal" href="compatibility-mode.html#cylc-7-compat-mode"><span class="std std-ref">Cylc 7 Compatibility Mode</span></a>
+(<code class="docutils literal notranslate"><span class="pre">suite.rc</span></code> filename).</p>
+</div>
+<section id="required-changes">
+<h2>Required Changes<a class="headerlink" href="#required-changes" title="Link to this heading"></a></h2>
+<p>Any <a class="reference internal" href="../../glossary.html#term-task-output"><span class="xref std std-term">task outputs</span></a> that are not necessarily expected to
+complete must be marked as <a class="reference internal" href="../../glossary.html#term-optional-output"><span class="xref std std-term">optional</span></a> using <code class="docutils literal notranslate"><span class="pre">?</span></code>.
+Suicide triggers can then be removed.</p>
+</section>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<p>Here is an example Cylc 7 <a class="reference internal" href="../../glossary.html#term-graph"><span class="xref std std-term">graph</span></a>:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span><span class="c">:</span><span class="kd">fail</span> <span class="o">=&gt;</span> <span class="kd">recover</span>
+
+<span class="kd">foo</span> <span class="o">|</span> <span class="kd">recover</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+
+<span class="c1"># Remove the &quot;recover&quot; task in the success case.</span>
+<span class="kd">foo</span> <span class="o">=&gt;</span> <span class="c">!</span> <span class="kd">recover</span>
+<span class="c1"># Remove the &quot;foo&quot; task in the fail case.</span>
+<span class="kd">recover</span> <span class="o">=&gt;</span> <span class="c">!</span> <span class="kd">foo</span>
+</pre></div>
+</div>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-2177d3d933cdc16287d883a6c7ec5a4c5e8ed10b.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Example {
+subgraph cluster_1 {
+   label = &quot;:fail&quot;
+   color = &quot;red&quot;
+   fontcolor = &quot;red&quot;
+   style = &quot;dashed&quot;
+   recover
+}
+
+foo -&gt; recover
+recover -&gt; bar [arrowhead=&quot;onormal&quot;]
+foo -&gt; bar [arrowhead=&quot;onormal&quot; weight=2]
+}</p></object></div>
+</div>
+<p>Validating this with Cylc 8 will give an error:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>validate<span class="w"> </span>.
+<span class="go">GraphParseError: Opposite outputs foo:succeeded and foo:failed must both be optional if both are used</span>
+</pre></div>
+</div>
+<p>In Cylc 8, all task outputs are <a class="reference internal" href="../../glossary.html#term-required-output"><span class="xref std std-term">required</span></a> to complete
+unless otherwise indicated. However, it is impossible for both <code class="docutils literal notranslate"><span class="pre">:succeed</span></code>
+and <code class="docutils literal notranslate"><span class="pre">:fail</span></code> to occur when a task runs.</p>
+<p>The solution is to mark the outputs which are <a class="reference internal" href="../../glossary.html#term-optional-output"><span class="xref std std-term">optional</span></a>
+(in this case <code class="docutils literal notranslate"><span class="pre">foo:succeed</span></code> and <code class="docutils literal notranslate"><span class="pre">foo:fail</span></code>) with a <code class="docutils literal notranslate"><span class="pre">?</span></code> in the graph.
+Also, the suicide triggers can be removed.</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="gd">- foo:fail =&gt; recover</span>
+<span class="gi">+ foo:fail? =&gt; recover</span>
+
+<span class="gd">- foo | recover =&gt; bar</span>
+<span class="gi">+ foo? | recover =&gt; bar</span>
+
+<span class="gd">- # Remove the &quot;recover&quot; task in the success case.</span>
+<span class="gd">- foo =&gt; ! recover</span>
+<span class="gd">- # Remove the &quot;foo&quot; task in the fail case.</span>
+<span class="gd">- recover =&gt; ! foo</span>
+</pre></div>
+</div>
+<p>In Cylc 7, suicide triggers were used to remove tasks that did not complete
+during runtime. Cylc 8’s event-driven graph handling allows such graph
+branching using optional output syntax, without the need for suicide triggers.
+(Suicide triggers are still supported in Cylc 8; however, they are most
+likely unnecessary.)</p>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>Remember: <code class="docutils literal notranslate"><span class="pre">foo?</span></code> is short for <code class="docutils literal notranslate"><span class="pre">foo:succeed?</span></code>. It is the <em>output</em>
+that is optional, not the task itself.</p>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#user-guide-required-outputs"><span class="std std-ref">Required</span></a> and
+<a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#user-guide-optional-outputs"><span class="std std-ref">optional</span></a> outputs in the User Guide.</p></li>
+<li><p><a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#graph-branching"><span class="std std-ref">Graph Branching</span></a> in the user guide.</p></li>
+</ul>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="scheduling.html" class="btn btn-neutral float-left" title="Scheduling Algorithm" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="task-job-states.html" class="btn btn-neutral float-right" title="Task/Job States" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/major-changes/suicide-triggers";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/major-changes/task-job-states.html b/nightly_8.3/html/7-to-8/major-changes/task-job-states.html
new file mode 100644
index 00000000000..9f7e398deea
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/major-changes/task-job-states.html
@@ -0,0 +1,199 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Task/Job States &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Template Variables" href="template-vars.html" />
+    <link rel="prev" title="Graph branching, optional outputs and suicide triggers" href="suicide-triggers.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Detailed Description of Major Changes</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
+<li class="toctree-l3"><a class="reference internal" href="compatibility-mode.html">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="config-changes.html">Configuration Changes at Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="continuing-c7-c8.html">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="cylc-install.html">Cylc Install</a></li>
+<li class="toctree-l3"><a class="reference internal" href="excluding-tasks.html">Excluding Tasks at Start-up is Not Supported</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameters.html">Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="platforms.html">Platforms</a></li>
+<li class="toctree-l3"><a class="reference internal" href="play-pause-stop.html">Play Pause Stop</a></li>
+<li class="toctree-l3"><a class="reference internal" href="python-2-3.html">Python 2 =&gt; 3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="remote-owner.html">Remote Usernames</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Graph branching, optional outputs and suicide triggers</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Task/Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="template-vars.html">Template Variables</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui.html">Cylc 8 UIs</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Cylc 8 Migration Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Detailed Description of Major Changes</a></li>
+      <li class="breadcrumb-item active">Task/Job States</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/7-to-8/major-changes/task-job-states.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="task-job-states">
+<span id="id1"></span><h1>Task/Job States<a class="headerlink" href="#task-job-states" title="Link to this heading"></a></h1>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p>User Guide <a class="reference internal" href="../../user-guide/running-workflows/task-job-states.html#task-job-states"><span class="std std-ref">Task &amp; Job States</span></a></p></li>
+</ul>
+</div>
+<p><a class="reference internal" href="../../glossary.html#term-task"><span class="xref std std-term">Tasks</span></a> are nodes in the abstract workflow graph representing
+processes that should run once their prerequisites are satisfied. <a class="reference internal" href="../../glossary.html#term-job"><span class="xref std std-term">Jobs</span></a> are the real processes submitted to execute these tasks (or at least, at
+the submission stage, real job scripts). A task can have multiple jobs, by
+automatic retries and manual re-triggering.</p>
+<p>Cylc 7 had 13 task/job states. The GUI only showed tasks, with job data
+from the latest job.</p>
+<p>Cylc 8 has only 8 task/job states. The Cylc 8 UI shows both task and jobs.
+Task icons are monochrome circles; job icons are coloured squares. The running
+task icon incorporates a radial progress indicator.</p>
+<img alt="../../_images/task-job.png" class="align-center" src="../../_images/task-job.png" />
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="suicide-triggers.html" class="btn btn-neutral float-left" title="Graph branching, optional outputs and suicide triggers" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="template-vars.html" class="btn btn-neutral float-right" title="Template Variables" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/major-changes/task-job-states";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/major-changes/template-vars.html b/nightly_8.3/html/7-to-8/major-changes/template-vars.html
new file mode 100644
index 00000000000..906dbe8d8b7
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/major-changes/template-vars.html
@@ -0,0 +1,264 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Template Variables &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Cylc 8 UIs" href="ui.html" />
+    <link rel="prev" title="Task/Job States" href="task-job-states.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Detailed Description of Major Changes</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
+<li class="toctree-l3"><a class="reference internal" href="compatibility-mode.html">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="config-changes.html">Configuration Changes at Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="continuing-c7-c8.html">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="cylc-install.html">Cylc Install</a></li>
+<li class="toctree-l3"><a class="reference internal" href="excluding-tasks.html">Excluding Tasks at Start-up is Not Supported</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameters.html">Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="platforms.html">Platforms</a></li>
+<li class="toctree-l3"><a class="reference internal" href="play-pause-stop.html">Play Pause Stop</a></li>
+<li class="toctree-l3"><a class="reference internal" href="python-2-3.html">Python 2 =&gt; 3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="remote-owner.html">Remote Usernames</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Graph branching, optional outputs and suicide triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task/Job States</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Template Variables</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#overview">Overview</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#changes">Changes</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#new-features">New Features</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="ui.html">Cylc 8 UIs</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Cylc 8 Migration Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Detailed Description of Major Changes</a></li>
+      <li class="breadcrumb-item active">Template Variables</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/7-to-8/major-changes/template-vars.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="template-variables">
+<h1>Template Variables<a class="headerlink" href="#template-variables" title="Link to this heading"></a></h1>
+<div class="tip admonition">
+<p class="admonition-title">Does This Change Affect Me?</p>
+<p>Read this section if you set Cylc template variables on the command line
+using the <code class="docutils literal notranslate"><span class="pre">-s</span></code>, <code class="docutils literal notranslate"><span class="pre">--set</span></code> or <code class="docutils literal notranslate"><span class="pre">-set-file</span></code> options.</p>
+<p>This does <em>not</em> affect the Rose <code class="docutils literal notranslate"><span class="pre">jinja2:suite.rc</span></code> and
+<code class="docutils literal notranslate"><span class="pre">empy:suite.rc</span></code> variables set using the <code class="docutils literal notranslate"><span class="pre">-S</span></code> option to the
+<code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">suite-run</span></code> command.</p>
+</div>
+<section id="overview">
+<h2>Overview<a class="headerlink" href="#overview" title="Link to this heading"></a></h2>
+<p>Template variables are passed to <a class="reference internal" href="../../user-guide/writing-workflows/jinja2.html#jinja"><span class="std std-ref">Jinja2</span></a> or
+<a class="reference internal" href="../../user-guide/writing-workflows/empy.html#user-guide-empy"><span class="std std-ref">EmPy</span></a> for parsing the workflow definition in the
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file.</p>
+<p>In Cylc 7 template variables could only be strings, in Cylc 8 they can be any
+valid Python literal including numbers, booleans, and lists.</p>
+</section>
+<section id="changes">
+<h2>Changes<a class="headerlink" href="#changes" title="Link to this heading"></a></h2>
+<p>Strings must be explicitly quoted i.e. <code class="docutils literal notranslate"><span class="pre">key=&quot;value&quot;</span></code> rather than <code class="docutils literal notranslate"><span class="pre">key=value</span></code>.</p>
+</section>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<p class="rubric">Setting template variables on the command line:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Cylc 7</span>
+cylc<span class="w"> </span>run<span class="w"> </span>&lt;suite&gt;<span class="w"> </span>-s<span class="w"> </span><span class="s1">&#39;FOO=abc&#39;</span>
+<span class="c1"># Cylc 8</span>
+cylc<span class="w"> </span>play<span class="w"> </span>&lt;flow&gt;<span class="w"> </span>-s<span class="w"> </span><span class="s1">&#39;FOO=&quot;abc&quot;&#39;</span>
+</pre></div>
+</div>
+<p class="rubric">Setting template variables in a “set file” (using <code class="docutils literal notranslate"><span class="pre">--set-file</span></code>):</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Cylc 7</span>
+<span class="n">FOO</span> <span class="o">=</span> <span class="n">abc</span>
+<span class="n">BAR</span> <span class="o">=</span> <span class="n">bcd</span>
+
+<span class="c1"># Cylc 8</span>
+<span class="n">FOO</span> <span class="o">=</span> <span class="s2">&quot;abc&quot;</span>
+<span class="n">BAR</span> <span class="o">=</span> <span class="s2">&quot;bcd&quot;</span>
+</pre></div>
+</div>
+</section>
+<section id="new-features">
+<h2>New Features<a class="headerlink" href="#new-features" title="Link to this heading"></a></h2>
+<section id="any-valid-python-literals">
+<h3>Any valid Python literals<a class="headerlink" href="#any-valid-python-literals" title="Link to this heading"></a></h3>
+<p>Template variables can now be any valid Python literals e.g:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="s2">&quot;string&quot;</span>   <span class="c1"># string</span>
+<span class="mi">123</span>        <span class="c1"># integer</span>
+<span class="mf">12.34</span>      <span class="c1"># float</span>
+<span class="kc">True</span>       <span class="c1"># boolean</span>
+<span class="kc">None</span>       <span class="c1"># None type</span>
+<span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">]</span>  <span class="c1"># list</span>
+<span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span>  <span class="c1"># tuple</span>
+<span class="p">{</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">}</span>  <span class="c1"># set</span>
+<span class="p">{</span><span class="s2">&quot;a&quot;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">&quot;b&quot;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span> <span class="s2">&quot;c&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">}</span>  <span class="c1"># dictionary</span>
+</pre></div>
+</div>
+<p>See <a class="reference internal" href="../../user-guide/writing-workflows/jinja2.html#jinja2-template-variables"><span class="std std-ref">Default Values and Template Variables</span></a> for more information.</p>
+</section>
+<section id="shorthand-for-list-of-strings">
+<h3>Shorthand for list of strings<a class="headerlink" href="#shorthand-for-list-of-strings" title="Link to this heading"></a></h3>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.2.</span></p>
+</div>
+<p>A new shorthand argument (<code class="docutils literal notranslate"><span class="pre">-z</span></code>/<code class="docutils literal notranslate"><span class="pre">--set-list</span></code>/<code class="docutils literal notranslate"><span class="pre">--set-template</span></code>)
+has been introduced allowing easier definition of template
+variables containing lists of strings on the command line:</p>
+<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span><span class="c1"># Before (still works)</span>
+cylc<span class="w"> </span>&lt;command&gt;<span class="w"> </span>--set<span class="w"> </span><span class="s2">&quot;X=[&#39;a&#39;, &#39;b&#39;, &#39;c&#39;]&quot;</span>
+
+<span class="c1"># After</span>
+cylc<span class="w"> </span>&lt;command&gt;<span class="w"> </span>--set-list<span class="w"> </span><span class="nv">X</span><span class="o">=</span>a,b,c
+</pre></div>
+</div>
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="task-job-states.html" class="btn btn-neutral float-left" title="Task/Job States" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="ui.html" class="btn btn-neutral float-right" title="Cylc 8 UIs" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/major-changes/template-vars";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/major-changes/ui.html b/nightly_8.3/html/7-to-8/major-changes/ui.html
new file mode 100644
index 00000000000..7219edbb12b
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/major-changes/ui.html
@@ -0,0 +1,236 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Cylc 8 UIs &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Cylc 8.3 Caveats" href="../caveats.html" />
+    <link rel="prev" title="Template Variables" href="template-vars.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Detailed Description of Major Changes</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="cli.html">Command Line Interface</a></li>
+<li class="toctree-l3"><a class="reference internal" href="compatibility-mode.html">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="config-changes.html">Configuration Changes at Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="continuing-c7-c8.html">Continuing a Cylc 7 Workflow with Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="cylc-install.html">Cylc Install</a></li>
+<li class="toctree-l3"><a class="reference internal" href="excluding-tasks.html">Excluding Tasks at Start-up is Not Supported</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameters.html">Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="platforms.html">Platforms</a></li>
+<li class="toctree-l3"><a class="reference internal" href="play-pause-stop.html">Play Pause Stop</a></li>
+<li class="toctree-l3"><a class="reference internal" href="python-2-3.html">Python 2 =&gt; 3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="remote-owner.html">Remote Usernames</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Graph branching, optional outputs and suicide triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task/Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="template-vars.html">Template Variables</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Cylc 8 UIs</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#cylc-tui">Cylc TUI</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc-web-gui">Cylc Web GUI</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Cylc 8 Migration Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Detailed Description of Major Changes</a></li>
+      <li class="breadcrumb-item active">Cylc 8 UIs</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/7-to-8/major-changes/ui.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="cylc-8-uis">
+<span id="ui"></span><h1>Cylc 8 UIs<a class="headerlink" href="#cylc-8-uis" title="Link to this heading"></a></h1>
+<p>There are two UI options available to monitor and control workflows at Cylc 8.</p>
+<section id="cylc-tui">
+<h2>Cylc TUI<a class="headerlink" href="#cylc-tui" title="Link to this heading"></a></h2>
+<p>Cylc TUI is a text based UI, available on the command line with
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">tui</span> <span class="pre">&lt;workflow_id&gt;</span></code>.</p>
+<p>It remains in development, with smooth running with large workflows soon to be
+resolved.</p>
+<figure class="align-center" id="id2" style="width: 80%">
+<img alt="../../_images/cylc-tui.png" src="../../_images/cylc-tui.png" />
+<figcaption>
+<p><span class="caption-text">Cylc 8 TUI application</span><a class="headerlink" href="#id2" title="Link to this image"></a></p>
+</figcaption>
+</figure>
+<p>This replaces Cylc 7’s <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">monitor</span></code>.</p>
+</section>
+<section id="cylc-web-gui">
+<h2>Cylc Web GUI<a class="headerlink" href="#cylc-web-gui" title="Link to this heading"></a></h2>
+<p>Cylc 8 web GUI is available, both as a single user application, <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">gui</span></code>
+and as a multi user hub, <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">hub</span></code>. Both are dependent on <a class="reference external" href="https://github.com/cylc/cylc-uiserver">Cylc UI Server</a> installation.</p>
+<figure class="align-center" id="id3" style="width: 80%">
+<img alt="../../_images/cylc-ui-dash.png" src="../../_images/cylc-ui-dash.png" />
+<figcaption>
+<p><span class="caption-text">Cylc 8 UI dashboard</span><a class="headerlink" href="#id3" title="Link to this image"></a></p>
+</figcaption>
+</figure>
+<figure class="align-center" id="id4" style="width: 80%">
+<img alt="../../_images/cylc-ui-tree.png" src="../../_images/cylc-ui-tree.png" />
+<figcaption>
+<p><span class="caption-text">Cylc 8 UI workflow tree view</span><a class="headerlink" href="#id4" title="Link to this image"></a></p>
+</figcaption>
+</figure>
+<p>Launching the UI via the hub will require authentication.
+The default Authenticator uses PAM to authenticate system users with their
+username and password.</p>
+<p>Going via the hub unlocks the ability to grant other users the permission
+to view and interact with workflows running under your account.
+Site administrators will need to configure this, for more information
+see <a class="reference internal" href="../../user-guide/sharing-access-to-workflows.html#cylc-uiserver-multi-user"><span class="std std-ref">Authorizing Others to Access Your Workflows</span></a>.</p>
+<figure class="align-center" id="id5" style="width: 80%">
+<img alt="../../_images/hub.png" src="../../_images/hub.png" />
+<figcaption>
+<p><span class="caption-text">Cylc 8 Hub authentication page</span><a class="headerlink" href="#id5" title="Link to this image"></a></p>
+</figcaption>
+</figure>
+<p>See <a class="reference internal" href="../../reference/config/ui-server.html#ui-server-config"><span class="std std-ref">UI Server Configuration</span></a> for how to configure the GUI.</p>
+<p>As some workflows can be very large, or even infinite, the UI uses a “window”
+system to determine what to display. For more information, see <a class="reference internal" href="../../user-guide/running-workflows/tasks-jobs-ui.html#n-window"><span class="std std-ref">Tasks in the UI</span></a>.</p>
+<p>The UI continues to be developed.</p>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="template-vars.html" class="btn btn-neutral float-left" title="Template Variables" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../caveats.html" class="btn btn-neutral float-right" title="Cylc 8.3 Caveats" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/major-changes/ui";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/7-to-8/summary.html b/nightly_8.3/html/7-to-8/summary.html
new file mode 100644
index 00000000000..e87c571d4ec
--- /dev/null
+++ b/nightly_8.3/html/7-to-8/summary.html
@@ -0,0 +1,431 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Summary Of Major Changes &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Cheat Sheet" href="cheat-sheet.html" />
+    <link rel="prev" title="Cylc 8 Migration Guide" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Cylc 8 Migration Guide</a><ul class="current">
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Summary Of Major Changes</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#terminology">Terminology</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-7-compatibility-mode">Cylc 7 Compatibility Mode</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#upgrading-to-cylc-8">Upgrading To Cylc 8</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#new-web-and-terminal-uis">New Web and Terminal UIs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#command-changes">Command Changes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#task-job-states">Task/Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#optional-and-required-task-outputs">Optional and Required Task Outputs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#platform-awareness">Platform Awareness</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#workflow-installation">Workflow Installation</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#cylc-install">Cylc Install</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#file-installation">File Installation</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#symlink-dirs">Symlink Dirs</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#removing-workflows">Removing Workflows</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#architecture">Architecture</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#scheduling-algorithm">Scheduling Algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#other-changes">Other Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2"><a class="reference internal" href="major-changes/index.html">Detailed Description of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="index.html">Cylc 8 Migration Guide</a></li>
+      <li class="breadcrumb-item active">Summary Of Major Changes</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/7-to-8/summary.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="summary-of-major-changes">
+<span id="overview"></span><h1>Summary Of Major Changes<a class="headerlink" href="#summary-of-major-changes" title="Link to this heading"></a></h1>
+<section id="terminology">
+<h2>Terminology<a class="headerlink" href="#terminology" title="Link to this heading"></a></h2>
+<p>Cylc now uses more widely understood terms for several core concepts.</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Cylc 7 Term</p></th>
+<th class="head"><p>Cylc 8 Term</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>suite</p></td>
+<td><p><em>workflow</em></p></td>
+</tr>
+<tr class="row-odd"><td><p>batch system</p></td>
+<td><p><em>job runner</em></p></td>
+</tr>
+<tr class="row-even"><td><p>suite daemon</p></td>
+<td><p><em>scheduler</em></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">suite.rc</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code></p></td>
+</tr>
+</tbody>
+</table>
+<p>Note the configuration filename is now <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code>, not <code class="docutils literal notranslate"><span class="pre">suite.rc</span></code>.</p>
+</section>
+<section id="cylc-7-compatibility-mode">
+<h2>Cylc 7 Compatibility Mode<a class="headerlink" href="#cylc-7-compatibility-mode" title="Link to this heading"></a></h2>
+<p>Continuing to use the old <code class="docutils literal notranslate"><span class="pre">suite.rc</span></code> filename triggers a <a class="reference internal" href="major-changes/compatibility-mode.html#cylc-7-compat-mode"><span class="std std-ref">backward
+compatibility mode</span></a> in Cylc 8 which supports Cylc 7
+workflow configurations out of the box, with
+<a class="reference internal" href="major-changes/compatibility-mode.html#compat-required-changes"><span class="std std-ref">some caveats</span></a>. However, to future-proof
+your workflow and take full advantage of Cylc 8 you should upgrade to Cylc 8 syntax.</p>
+</section>
+<section id="upgrading-to-cylc-8">
+<h2>Upgrading To Cylc 8<a class="headerlink" href="#upgrading-to-cylc-8" title="Link to this heading"></a></h2>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p>Major Changes: <a class="reference internal" href="major-changes/config-changes.html#configuration-changes"><span class="std std-ref">Configuration Changes at Cylc 8</span></a></p></li>
+<li><p>Major Changes: <a class="reference internal" href="major-changes/compatibility-mode.html#cylc-7-compat-mode"><span class="std std-ref">Cylc 7 Compatibility Mode</span></a></p></li>
+</ul>
+</div>
+<p>There have been some configuration changes at Cylc 8.
+To upgrade your Cylc 7 suite to a Cylc 8 workflow, first make sure it validates
+in Cylc 7 without any warnings, then rename the workflow configuration file
+from <code class="docutils literal notranslate"><span class="pre">suite.rc</span></code> to  <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code>, then run <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">validate</span></code> in Cylc 8 and
+take action on any warnings.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Validation warnings use a <a class="reference internal" href="../reference/config/file-format.html#config-item-shorthand"><span class="std std-ref">shorthand notation</span></a>
+to refer to nested configuration settings on a single line, like this:
+<code class="docutils literal notranslate"><span class="pre">[section][sub-section]item</span></code>.</p>
+</div>
+</section>
+<section id="new-web-and-terminal-uis">
+<h2>New Web and Terminal UIs<a class="headerlink" href="#new-web-and-terminal-uis" title="Link to this heading"></a></h2>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p>Major Changes: <a class="reference internal" href="major-changes/ui.html#ui"><span class="std std-ref">Cylc 8 UIs</span></a></p></li>
+</ul>
+</div>
+<p>At Cylc 8, there are two UIs available to monitor and control your workflows:</p>
+<ul>
+<li><p>a terminal UI application</p>
+<blockquote>
+<div><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>tui<span class="w"> </span>&lt;workflow_id&gt;
+</pre></div>
+</div>
+</div></blockquote>
+</li>
+<li><p>a web based UI application (requires <a class="reference external" href="https://github.com/cylc/cylc-uiserver">Cylc UI Server</a>)</p>
+<blockquote>
+<div><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>gui
+</pre></div>
+</div>
+</div></blockquote>
+</li>
+</ul>
+</section>
+<section id="command-changes">
+<h2>Command Changes<a class="headerlink" href="#command-changes" title="Link to this heading"></a></h2>
+<p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">run</span> <span class="pre">&lt;suite_name&gt;</span></code> at Cylc 7 has become <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span> <span class="pre">&lt;workflow_id&gt;</span></code>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p>User Guide: <a class="reference internal" href="../user-guide/running-workflows/scheduler-start-up.html#workflowstartup"><span class="std std-ref">Start, Restart, Reload</span></a></p></li>
+<li><p>Major Changes: <a class="reference internal" href="major-changes/play-pause-stop.html#play-pause-stop"><span class="std std-ref">Play Pause Stop</span></a></p></li>
+<li><p>Major Changes: <a class="reference internal" href="major-changes/cli.html#majorchangescli"><span class="std std-ref">Command Line Interface</span></a></p></li>
+</ul>
+</div>
+<p>At Cylc 8, use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">pause</span> <span class="pre">&lt;workflow_id&gt;</span></code> to pause a workflow, halting all job
+submission. To restart the workflow, use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span> <span class="pre">&lt;workflow_id&gt;</span></code>.</p>
+<p>To start a fresh run, use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> and play it safely in the new run
+directory.</p>
+<p>(Note that <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">hold</span></code> and <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">release</span></code> pause and release individual tasks.)</p>
+</section>
+<section id="task-job-states">
+<h2>Task/Job States<a class="headerlink" href="#task-job-states" title="Link to this heading"></a></h2>
+<p><a class="reference internal" href="../glossary.html#term-task"><span class="xref std std-term">Tasks</span></a> are nodes in the abstract workflow graph, representing
+applications to run at the appropriate point in the workflow. A <a class="reference internal" href="../glossary.html#term-job"><span class="xref std std-term">job</span></a>
+is the script (and subsequent process) submitted by Cylc to
+actually run the application. A task can have multiple jobs as the result of
+automatic retries or manual re-triggering.</p>
+<p>The 13 task/job states in Cylc 7 have been simplified to 8. Tasks and jobs have been
+separated and states of both can be viewed in the GUI.</p>
+<img alt="../_images/task-job.png" class="align-center" src="../_images/task-job.png" />
+<p>For more information, see <a class="reference internal" href="major-changes/task-job-states.html#task-job-states"><span class="std std-ref">Task/Job States</span></a>.</p>
+</section>
+<section id="optional-and-required-task-outputs">
+<h2>Optional and Required Task Outputs<a class="headerlink" href="#optional-and-required-task-outputs" title="Link to this heading"></a></h2>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p>Major Changes:<a class="reference internal" href="major-changes/suicide-triggers.html#optional-outputs"><span class="std std-ref">Graph branching, optional outputs and suicide triggers</span></a></p></li>
+<li><p>User Guide:<a class="reference internal" href="../user-guide/writing-workflows/scheduling.html#user-guide-required-outputs"><span class="std std-ref">Required Outputs</span></a></p></li>
+<li><p>User Guide:<a class="reference internal" href="../user-guide/writing-workflows/scheduling.html#user-guide-optional-outputs"><span class="std std-ref">Optional Outputs</span></a></p></li>
+</ul>
+</div>
+<p>By default, all Cylc 8 tasks are required to succeed - i.e., success is
+a <a class="reference internal" href="../glossary.html#term-required-output"><span class="xref std std-term">required output</span></a>. Otherwise they will be marked
+as <a class="reference internal" href="../glossary.html#term-incomplete-task"><span class="xref std std-term">incomplete tasks</span></a> needing user intervention.
+In a workflow with incomplete tasks, if there is nothing left to do, the
+scheduler will <a class="reference internal" href="../glossary.html#term-stall"><span class="xref std std-term">stall</span></a> rather than shut down.</p>
+<p>Alternatively, task outputs can be marked as <a class="reference internal" href="../glossary.html#term-optional-output"><span class="xref std std-term">optional</span></a>.
+This supports <a class="reference internal" href="../glossary.html#term-graph-branching"><span class="xref std std-term">graph branching</span></a> and it allows the scheduler to
+correctly diagnose <a class="reference internal" href="../glossary.html#term-workflow-completion"><span class="xref std std-term">workflow completion</span></a>.</p>
+</section>
+<section id="platform-awareness">
+<h2>Platform Awareness<a class="headerlink" href="#platform-awareness" title="Link to this heading"></a></h2>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="major-changes/platforms.html#majorchangesplatforms"><span class="std std-ref">Platforms at Cylc 8.</span></a></p>
+</div>
+<p>Cylc 7 was aware of individual job hosts - one selected a host using:
+<code class="docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][remote]host</span></code>.</p>
+<p>Cylc 8 is aware of sets of host settings called
+<a class="reference internal" href="../glossary.html#term-platform"><span class="xref std std-term">[job] platforms</span></a>. To choose a platform for a task use
+<code class="docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;]platform</span></code></p>
+<p>Hosts of a platform must share a file system and <a class="reference internal" href="../glossary.html#term-job-runner"><span class="xref std std-term">job runner</span></a>:
+If one host is unavailable Cylc 8 can use other hosts
+on the same platform to interact with jobs.</p>
+<p>The same hosts can belong to multiple platforms, for example
+you might be able to use the same host to launch both background and Slurm
+jobs.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Cylc 8 will pick a sensible platform for your Cylc 7 settings,
+These deprecated settings will be removed in a future release.</p>
+</div>
+</section>
+<section id="workflow-installation">
+<h2>Workflow Installation<a class="headerlink" href="#workflow-installation" title="Link to this heading"></a></h2>
+<p>Cylc 8 supports workflow installation.</p>
+<p>For users of <a class="reference external" href="https://github.com/metomi/rose">Rose</a>, this replaces the functionality of <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">suite-run</span></code>.</p>
+<section id="cylc-install">
+<h3>Cylc Install<a class="headerlink" href="#cylc-install" title="Link to this heading"></a></h3>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p>Major Changes: <a class="reference internal" href="major-changes/cylc-install.html#majorchangesinstall"><span class="std std-ref">Moving to Cylc Install</span></a></p></li>
+</ul>
+</div>
+<p>Cylc install cleanly separates workflow <a class="reference internal" href="../glossary.html#term-source-directory"><span class="xref std std-term">source directory</span></a> from
+<a class="reference internal" href="../glossary.html#term-run-directory"><span class="xref std std-term">run directory</span></a>. It installs workflow files ready for <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code>.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span><span class="nb">pwd</span>
+<span class="go">~/cylc-src/demo</span>
+
+<span class="gp">$ </span>ls
+<span class="go">flow.cylc</span>
+
+<span class="gp">$ </span>cylc<span class="w"> </span>install
+<span class="go">INSTALLED demo/run1 from /home/oliverh/cylc-src/demo</span>
+
+<span class="gp">$ </span>cylc<span class="w"> </span>play<span class="w"> </span>demo
+<span class="go">...</span>
+<span class="go">demo/run1: oliver.niwa.local PID=6702</span>
+</pre></div>
+</div>
+<p>By default, run numbers increment with each install.</p>
+</section>
+<section id="file-installation">
+<h3>File Installation<a class="headerlink" href="#file-installation" title="Link to this heading"></a></h3>
+<p>When the first job runs on a remote platform (after start-up, or after a <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">reload</span></code>), a
+remote initialization process is triggered to install workflow files there.</p>
+</section>
+<section id="symlink-dirs">
+<h3>Symlink Dirs<a class="headerlink" href="#symlink-dirs" title="Link to this heading"></a></h3>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p>User Guide: <a class="reference internal" href="../user-guide/installing-workflows.html#symlinkdirs"><span class="std std-ref">Symlink Directories</span></a></p></li>
+<li><p>User Guide: <a class="reference internal" href="../user-guide/running-workflows/scheduler-start-up.html#remoteinit"><span class="std std-ref">Remote Initialization</span></a></p></li>
+</ul>
+</div>
+<p>Symlinking the workflow directories used by Cylc provides a useful way of
+managing disk space.</p>
+<p>These symlinks are created on a per install target basis, as configured in
+<a class="reference internal" href="../reference/config/global.html#global.cylc[install][symlink dirs]" title="global.cylc[install][symlink dirs]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs]</span></code></a>. Install targets are managed on
+a site level, for more information see <a class="reference internal" href="../reference/config/writing-platform-configs.html#install-targets"><span class="std std-ref">What Are Install Targets?</span></a></p>
+<p>This functionality replaces the Rose <code class="docutils literal notranslate"><span class="pre">root</span> <span class="pre">dir</span></code> configuration
+for Cylc 7 (however, note it does not allow per-workflow configuration).</p>
+</section>
+</section>
+<section id="removing-workflows">
+<h2>Removing Workflows<a class="headerlink" href="#removing-workflows" title="Link to this heading"></a></h2>
+<p>Workflows can be deleted with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">clean</span></code> - see <a class="reference internal" href="../user-guide/removing-workflows.html#removing-workflows"><span class="std std-ref">Removing Workflows</span></a>. This
+replaces the <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">suite-clean</span></code> functionality.</p>
+</section>
+<section id="architecture">
+<h2>Architecture<a class="headerlink" href="#architecture" title="Link to this heading"></a></h2>
+<p>There have been fundamental changes to the architecture of Cylc. You can read
+about the new system design here <a class="reference internal" href="../reference/architecture/index.html#architecture-reference"><span class="std std-ref">Architecture</span></a>.</p>
+</section>
+<section id="scheduling-algorithm">
+<h2>Scheduling Algorithm<a class="headerlink" href="#scheduling-algorithm" title="Link to this heading"></a></h2>
+<p>The scheduling algorithm has been changed, more information is available:
+<a class="reference internal" href="major-changes/scheduling.html#scheduling-algorithm"><span class="std std-ref">Scheduling Algorithm</span></a>.</p>
+</section>
+<section id="other-changes">
+<h2>Other Changes<a class="headerlink" href="#other-changes" title="Link to this heading"></a></h2>
+<p>There are an assortment of other features implemented at Cylc 8. Some noteworthy
+minor changes include:</p>
+<dl class="simple">
+<dt>Runahead Limit</dt><dd><p>The default runahead limit has been increased from three cycles to five.</p>
+</dd>
+<dt>Queues</dt><dd><p><a class="reference internal" href="../user-guide/writing-workflows/scheduling.html#internalqueues"><span class="std std-ref">Internal Queues</span></a> are now more efficient (for the <a class="reference internal" href="../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a>),
+we now recommend using queues to restrict the number of running tasks in
+situations where graphing may have been used previously.</p>
+</dd>
+<dt>Time Zones</dt><dd><p><a class="reference internal" href="../reference/config/workflow.html#flow.cylc[scheduler]cycle point time zone" title="flow.cylc[scheduler]cycle point time zone"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler]cycle</span> <span class="pre">point</span> <span class="pre">time</span> <span class="pre">zone</span></code></a> now defaults to UTC, unless you
+are working in <a class="reference internal" href="major-changes/compatibility-mode.html#cylc-7-compat-mode"><span class="std std-ref">Cylc 7 Compatibility Mode</span></a>.</p>
+</dd>
+<dt>Job Scripts</dt><dd><p>All user-defined task scripting now runs in a subshell, so you can safely
+switch Python environments inside tasks without affecting Cylc.
+Further information is available in the User Guide: <a class="reference internal" href="../user-guide/task-implementation/job-scripts.html#jobscripts"><span class="std std-ref">Job Scripts</span></a>.</p>
+</dd>
+<dt>Packaging</dt><dd><p>Cylc 8 (and its package dependencies) is now available from Conda Forge and PyPI
+for installations into a Python 3 virtual environment.</p>
+</dd>
+<dt>Remote usernames</dt><dd><p>If usernames differ on remote job hosts they must now be configured using
+an SSH config file rather than the via Cylc 7 <code class="docutils literal notranslate"><span class="pre">[remote]owner</span></code> configuration.
+See <a class="reference internal" href="major-changes/remote-owner.html#remote-owner"><span class="std std-ref">Remote Usernames</span></a>.</p>
+</dd>
+</dl>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="Cylc 8 Migration Guide" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="cheat-sheet.html" class="btn btn-neutral float-right" title="Cheat Sheet" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "7-to-8/summary";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/_images/analysis_view.gif b/nightly_8.3/html/_images/analysis_view.gif
new file mode 100644
index 00000000000..c54b5c6d434
Binary files /dev/null and b/nightly_8.3/html/_images/analysis_view.gif differ
diff --git a/nightly_8.3/html/_images/conditional-triggers.png b/nightly_8.3/html/_images/conditional-triggers.png
new file mode 100644
index 00000000000..96b2af67c68
Binary files /dev/null and b/nightly_8.3/html/_images/conditional-triggers.png differ
diff --git a/nightly_8.3/html/_images/cycling.png b/nightly_8.3/html/_images/cycling.png
new file mode 100644
index 00000000000..b7be9a34c52
Binary files /dev/null and b/nightly_8.3/html/_images/cycling.png differ
diff --git a/nightly_8.3/html/_images/cylc-completion.bash.gif b/nightly_8.3/html/_images/cylc-completion.bash.gif
new file mode 100644
index 00000000000..5477aa9f42b
Binary files /dev/null and b/nightly_8.3/html/_images/cylc-completion.bash.gif differ
diff --git a/nightly_8.3/html/_images/cylc-graph-reversible.svg b/nightly_8.3/html/_images/cylc-graph-reversible.svg
new file mode 100644
index 00000000000..72327dafef5
--- /dev/null
+++ b/nightly_8.3/html/_images/cylc-graph-reversible.svg
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.26.0 (20091210.2329)
+
+.. note::
+
+    SVG output from graphviz with foo and bar swapped around in the second
+    graph, I can't seem to be able to do this in graphviz itself.
+
+    To make the output transparent search for "white" and delete the associated
+    polygon element.
+
+ -->
+<!-- Title: _anonymous_0 Pages: 1 -->
+<svg width="316pt" height="152pt"
+ viewBox="0.00 0.00 316.00 152.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 148)">
+<title>_anonymous_0</title>
+<g id="graph2" class="cluster"><title>cluster_1</title>
+<polygon fill="none" stroke="black" points="8,-8 8,-136 150,-136 150,-8 8,-8"/>
+</g>
+<g id="graph3" class="cluster"><title>cluster_2</title>
+<polygon fill="none" stroke="black" points="158,-8 158,-136 300,-136 300,-8 158,-8"/>
+</g>
+<!-- 1/foo -->
+<g id="node2" class="node"><title>1/foo</title>
+<ellipse fill="none" stroke="black" cx="115" cy="-109" rx="27" ry="19.0919"/>
+<text text-anchor="middle" x="115" y="-105.9" font-family="Times Roman,serif" font-size="14.00">foo</text>
+</g>
+<!-- 1/baz -->
+<g id="node4" class="node"><title>1/baz</title>
+<ellipse fill="none" stroke="black" cx="79" cy="-35" rx="27" ry="19.0919"/>
+<text text-anchor="middle" x="79" y="-31.9" font-family="Times Roman,serif" font-size="14.00">baz</text>
+</g>
+<!-- 1/foo&#45;&gt;1/baz -->
+<g id="edge4" class="edge"><title>1/foo&#45;&gt;1/baz</title>
+<path fill="none" stroke="black" d="M106.101,-90.7079C101.916,-82.1051 96.8401,-71.6713 92.2178,-62.1699"/>
+<polygon fill="black" stroke="black" points="95.3186,-60.5429 87.7965,-53.0817 89.0239,-63.6052 95.3186,-60.5429"/>
+</g>
+<!-- 1/bar -->
+<g id="node3" class="node"><title>1/bar</title>
+<ellipse fill="none" stroke="black" cx="43" cy="-109" rx="27" ry="19.0919"/>
+<text text-anchor="middle" x="43" y="-105.9" font-family="Times Roman,serif" font-size="14.00">bar</text>
+</g>
+<!-- 1/bar&#45;&gt;1/baz -->
+<g id="edge6" class="edge"><title>1/bar&#45;&gt;1/baz</title>
+<path fill="none" stroke="black" d="M51.8989,-90.7079C56.084,-82.1051 61.1599,-71.6713 65.7822,-62.1699"/>
+<polygon fill="black" stroke="black" points="68.9761,-63.6052 70.2035,-53.0817 62.6814,-60.5429 68.9761,-63.6052"/>
+</g>
+<!-- 2/bar -->
+<g id="node6" class="node"><title>2/bar</title>
+<ellipse fill="none" stroke="black" cx="265" cy="-109" rx="27" ry="19.0919"/>
+<text text-anchor="middle" x="265" y="-105.9" font-family="Times Roman,serif" font-size="14.00">bar</text>
+</g>
+<!-- 2/baz -->
+<g id="node8" class="node"><title>2/baz</title>
+<ellipse fill="none" stroke="black" cx="229" cy="-35" rx="27" ry="19.0919"/>
+<text text-anchor="middle" x="229" y="-31.9" font-family="Times Roman,serif" font-size="14.00">baz</text>
+</g>
+<!-- 2/foo&#45;&gt;2/baz -->
+<g id="edge8" class="edge"><title>2/foo&#45;&gt;2/baz</title>
+<path fill="none" stroke="black" d="M256.101,-90.7079C251.916,-82.1051 246.84,-71.6713 242.218,-62.1699"/>
+<polygon fill="black" stroke="black" points="245.319,-60.5429 237.797,-53.0817 239.024,-63.6052 245.319,-60.5429"/>
+</g>
+<!-- 2/foo -->
+<g id="node7" class="node"><title>2/foo</title>
+<ellipse fill="none" stroke="black" cx="193" cy="-109" rx="27" ry="19.0919"/>
+<text text-anchor="middle" x="193" y="-105.9" font-family="Times Roman,serif" font-size="14.00">foo</text>
+</g>
+<!-- 2/bar&#45;&gt;2/baz -->
+<g id="edge10" class="edge"><title>2/bar&#45;&gt;2/baz</title>
+<path fill="none" stroke="black" d="M201.899,-90.7079C206.084,-82.1051 211.16,-71.6713 215.782,-62.1699"/>
+<polygon fill="black" stroke="black" points="218.976,-63.6052 220.203,-53.0817 212.681,-60.5429 218.976,-63.6052"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/cylc-graph.gif b/nightly_8.3/html/_images/cylc-graph.gif
new file mode 100644
index 00000000000..733b6e92081
Binary files /dev/null and b/nightly_8.3/html/_images/cylc-graph.gif differ
diff --git a/nightly_8.3/html/_images/cylc-graph.png b/nightly_8.3/html/_images/cylc-graph.png
new file mode 100644
index 00000000000..4e108700754
Binary files /dev/null and b/nightly_8.3/html/_images/cylc-graph.png differ
diff --git a/nightly_8.3/html/_images/cylc-gui-scan-view.png b/nightly_8.3/html/_images/cylc-gui-scan-view.png
new file mode 100644
index 00000000000..8b33785cdb4
Binary files /dev/null and b/nightly_8.3/html/_images/cylc-gui-scan-view.png differ
diff --git a/nightly_8.3/html/_images/cylc-gui-table-view.png b/nightly_8.3/html/_images/cylc-gui-table-view.png
new file mode 100644
index 00000000000..6c237d76a3c
Binary files /dev/null and b/nightly_8.3/html/_images/cylc-gui-table-view.png differ
diff --git a/nightly_8.3/html/_images/cylc-gui-tree-view.png b/nightly_8.3/html/_images/cylc-gui-tree-view.png
new file mode 100644
index 00000000000..7df1c4d49ba
Binary files /dev/null and b/nightly_8.3/html/_images/cylc-gui-tree-view.png differ
diff --git a/nightly_8.3/html/_images/cylc-gui-views-button.png b/nightly_8.3/html/_images/cylc-gui-views-button.png
new file mode 100644
index 00000000000..1cd741543c0
Binary files /dev/null and b/nightly_8.3/html/_images/cylc-gui-views-button.png differ
diff --git a/nightly_8.3/html/_images/cylc-tools.png b/nightly_8.3/html/_images/cylc-tools.png
new file mode 100644
index 00000000000..298445dff3e
Binary files /dev/null and b/nightly_8.3/html/_images/cylc-tools.png differ
diff --git a/nightly_8.3/html/_images/cylc-tui.png b/nightly_8.3/html/_images/cylc-tui.png
new file mode 100644
index 00000000000..74a36380cbc
Binary files /dev/null and b/nightly_8.3/html/_images/cylc-tui.png differ
diff --git a/nightly_8.3/html/_images/cylc-ui-dash.png b/nightly_8.3/html/_images/cylc-ui-dash.png
new file mode 100644
index 00000000000..81bd5c6c90c
Binary files /dev/null and b/nightly_8.3/html/_images/cylc-ui-dash.png differ
diff --git a/nightly_8.3/html/_images/cylc-ui-tree.png b/nightly_8.3/html/_images/cylc-ui-tree.png
new file mode 100644
index 00000000000..11c5d9f58a6
Binary files /dev/null and b/nightly_8.3/html/_images/cylc-ui-tree.png differ
diff --git a/nightly_8.3/html/_images/edit-runtime-screenshot.png b/nightly_8.3/html/_images/edit-runtime-screenshot.png
new file mode 100644
index 00000000000..264b0f5f9e7
Binary files /dev/null and b/nightly_8.3/html/_images/edit-runtime-screenshot.png differ
diff --git a/nightly_8.3/html/_images/eg2-dynamic.png b/nightly_8.3/html/_images/eg2-dynamic.png
new file mode 100644
index 00000000000..34a8eb05803
Binary files /dev/null and b/nightly_8.3/html/_images/eg2-dynamic.png differ
diff --git a/nightly_8.3/html/_images/eg2-static.png b/nightly_8.3/html/_images/eg2-static.png
new file mode 100644
index 00000000000..4bd6087adad
Binary files /dev/null and b/nightly_8.3/html/_images/eg2-static.png differ
diff --git a/nightly_8.3/html/_images/failure-recovery.png b/nightly_8.3/html/_images/failure-recovery.png
new file mode 100644
index 00000000000..625a11bd3c4
Binary files /dev/null and b/nightly_8.3/html/_images/failure-recovery.png differ
diff --git a/nightly_8.3/html/_images/fam-to-fam-1.png b/nightly_8.3/html/_images/fam-to-fam-1.png
new file mode 100644
index 00000000000..e263198d12a
Binary files /dev/null and b/nightly_8.3/html/_images/fam-to-fam-1.png differ
diff --git a/nightly_8.3/html/_images/fam-to-fam-2.png b/nightly_8.3/html/_images/fam-to-fam-2.png
new file mode 100644
index 00000000000..a0c2b97b3bc
Binary files /dev/null and b/nightly_8.3/html/_images/fam-to-fam-2.png differ
diff --git a/nightly_8.3/html/_images/graphviz-01cdfbbf3d7a8a7da6b86824adc2682acb58bc7c.svg b/nightly_8.3/html/_images/graphviz-01cdfbbf3d7a8a7da6b86824adc2682acb58bc7c.svg
new file mode 100644
index 00000000000..2c4ec0e3588
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-01cdfbbf3d7a8a7da6b86824adc2682acb58bc7c.svg
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: example Pages: 1 -->
+<svg width="504pt" height="193pt"
+ viewBox="0.00 0.00 504.00 193.40" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(0.467532 0.467532) rotate(0) translate(4 409.67)">
+<title>example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-409.67 1074,-409.67 1074,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_1</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="8,-8 8,-397.67 354,-397.67 354,-8 8,-8"/>
+<text text-anchor="middle" x="181" y="-380.37" font-family="sans" font-size="14.00">1</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_2</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="362,-8 362,-397.67 708,-397.67 708,-8 362,-8"/>
+<text text-anchor="middle" x="535" y="-380.37" font-family="sans" font-size="14.00">2</text>
+</g>
+<g id="clust3" class="cluster">
+<title>cluster_3</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="716,-8 716,-397.67 1062,-397.67 1062,-8 716,-8"/>
+<text text-anchor="middle" x="889" y="-380.37" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 1/pur -->
+<g id="node1" class="node">
+<title>1/pur</title>
+<ellipse fill="none" stroke="black" cx="256" cy="-334.36" rx="89.8" ry="30.05"/>
+<text text-anchor="middle" x="256" y="-338.31" font-family="sans" font-size="14.00">buy_ingredients</text>
+<text text-anchor="middle" x="256" y="-321.06" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/mak -->
+<g id="node2" class="node">
+<title>1/mak</title>
+<ellipse fill="none" stroke="black" cx="272" cy="-238.26" rx="73.89" ry="30.05"/>
+<text text-anchor="middle" x="272" y="-242.21" font-family="sans" font-size="14.00">make_dough</text>
+<text text-anchor="middle" x="272" y="-224.96" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/pur&#45;&gt;1/mak -->
+<g id="edge1" class="edge">
+<title>1/pur&#45;&gt;1/mak</title>
+<path fill="none" stroke="black" d="M260.97,-304.1C262.28,-296.4 263.72,-287.96 265.11,-279.78"/>
+<polygon fill="black" stroke="black" points="268.55,-280.44 266.77,-269.99 261.65,-279.27 268.55,-280.44"/>
+</g>
+<!-- 1/bak -->
+<g id="node3" class="node">
+<title>1/bak</title>
+<ellipse fill="none" stroke="black" cx="165" cy="-142.16" rx="67.53" ry="30.05"/>
+<text text-anchor="middle" x="165" y="-146.11" font-family="sans" font-size="14.00">bake_bread</text>
+<text text-anchor="middle" x="165" y="-128.86" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/mak&#45;&gt;1/bak -->
+<g id="edge2" class="edge">
+<title>1/mak&#45;&gt;1/bak</title>
+<path fill="none" stroke="black" d="M241.62,-210.55C229.68,-200.04 215.82,-187.85 203.21,-176.76"/>
+<polygon fill="black" stroke="black" points="205.67,-174.26 195.85,-170.29 201.05,-179.52 205.67,-174.26"/>
+</g>
+<!-- 1/sel -->
+<g id="node4" class="node">
+<title>1/sel</title>
+<ellipse fill="none" stroke="black" cx="87" cy="-46.05" rx="60.63" ry="30.05"/>
+<text text-anchor="middle" x="87" y="-50" font-family="sans" font-size="14.00">sell_bread</text>
+<text text-anchor="middle" x="87" y="-32.75" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/bak&#45;&gt;1/sel -->
+<g id="edge3" class="edge">
+<title>1/bak&#45;&gt;1/sel</title>
+<path fill="none" stroke="black" d="M142.02,-113.43C134.09,-103.87 125.1,-93.02 116.72,-82.91"/>
+<polygon fill="black" stroke="black" points="119.59,-80.89 110.51,-75.42 114.2,-85.35 119.59,-80.89"/>
+</g>
+<!-- 1/cle -->
+<g id="node5" class="node">
+<title>1/cle</title>
+<ellipse fill="none" stroke="black" cx="232" cy="-46.05" rx="65.94" ry="30.05"/>
+<text text-anchor="middle" x="232" y="-50" font-family="sans" font-size="14.00">clean_oven</text>
+<text text-anchor="middle" x="232" y="-32.75" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/bak&#45;&gt;1/cle -->
+<g id="edge5" class="edge">
+<title>1/bak&#45;&gt;1/cle</title>
+<path fill="none" stroke="black" d="M184.92,-113.18C191.34,-104.16 198.57,-94.01 205.39,-84.42"/>
+<polygon fill="black" stroke="black" points="208.21,-86.5 211.16,-76.32 202.51,-82.44 208.21,-86.5"/>
+</g>
+<!-- 1/pre -->
+<g id="node6" class="node">
+<title>1/pre</title>
+<ellipse fill="none" stroke="black" cx="98" cy="-238.26" rx="82.38" ry="30.05"/>
+<text text-anchor="middle" x="98" y="-242.21" font-family="sans" font-size="14.00">pre_heat_oven</text>
+<text text-anchor="middle" x="98" y="-224.96" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/pre&#45;&gt;1/bak -->
+<g id="edge4" class="edge">
+<title>1/pre&#45;&gt;1/bak</title>
+<path fill="none" stroke="black" d="M118.28,-208.77C124.64,-199.84 131.75,-189.86 138.47,-180.42"/>
+<polygon fill="black" stroke="black" points="141.19,-182.63 144.14,-172.46 135.49,-178.57 141.19,-182.63"/>
+</g>
+<!-- 2/pur -->
+<g id="node7" class="node">
+<title>2/pur</title>
+<ellipse fill="none" stroke="black" cx="610" cy="-334.36" rx="89.8" ry="30.05"/>
+<text text-anchor="middle" x="610" y="-338.31" font-family="sans" font-size="14.00">buy_ingredients</text>
+<text text-anchor="middle" x="610" y="-321.06" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/mak -->
+<g id="node8" class="node">
+<title>2/mak</title>
+<ellipse fill="none" stroke="black" cx="626" cy="-238.26" rx="73.89" ry="30.05"/>
+<text text-anchor="middle" x="626" y="-242.21" font-family="sans" font-size="14.00">make_dough</text>
+<text text-anchor="middle" x="626" y="-224.96" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/pur&#45;&gt;2/mak -->
+<g id="edge6" class="edge">
+<title>2/pur&#45;&gt;2/mak</title>
+<path fill="none" stroke="black" d="M614.97,-304.1C616.28,-296.4 617.72,-287.96 619.11,-279.78"/>
+<polygon fill="black" stroke="black" points="622.55,-280.44 620.77,-269.99 615.65,-279.27 622.55,-280.44"/>
+</g>
+<!-- 2/bak -->
+<g id="node9" class="node">
+<title>2/bak</title>
+<ellipse fill="none" stroke="black" cx="519" cy="-142.16" rx="67.53" ry="30.05"/>
+<text text-anchor="middle" x="519" y="-146.11" font-family="sans" font-size="14.00">bake_bread</text>
+<text text-anchor="middle" x="519" y="-128.86" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/mak&#45;&gt;2/bak -->
+<g id="edge7" class="edge">
+<title>2/mak&#45;&gt;2/bak</title>
+<path fill="none" stroke="black" d="M595.62,-210.55C583.68,-200.04 569.82,-187.85 557.21,-176.76"/>
+<polygon fill="black" stroke="black" points="559.67,-174.26 549.85,-170.29 555.05,-179.52 559.67,-174.26"/>
+</g>
+<!-- 2/sel -->
+<g id="node10" class="node">
+<title>2/sel</title>
+<ellipse fill="none" stroke="black" cx="441" cy="-46.05" rx="60.63" ry="30.05"/>
+<text text-anchor="middle" x="441" y="-50" font-family="sans" font-size="14.00">sell_bread</text>
+<text text-anchor="middle" x="441" y="-32.75" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/bak&#45;&gt;2/sel -->
+<g id="edge8" class="edge">
+<title>2/bak&#45;&gt;2/sel</title>
+<path fill="none" stroke="black" d="M496.02,-113.43C488.09,-103.87 479.1,-93.02 470.72,-82.91"/>
+<polygon fill="black" stroke="black" points="473.59,-80.89 464.51,-75.42 468.2,-85.35 473.59,-80.89"/>
+</g>
+<!-- 2/cle -->
+<g id="node11" class="node">
+<title>2/cle</title>
+<ellipse fill="none" stroke="black" cx="586" cy="-46.05" rx="65.94" ry="30.05"/>
+<text text-anchor="middle" x="586" y="-50" font-family="sans" font-size="14.00">clean_oven</text>
+<text text-anchor="middle" x="586" y="-32.75" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/bak&#45;&gt;2/cle -->
+<g id="edge10" class="edge">
+<title>2/bak&#45;&gt;2/cle</title>
+<path fill="none" stroke="black" d="M538.92,-113.18C545.34,-104.16 552.57,-94.01 559.39,-84.42"/>
+<polygon fill="black" stroke="black" points="562.21,-86.5 565.16,-76.32 556.51,-82.44 562.21,-86.5"/>
+</g>
+<!-- 2/pre -->
+<g id="node12" class="node">
+<title>2/pre</title>
+<ellipse fill="none" stroke="black" cx="452" cy="-238.26" rx="82.38" ry="30.05"/>
+<text text-anchor="middle" x="452" y="-242.21" font-family="sans" font-size="14.00">pre_heat_oven</text>
+<text text-anchor="middle" x="452" y="-224.96" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/pre&#45;&gt;2/bak -->
+<g id="edge9" class="edge">
+<title>2/pre&#45;&gt;2/bak</title>
+<path fill="none" stroke="black" d="M472.28,-208.77C478.64,-199.84 485.75,-189.86 492.47,-180.42"/>
+<polygon fill="black" stroke="black" points="495.19,-182.63 498.14,-172.46 489.49,-178.57 495.19,-182.63"/>
+</g>
+<!-- 3/pur -->
+<g id="node13" class="node">
+<title>3/pur</title>
+<ellipse fill="none" stroke="black" cx="964" cy="-334.36" rx="89.8" ry="30.05"/>
+<text text-anchor="middle" x="964" y="-338.31" font-family="sans" font-size="14.00">buy_ingredients</text>
+<text text-anchor="middle" x="964" y="-321.06" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/mak -->
+<g id="node14" class="node">
+<title>3/mak</title>
+<ellipse fill="none" stroke="black" cx="980" cy="-238.26" rx="73.89" ry="30.05"/>
+<text text-anchor="middle" x="980" y="-242.21" font-family="sans" font-size="14.00">make_dough</text>
+<text text-anchor="middle" x="980" y="-224.96" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/pur&#45;&gt;3/mak -->
+<g id="edge11" class="edge">
+<title>3/pur&#45;&gt;3/mak</title>
+<path fill="none" stroke="black" d="M968.97,-304.1C970.28,-296.4 971.72,-287.96 973.11,-279.78"/>
+<polygon fill="black" stroke="black" points="976.55,-280.44 974.77,-269.99 969.65,-279.27 976.55,-280.44"/>
+</g>
+<!-- 3/bak -->
+<g id="node15" class="node">
+<title>3/bak</title>
+<ellipse fill="none" stroke="black" cx="873" cy="-142.16" rx="67.53" ry="30.05"/>
+<text text-anchor="middle" x="873" y="-146.11" font-family="sans" font-size="14.00">bake_bread</text>
+<text text-anchor="middle" x="873" y="-128.86" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/mak&#45;&gt;3/bak -->
+<g id="edge12" class="edge">
+<title>3/mak&#45;&gt;3/bak</title>
+<path fill="none" stroke="black" d="M949.62,-210.55C937.68,-200.04 923.82,-187.85 911.21,-176.76"/>
+<polygon fill="black" stroke="black" points="913.67,-174.26 903.85,-170.29 909.05,-179.52 913.67,-174.26"/>
+</g>
+<!-- 3/sel -->
+<g id="node16" class="node">
+<title>3/sel</title>
+<ellipse fill="none" stroke="black" cx="795" cy="-46.05" rx="60.63" ry="30.05"/>
+<text text-anchor="middle" x="795" y="-50" font-family="sans" font-size="14.00">sell_bread</text>
+<text text-anchor="middle" x="795" y="-32.75" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/bak&#45;&gt;3/sel -->
+<g id="edge13" class="edge">
+<title>3/bak&#45;&gt;3/sel</title>
+<path fill="none" stroke="black" d="M850.02,-113.43C842.09,-103.87 833.1,-93.02 824.72,-82.91"/>
+<polygon fill="black" stroke="black" points="827.59,-80.89 818.51,-75.42 822.2,-85.35 827.59,-80.89"/>
+</g>
+<!-- 3/cle -->
+<g id="node17" class="node">
+<title>3/cle</title>
+<ellipse fill="none" stroke="black" cx="940" cy="-46.05" rx="65.94" ry="30.05"/>
+<text text-anchor="middle" x="940" y="-50" font-family="sans" font-size="14.00">clean_oven</text>
+<text text-anchor="middle" x="940" y="-32.75" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/bak&#45;&gt;3/cle -->
+<g id="edge15" class="edge">
+<title>3/bak&#45;&gt;3/cle</title>
+<path fill="none" stroke="black" d="M892.92,-113.18C899.34,-104.16 906.57,-94.01 913.39,-84.42"/>
+<polygon fill="black" stroke="black" points="916.21,-86.5 919.16,-76.32 910.51,-82.44 916.21,-86.5"/>
+</g>
+<!-- 3/pre -->
+<g id="node18" class="node">
+<title>3/pre</title>
+<ellipse fill="none" stroke="black" cx="806" cy="-238.26" rx="82.38" ry="30.05"/>
+<text text-anchor="middle" x="806" y="-242.21" font-family="sans" font-size="14.00">pre_heat_oven</text>
+<text text-anchor="middle" x="806" y="-224.96" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/pre&#45;&gt;3/bak -->
+<g id="edge14" class="edge">
+<title>3/pre&#45;&gt;3/bak</title>
+<path fill="none" stroke="black" d="M826.28,-208.77C832.64,-199.84 839.75,-189.86 846.47,-180.42"/>
+<polygon fill="black" stroke="black" points="849.19,-182.63 852.14,-172.46 843.49,-178.57 849.19,-182.63"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-0b0909ede98c7ce9e0a52dfc78d5a8fb69f0abb9.svg b/nightly_8.3/html/_images/graphviz-0b0909ede98c7ce9e0a52dfc78d5a8fb69f0abb9.svg
new file mode 100644
index 00000000000..1fca2a71ce9
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-0b0909ede98c7ce9e0a52dfc78d5a8fb69f0abb9.svg
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Example Pages: 1 -->
+<svg width="360pt" height="65pt"
+ viewBox="0.00 0.00 360.00 64.77" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(0.558399 0.558399) rotate(0) translate(4 112)">
+<title>Example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-112 640.7,-112 640.7,4 -4,4"/>
+<!-- ENGINE -->
+<g id="node1" class="node">
+<title>ENGINE</title>
+<polygon fill="powderblue" stroke="royalblue" points="371.7,-108 274.5,-108 274.5,-72 371.7,-72 371.7,-108"/>
+<text text-anchor="middle" x="323.1" y="-85.33" font-family="sans" font-size="14.00">ENGINE</text>
+</g>
+<!-- TURBINE_ENGINE -->
+<g id="node2" class="node">
+<title>TURBINE_ENGINE</title>
+<polygon fill="powderblue" stroke="royalblue" points="166.2,-36 0,-36 0,0 166.2,0 166.2,-36"/>
+<text text-anchor="middle" x="83.1" y="-13.32" font-family="sans" font-size="14.00">TURBINE_ENGINE</text>
+</g>
+<!-- ENGINE&#45;&gt;TURBINE_ENGINE -->
+<g id="edge1" class="edge">
+<title>ENGINE&#45;&gt;TURBINE_ENGINE</title>
+<path fill="none" stroke="black" d="M274.24,-74.75C239.54,-64.63 192.42,-50.88 153.64,-39.57"/>
+<polygon fill="black" stroke="black" points="154.98,-36.32 144.4,-36.88 153.02,-43.04 154.98,-36.32"/>
+</g>
+<!-- INTERNAL_COMBUSTION_ENGINE -->
+<g id="node3" class="node">
+<title>INTERNAL_COMBUSTION_ENGINE</title>
+<polygon fill="powderblue" stroke="royalblue" points="461.7,-36 184.5,-36 184.5,0 461.7,0 461.7,-36"/>
+<text text-anchor="middle" x="323.1" y="-13.32" font-family="sans" font-size="14.00">INTERNAL_COMBUSTION_ENGINE</text>
+</g>
+<!-- ENGINE&#45;&gt;INTERNAL_COMBUSTION_ENGINE -->
+<g id="edge2" class="edge">
+<title>ENGINE&#45;&gt;INTERNAL_COMBUSTION_ENGINE</title>
+<path fill="none" stroke="black" d="M323.1,-71.7C323.1,-64.41 323.1,-55.73 323.1,-47.54"/>
+<polygon fill="black" stroke="black" points="326.6,-47.62 323.1,-37.62 319.6,-47.62 326.6,-47.62"/>
+</g>
+<!-- HUMAN_ENGINE -->
+<g id="node4" class="node">
+<title>HUMAN_ENGINE</title>
+<polygon fill="powderblue" stroke="royalblue" points="636.7,-36 479.5,-36 479.5,0 636.7,0 636.7,-36"/>
+<text text-anchor="middle" x="558.1" y="-13.32" font-family="sans" font-size="14.00">HUMAN_ENGINE</text>
+</g>
+<!-- ENGINE&#45;&gt;HUMAN_ENGINE -->
+<g id="edge3" class="edge">
+<title>ENGINE&#45;&gt;HUMAN_ENGINE</title>
+<path fill="none" stroke="black" d="M372.08,-74.41C405.87,-64.35 451.28,-50.82 488.78,-39.65"/>
+<polygon fill="black" stroke="black" points="489.6,-43.06 498.18,-36.85 487.6,-36.35 489.6,-43.06"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-0bee4c9c9c742616fb232cb9cddb1033b1add029.svg b/nightly_8.3/html/_images/graphviz-0bee4c9c9c742616fb232cb9cddb1033b1add029.svg
new file mode 100644
index 00000000000..61477e25727
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-0bee4c9c9c742616fb232cb9cddb1033b1add029.svg
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Example Pages: 1 -->
+<svg width="504pt" height="226pt"
+ viewBox="0.00 0.00 504.00 225.55" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(0.867507 0.867507) rotate(0) translate(4 256)">
+<title>Example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-256 576.98,-256 576.98,4 -4,4"/>
+<!-- VEHICLE -->
+<g id="node1" class="node">
+<title>VEHICLE</title>
+<polygon fill="powderblue" stroke="royalblue" points="223.38,-252 147.38,-252 147.38,-216 223.38,-216 223.38,-252"/>
+<text text-anchor="middle" x="185.38" y="-229.32" font-family="sans" font-size="14.00">VEHICLE</text>
+</g>
+<!-- AIR_VEHICLE -->
+<g id="node2" class="node">
+<title>AIR_VEHICLE</title>
+<polygon fill="powderblue" stroke="royalblue" points="106.75,-180 0,-180 0,-144 106.75,-144 106.75,-180"/>
+<text text-anchor="middle" x="53.38" y="-157.32" font-family="sans" font-size="14.00">AIR_VEHICLE</text>
+</g>
+<!-- VEHICLE&#45;&gt;AIR_VEHICLE -->
+<g id="edge1" class="edge">
+<title>VEHICLE&#45;&gt;AIR_VEHICLE</title>
+<path fill="none" stroke="black" d="M152.41,-215.52C135.35,-206.47 114.32,-195.32 96.04,-185.62"/>
+<polygon fill="black" stroke="black" points="97.74,-182.56 87.26,-180.97 94.46,-188.75 97.74,-182.56"/>
+</g>
+<!-- LAND_VEHICLE -->
+<g id="node3" class="node">
+<title>LAND_VEHICLE</title>
+<polygon fill="powderblue" stroke="royalblue" points="246.25,-180 124.5,-180 124.5,-144 246.25,-144 246.25,-180"/>
+<text text-anchor="middle" x="185.38" y="-157.32" font-family="sans" font-size="14.00">LAND_VEHICLE</text>
+</g>
+<!-- VEHICLE&#45;&gt;LAND_VEHICLE -->
+<g id="edge3" class="edge">
+<title>VEHICLE&#45;&gt;LAND_VEHICLE</title>
+<path fill="none" stroke="black" d="M185.38,-215.7C185.38,-208.41 185.38,-199.73 185.38,-191.54"/>
+<polygon fill="black" stroke="black" points="188.88,-191.62 185.38,-181.62 181.88,-191.62 188.88,-191.62"/>
+</g>
+<!-- WATER_VEHICLE -->
+<g id="node4" class="node">
+<title>WATER_VEHICLE</title>
+<polygon fill="powderblue" stroke="royalblue" points="394.75,-180 264,-180 264,-144 394.75,-144 394.75,-180"/>
+<text text-anchor="middle" x="329.38" y="-157.32" font-family="sans" font-size="14.00">WATER_VEHICLE</text>
+</g>
+<!-- VEHICLE&#45;&gt;WATER_VEHICLE -->
+<g id="edge5" class="edge">
+<title>VEHICLE&#45;&gt;WATER_VEHICLE</title>
+<path fill="none" stroke="black" d="M221.34,-215.52C240.21,-206.34 263.53,-195.01 283.67,-185.22"/>
+<polygon fill="black" stroke="black" points="285.04,-188.44 292.51,-180.92 281.98,-182.15 285.04,-188.44"/>
+</g>
+<!-- HOVERCRAFT -->
+<g id="node5" class="node">
+<title>HOVERCRAFT</title>
+<polygon fill="powderblue" stroke="royalblue" points="264.88,-108 155.88,-108 155.88,-72 264.88,-72 264.88,-108"/>
+<text text-anchor="middle" x="210.38" y="-85.33" font-family="sans" font-size="14.00">HOVERCRAFT</text>
+</g>
+<!-- AIR_VEHICLE&#45;&gt;HOVERCRAFT -->
+<g id="edge2" class="edge">
+<title>AIR_VEHICLE&#45;&gt;HOVERCRAFT</title>
+<path fill="none" stroke="black" d="M92.59,-143.52C113.27,-134.29 138.86,-122.89 160.89,-113.06"/>
+<polygon fill="black" stroke="black" points="162.3,-116.27 170.01,-109 159.45,-109.87 162.3,-116.27"/>
+</g>
+<!-- LAND_VEHICLE&#45;&gt;HOVERCRAFT -->
+<g id="edge4" class="edge">
+<title>LAND_VEHICLE&#45;&gt;HOVERCRAFT</title>
+<path fill="none" stroke="black" d="M191.55,-143.7C194.25,-136.15 197.48,-127.12 200.49,-118.68"/>
+<polygon fill="black" stroke="black" points="203.69,-120.12 203.76,-109.53 197.1,-117.77 203.69,-120.12"/>
+</g>
+<!-- WATER_VEHICLE&#45;&gt;HOVERCRAFT -->
+<g id="edge6" class="edge">
+<title>WATER_VEHICLE&#45;&gt;HOVERCRAFT</title>
+<path fill="none" stroke="black" d="M299.65,-143.52C284.49,-134.6 265.85,-123.63 249.53,-114.03"/>
+<polygon fill="black" stroke="black" points="251.42,-111.08 241.02,-109.03 247.87,-117.11 251.42,-111.08"/>
+</g>
+<!-- bht130 -->
+<g id="node6" class="node">
+<title>bht130</title>
+<polygon fill="powderblue" stroke="royalblue" points="348.5,-36 282.25,-36 282.25,0 348.5,0 348.5,-36"/>
+<text text-anchor="middle" x="315.38" y="-13.32" font-family="sans" font-size="14.00">bht130</text>
+</g>
+<!-- HOVERCRAFT&#45;&gt;bht130 -->
+<g id="edge7" class="edge">
+<title>HOVERCRAFT&#45;&gt;bht130</title>
+<path fill="none" stroke="black" d="M236.6,-71.52C249.73,-62.76 265.81,-52.04 280.01,-42.58"/>
+<polygon fill="black" stroke="black" points="281.85,-45.56 288.22,-37.1 277.96,-39.73 281.85,-45.56"/>
+</g>
+<!-- ENGINE -->
+<g id="node7" class="node">
+<title>ENGINE</title>
+<polygon fill="powderblue" stroke="royalblue" points="482.38,-180 412.38,-180 412.38,-144 482.38,-144 482.38,-180"/>
+<text text-anchor="middle" x="447.38" y="-157.32" font-family="sans" font-size="14.00">ENGINE</text>
+</g>
+<!-- INTERNAL_COMBUSTION_ENGINE -->
+<g id="node8" class="node">
+<title>INTERNAL_COMBUSTION_ENGINE</title>
+<polygon fill="powderblue" stroke="royalblue" points="572.98,-108 295.77,-108 295.77,-72 572.98,-72 572.98,-108"/>
+<text text-anchor="middle" x="434.38" y="-85.33" font-family="sans" font-size="14.00">INTERNAL_COMBUSTION_ENGINE</text>
+</g>
+<!-- ENGINE&#45;&gt;INTERNAL_COMBUSTION_ENGINE -->
+<g id="edge8" class="edge">
+<title>ENGINE&#45;&gt;INTERNAL_COMBUSTION_ENGINE</title>
+<path fill="none" stroke="black" d="M444.16,-143.7C442.79,-136.32 441.16,-127.52 439.62,-119.25"/>
+<polygon fill="black" stroke="black" points="443.1,-118.79 437.83,-109.59 436.21,-120.06 443.1,-118.79"/>
+</g>
+<!-- INTERNAL_COMBUSTION_ENGINE&#45;&gt;bht130 -->
+<g id="edge9" class="edge">
+<title>INTERNAL_COMBUSTION_ENGINE&#45;&gt;bht130</title>
+<path fill="none" stroke="black" d="M404.65,-71.52C389.49,-62.6 370.85,-51.63 354.53,-42.03"/>
+<polygon fill="black" stroke="black" points="356.42,-39.08 346.02,-37.03 352.87,-45.11 356.42,-39.08"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-1567c5ca9415a41f14869c8104bfc463878870c5.svg b/nightly_8.3/html/_images/graphviz-1567c5ca9415a41f14869c8104bfc463878870c5.svg
new file mode 100644
index 00000000000..d3a7dbaf7e1
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-1567c5ca9415a41f14869c8104bfc463878870c5.svg
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Mini_Cylc Pages: 1 -->
+<svg width="338pt" height="116pt"
+ viewBox="0.00 0.00 338.21 116.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)">
+<title>Mini_Cylc</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-112 334.21,-112 334.21,4 -4,4"/>
+<!-- bar_m3 -->
+<g id="node1" class="node">
+<title>bar_m3</title>
+<ellipse fill="none" stroke="black" cx="49.1" cy="-90" rx="48.05" ry="18"/>
+<text text-anchor="middle" x="49.1" y="-85.33" font-family="sans" font-size="14.00">bar_m3</text>
+</g>
+<!-- baz_m3 -->
+<g id="node2" class="node">
+<title>baz_m3</title>
+<ellipse fill="none" stroke="black" cx="49.1" cy="-18" rx="49.1" ry="18"/>
+<text text-anchor="middle" x="49.1" y="-13.32" font-family="sans" font-size="14.00">baz_m3</text>
+</g>
+<!-- bar_m3&#45;&gt;baz_m3 -->
+<g id="edge1" class="edge">
+<title>bar_m3&#45;&gt;baz_m3</title>
+<path fill="none" stroke="black" d="M49.1,-71.7C49.1,-64.41 49.1,-55.73 49.1,-47.54"/>
+<polygon fill="black" stroke="black" points="52.6,-47.62 49.1,-37.62 45.6,-47.62 52.6,-47.62"/>
+</g>
+<!-- bar_m1 -->
+<g id="node3" class="node">
+<title>bar_m1</title>
+<ellipse fill="none" stroke="black" cx="165.1" cy="-90" rx="48.05" ry="18"/>
+<text text-anchor="middle" x="165.1" y="-85.33" font-family="sans" font-size="14.00">bar_m1</text>
+</g>
+<!-- baz_m1 -->
+<g id="node4" class="node">
+<title>baz_m1</title>
+<ellipse fill="none" stroke="black" cx="165.1" cy="-18" rx="49.1" ry="18"/>
+<text text-anchor="middle" x="165.1" y="-13.32" font-family="sans" font-size="14.00">baz_m1</text>
+</g>
+<!-- bar_m1&#45;&gt;baz_m1 -->
+<g id="edge2" class="edge">
+<title>bar_m1&#45;&gt;baz_m1</title>
+<path fill="none" stroke="black" d="M165.1,-71.7C165.1,-64.41 165.1,-55.73 165.1,-47.54"/>
+<polygon fill="black" stroke="black" points="168.6,-47.62 165.1,-37.62 161.6,-47.62 168.6,-47.62"/>
+</g>
+<!-- baz_m2 -->
+<g id="node5" class="node">
+<title>baz_m2</title>
+<ellipse fill="none" stroke="black" cx="281.1" cy="-18" rx="49.1" ry="18"/>
+<text text-anchor="middle" x="281.1" y="-13.32" font-family="sans" font-size="14.00">baz_m2</text>
+</g>
+<!-- bar_m2 -->
+<g id="node6" class="node">
+<title>bar_m2</title>
+<ellipse fill="none" stroke="black" cx="281.1" cy="-90" rx="48.05" ry="18"/>
+<text text-anchor="middle" x="281.1" y="-85.33" font-family="sans" font-size="14.00">bar_m2</text>
+</g>
+<!-- bar_m2&#45;&gt;baz_m2 -->
+<g id="edge3" class="edge">
+<title>bar_m2&#45;&gt;baz_m2</title>
+<path fill="none" stroke="black" d="M281.1,-71.7C281.1,-64.41 281.1,-55.73 281.1,-47.54"/>
+<polygon fill="black" stroke="black" points="284.6,-47.62 281.1,-37.62 277.6,-47.62 284.6,-47.62"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-2177d3d933cdc16287d883a6c7ec5a4c5e8ed10b.svg b/nightly_8.3/html/_images/graphviz-2177d3d933cdc16287d883a6c7ec5a4c5e8ed10b.svg
new file mode 100644
index 00000000000..fd083dbadc5
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-2177d3d933cdc16287d883a6c7ec5a4c5e8ed10b.svg
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Example Pages: 1 -->
+<svg width="176pt" height="193pt"
+ viewBox="0.00 0.00 175.53 193.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 189.25)">
+<title>Example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-189.25 171.53,-189.25 171.53,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_1</title>
+<polygon fill="none" stroke="red" stroke-dasharray="5,2" points="8,-64 8,-141.25 120,-141.25 120,-64 8,-64"/>
+<text text-anchor="middle" x="64" y="-123.95" font-family="sans" font-size="14.00" fill="red">:fail</text>
+</g>
+<!-- recover -->
+<g id="node1" class="node">
+<title>recover</title>
+<ellipse fill="none" stroke="black" cx="64" cy="-90" rx="47.53" ry="18"/>
+<text text-anchor="middle" x="64" y="-85.33" font-family="sans" font-size="14.00">recover</text>
+</g>
+<!-- bar -->
+<g id="node3" class="node">
+<title>bar</title>
+<ellipse fill="none" stroke="black" cx="140" cy="-18" rx="27.53" ry="18"/>
+<text text-anchor="middle" x="140" y="-13.32" font-family="sans" font-size="14.00">bar</text>
+</g>
+<!-- recover&#45;&gt;bar -->
+<g id="edge2" class="edge">
+<title>recover&#45;&gt;bar</title>
+<path fill="none" stroke="black" d="M81.25,-73.12C91.65,-63.54 105.04,-51.2 116.41,-40.73"/>
+<polygon fill="none" stroke="black" points="118.53,-43.53 123.51,-34.18 113.79,-38.38 118.53,-43.53"/>
+</g>
+<!-- foo -->
+<g id="node2" class="node">
+<title>foo</title>
+<ellipse fill="none" stroke="black" cx="140" cy="-167.25" rx="27" ry="18"/>
+<text text-anchor="middle" x="140" y="-162.57" font-family="sans" font-size="14.00">foo</text>
+</g>
+<!-- foo&#45;&gt;recover -->
+<g id="edge1" class="edge">
+<title>foo&#45;&gt;recover</title>
+<path fill="none" stroke="black" d="M125.35,-151.74C114.9,-141.4 100.62,-127.26 88.46,-115.22"/>
+<polygon fill="black" stroke="black" points="91.1,-112.91 81.53,-108.36 86.17,-117.88 91.1,-112.91"/>
+</g>
+<!-- foo&#45;&gt;bar -->
+<g id="edge3" class="edge">
+<title>foo&#45;&gt;bar</title>
+<path fill="none" stroke="black" d="M140,-148.78C140,-123.87 140,-77.85 140,-47.84"/>
+<polygon fill="none" stroke="black" points="143.5,-47.96 140,-37.96 136.5,-47.96 143.5,-47.96"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-309a6f1074f1f753764c56c9f6c29577d957299a.svg b/nightly_8.3/html/_images/graphviz-309a6f1074f1f753764c56c9f6c29577d957299a.svg
new file mode 100644
index 00000000000..d27cab95ce4
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-309a6f1074f1f753764c56c9f6c29577d957299a.svg
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: example Pages: 1 -->
+<svg width="526pt" height="605pt"
+ viewBox="0.00 0.00 526.00 605.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 601.25)">
+<title>example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-601.25 522,-601.25 522,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_legend</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="0,-224 0,-373.25 222,-373.25 222,-224 0,-224"/>
+<text text-anchor="middle" x="111" y="-355.95" font-family="sans" font-size="14.00">Legend</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_diagram</title>
+</g>
+<g id="clust3" class="cluster">
+<title>cluster_subshell</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="291,-72 291,-461.25 457,-461.25 457,-72 291,-72"/>
+<text text-anchor="middle" x="374" y="-443.95" font-family="sans" font-size="14.00">Subshell process</text>
+</g>
+<!-- user defined script -->
+<g id="node1" class="node">
+<title>user defined script</title>
+<ellipse fill="none" stroke="black" cx="111" cy="-322" rx="103.29" ry="18"/>
+<text text-anchor="middle" x="111" y="-317.32" font-family="sans" font-size="14.00">user defined script</text>
+</g>
+<!-- cylc defined script -->
+<g id="node2" class="node">
+<title>cylc defined script</title>
+<polygon fill="none" stroke="black" points="182.75,-268 39.25,-268 39.25,-232 182.75,-232 182.75,-268"/>
+<text text-anchor="middle" x="111" y="-245.32" font-family="sans" font-size="14.00">cylc defined script</text>
+</g>
+<!-- user defined script&#45;&gt;cylc defined script -->
+<!-- cylc&#45;env -->
+<g id="node3" class="node">
+<title>cylc&#45;env</title>
+<polygon fill="none" stroke="black" points="410.88,-505.25 337.12,-505.25 337.12,-469.25 410.88,-469.25 410.88,-505.25"/>
+<text text-anchor="middle" x="374" y="-482.57" font-family="sans" font-size="14.00">cylc&#45;env</text>
+</g>
+<!-- env&#45;script -->
+<g id="node6" class="node">
+<title>env&#45;script</title>
+<ellipse fill="none" stroke="black" cx="374" cy="-398" rx="60.15" ry="18"/>
+<text text-anchor="middle" x="374" y="-393.32" font-family="sans" font-size="14.00">env&#45;script</text>
+</g>
+<!-- cylc&#45;env&#45;&gt;env&#45;script -->
+<g id="edge3" class="edge">
+<title>cylc&#45;env&#45;&gt;env&#45;script</title>
+<path fill="none" stroke="black" d="M374,-469.01C374,-457.18 374,-441.2 374,-427.5"/>
+<polygon fill="black" stroke="black" points="377.5,-427.72 374,-417.72 370.5,-427.72 377.5,-427.72"/>
+</g>
+<!-- user&#45;env -->
+<g id="node4" class="node">
+<title>user&#45;env</title>
+<polygon fill="none" stroke="black" points="412,-344 336,-344 336,-308 412,-308 412,-344"/>
+<text text-anchor="middle" x="374" y="-321.32" font-family="sans" font-size="14.00">user&#45;env</text>
+</g>
+<!-- pre&#45;script -->
+<g id="node7" class="node">
+<title>pre&#45;script</title>
+<ellipse fill="none" stroke="black" cx="374" cy="-254" rx="58.05" ry="18"/>
+<text text-anchor="middle" x="374" y="-249.32" font-family="sans" font-size="14.00">pre&#45;script</text>
+</g>
+<!-- user&#45;env&#45;&gt;pre&#45;script -->
+<g id="edge5" class="edge">
+<title>user&#45;env&#45;&gt;pre&#45;script</title>
+<path fill="none" stroke="black" d="M374,-307.7C374,-300.41 374,-291.73 374,-283.54"/>
+<polygon fill="black" stroke="black" points="377.5,-283.62 374,-273.62 370.5,-283.62 377.5,-283.62"/>
+</g>
+<!-- init&#45;script -->
+<g id="node5" class="node">
+<title>init&#45;script</title>
+<ellipse fill="none" stroke="black" cx="374" cy="-559.25" rx="57.52" ry="18"/>
+<text text-anchor="middle" x="374" y="-554.58" font-family="sans" font-size="14.00">init&#45;script</text>
+</g>
+<!-- init&#45;script&#45;&gt;cylc&#45;env -->
+<g id="edge2" class="edge">
+<title>init&#45;script&#45;&gt;cylc&#45;env</title>
+<path fill="none" stroke="black" d="M374,-540.95C374,-533.66 374,-524.98 374,-516.79"/>
+<polygon fill="black" stroke="black" points="377.5,-516.87 374,-506.87 370.5,-516.87 377.5,-516.87"/>
+</g>
+<!-- env&#45;script&#45;&gt;user&#45;env -->
+<g id="edge4" class="edge">
+<title>env&#45;script&#45;&gt;user&#45;env</title>
+<path fill="none" stroke="black" d="M374,-379.7C374,-372.41 374,-363.73 374,-355.54"/>
+<polygon fill="black" stroke="black" points="377.5,-355.62 374,-345.62 370.5,-355.62 377.5,-355.62"/>
+</g>
+<!-- script -->
+<g id="node8" class="node">
+<title>script</title>
+<ellipse fill="none" stroke="black" cx="374" cy="-182" rx="38.58" ry="18"/>
+<text text-anchor="middle" x="374" y="-177.32" font-family="sans" font-size="14.00">script</text>
+</g>
+<!-- pre&#45;script&#45;&gt;script -->
+<g id="edge6" class="edge">
+<title>pre&#45;script&#45;&gt;script</title>
+<path fill="none" stroke="black" d="M374,-235.7C374,-228.41 374,-219.73 374,-211.54"/>
+<polygon fill="black" stroke="black" points="377.5,-211.62 374,-201.62 370.5,-211.62 377.5,-211.62"/>
+</g>
+<!-- post&#45;script -->
+<g id="node9" class="node">
+<title>post&#45;script</title>
+<ellipse fill="none" stroke="black" cx="374" cy="-110" rx="63.31" ry="18"/>
+<text text-anchor="middle" x="374" y="-105.33" font-family="sans" font-size="14.00">post&#45;script</text>
+</g>
+<!-- script&#45;&gt;post&#45;script -->
+<g id="edge7" class="edge">
+<title>script&#45;&gt;post&#45;script</title>
+<path fill="none" stroke="black" d="M374,-163.7C374,-156.41 374,-147.73 374,-139.54"/>
+<polygon fill="black" stroke="black" points="377.5,-139.62 374,-129.62 370.5,-139.62 377.5,-139.62"/>
+</g>
+<!-- err&#45;script -->
+<g id="node10" class="node">
+<title>err&#45;script</title>
+<ellipse fill="none" stroke="black" cx="305" cy="-38" rx="54.89" ry="18"/>
+<text text-anchor="middle" x="305" y="-33.33" font-family="sans" font-size="14.00">err&#45;script</text>
+</g>
+<!-- post&#45;script&#45;&gt;err&#45;script -->
+<g id="edge8" class="edge">
+<title>post&#45;script&#45;&gt;err&#45;script</title>
+<path fill="none" stroke="black" d="M357.65,-92.41C349.14,-83.78 338.58,-73.06 329.15,-63.5"/>
+<polygon fill="black" stroke="black" points="331.81,-61.21 322.3,-56.55 326.82,-66.13 331.81,-61.21"/>
+</g>
+<!-- exit&#45;script -->
+<g id="node11" class="node">
+<title>exit&#45;script</title>
+<ellipse fill="none" stroke="black" cx="438" cy="-38" rx="60.15" ry="18"/>
+<text text-anchor="middle" x="438" y="-33.33" font-family="sans" font-size="14.00">exit&#45;script</text>
+</g>
+<!-- post&#45;script&#45;&gt;exit&#45;script -->
+<g id="edge9" class="edge">
+<title>post&#45;script&#45;&gt;exit&#45;script</title>
+<path fill="none" stroke="black" d="M389.49,-92.05C397.12,-83.71 406.47,-73.49 414.91,-64.25"/>
+<polygon fill="black" stroke="black" points="417.46,-66.65 421.63,-56.91 412.3,-61.92 417.46,-66.65"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-332bf30dd2cc29606af50d672fc7cc6cfd261b6c.svg b/nightly_8.3/html/_images/graphviz-332bf30dd2cc29606af50d672fc7cc6cfd261b6c.svg
new file mode 100644
index 00000000000..13b329e4396
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-332bf30dd2cc29606af50d672fc7cc6cfd261b6c.svg
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Mini_Cylc Pages: 1 -->
+<svg width="186pt" height="260pt"
+ viewBox="0.00 0.00 186.18 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">
+<title>Mini_Cylc</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-256 182.18,-256 182.18,4 -4,4"/>
+<!-- buy_ingredients -->
+<g id="node1" class="node">
+<title>buy_ingredients</title>
+<ellipse fill="none" stroke="black" cx="89.09" cy="-234" rx="89.09" ry="18"/>
+<text text-anchor="middle" x="89.09" y="-229.32" font-family="sans" font-size="14.00">buy_ingredients</text>
+</g>
+<!-- make_dough -->
+<g id="node2" class="node">
+<title>make_dough</title>
+<ellipse fill="none" stroke="black" cx="89.09" cy="-162" rx="73.3" ry="18"/>
+<text text-anchor="middle" x="89.09" y="-157.32" font-family="sans" font-size="14.00">make_dough</text>
+</g>
+<!-- buy_ingredients&#45;&gt;make_dough -->
+<g id="edge1" class="edge">
+<title>buy_ingredients&#45;&gt;make_dough</title>
+<path fill="none" stroke="black" d="M89.09,-215.7C89.09,-208.41 89.09,-199.73 89.09,-191.54"/>
+<polygon fill="black" stroke="black" points="92.59,-191.62 89.09,-181.62 85.59,-191.62 92.59,-191.62"/>
+</g>
+<!-- bake_bread -->
+<g id="node4" class="node">
+<title>bake_bread</title>
+<ellipse fill="none" stroke="black" cx="89.09" cy="-90" rx="66.99" ry="18"/>
+<text text-anchor="middle" x="89.09" y="-85.33" font-family="sans" font-size="14.00">bake_bread</text>
+</g>
+<!-- make_dough&#45;&gt;bake_bread -->
+<g id="edge2" class="edge">
+<title>make_dough&#45;&gt;bake_bread</title>
+<path fill="none" stroke="black" d="M89.09,-143.7C89.09,-136.41 89.09,-127.73 89.09,-119.54"/>
+<polygon fill="black" stroke="black" points="92.59,-119.62 89.09,-109.62 85.59,-119.62 92.59,-119.62"/>
+</g>
+<!-- sell_bread -->
+<g id="node3" class="node">
+<title>sell_bread</title>
+<ellipse fill="none" stroke="black" cx="89.09" cy="-18" rx="60.15" ry="18"/>
+<text text-anchor="middle" x="89.09" y="-13.32" font-family="sans" font-size="14.00">sell_bread</text>
+</g>
+<!-- bake_bread&#45;&gt;sell_bread -->
+<g id="edge3" class="edge">
+<title>bake_bread&#45;&gt;sell_bread</title>
+<path fill="none" stroke="black" d="M89.09,-71.7C89.09,-64.41 89.09,-55.73 89.09,-47.54"/>
+<polygon fill="black" stroke="black" points="92.59,-47.62 89.09,-37.62 85.59,-47.62 92.59,-47.62"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-49ba9b997629895dcb4de0b35f149b3287affd13.svg b/nightly_8.3/html/_images/graphviz-49ba9b997629895dcb4de0b35f149b3287affd13.svg
new file mode 100644
index 00000000000..565c468ae99
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-49ba9b997629895dcb4de0b35f149b3287affd13.svg
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: example Pages: 1 -->
+<svg width="179pt" height="265pt"
+ viewBox="0.00 0.00 179.00 265.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 261.25)">
+<title>example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-261.25 175,-261.25 175,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_success</title>
+<polygon fill="none" stroke="green" stroke-dasharray="5,2" points="8,-64 8,-141.25 85,-141.25 85,-64 8,-64"/>
+<text text-anchor="middle" x="46.5" y="-123.95" font-family="sans" font-size="14.00" fill="green">:succeed</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_failure</title>
+<polygon fill="none" stroke="red" stroke-dasharray="5,2" points="93,-64 93,-141.25 163,-141.25 163,-64 93,-64"/>
+<text text-anchor="middle" x="128" y="-123.95" font-family="sans" font-size="14.00" fill="red">:fail</text>
+</g>
+<!-- c -->
+<g id="node1" class="node">
+<title>c</title>
+<ellipse fill="none" stroke="black" cx="50" cy="-90" rx="27" ry="18"/>
+<text text-anchor="middle" x="50" y="-85.33" font-family="sans" font-size="14.00">c</text>
+</g>
+<!-- d -->
+<g id="node5" class="node">
+<title>d</title>
+<ellipse fill="none" stroke="black" cx="89" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="89" y="-13.32" font-family="sans" font-size="14.00">d</text>
+</g>
+<!-- c&#45;&gt;d -->
+<g id="edge3" class="edge">
+<title>c&#45;&gt;d</title>
+<path fill="none" stroke="black" d="M59.05,-72.76C63.62,-64.55 69.29,-54.37 74.46,-45.09"/>
+<polygon fill="black" stroke="black" points="77.46,-46.91 79.27,-36.47 71.34,-43.5 77.46,-46.91"/>
+</g>
+<!-- r -->
+<g id="node2" class="node">
+<title>r</title>
+<ellipse fill="none" stroke="black" cx="128" cy="-90" rx="27" ry="18"/>
+<text text-anchor="middle" x="128" y="-85.33" font-family="sans" font-size="14.00">r</text>
+</g>
+<!-- r&#45;&gt;d -->
+<g id="edge5" class="edge">
+<title>r&#45;&gt;d</title>
+<path fill="none" stroke="black" d="M118.95,-72.76C114.38,-64.55 108.71,-54.37 103.54,-45.09"/>
+<polygon fill="black" stroke="black" points="106.66,-43.5 98.73,-36.47 100.54,-46.91 106.66,-43.5"/>
+</g>
+<!-- a -->
+<g id="node3" class="node">
+<title>a</title>
+<ellipse fill="none" stroke="black" cx="89" cy="-239.25" rx="27" ry="18"/>
+<text text-anchor="middle" x="89" y="-234.57" font-family="sans" font-size="14.00">a</text>
+</g>
+<!-- b -->
+<g id="node4" class="node">
+<title>b</title>
+<ellipse fill="none" stroke="black" cx="89" cy="-167.25" rx="27" ry="18"/>
+<text text-anchor="middle" x="89" y="-162.57" font-family="sans" font-size="14.00">b</text>
+</g>
+<!-- a&#45;&gt;b -->
+<g id="edge1" class="edge">
+<title>a&#45;&gt;b</title>
+<path fill="none" stroke="black" d="M89,-220.95C89,-213.66 89,-204.98 89,-196.79"/>
+<polygon fill="black" stroke="black" points="92.5,-196.87 89,-186.87 85.5,-196.87 92.5,-196.87"/>
+</g>
+<!-- b&#45;&gt;c -->
+<g id="edge2" class="edge">
+<title>b&#45;&gt;c</title>
+<path fill="none" stroke="black" d="M80.54,-149.92C75.66,-140.52 69.42,-128.47 63.85,-117.73"/>
+<polygon fill="black" stroke="black" points="66.99,-116.17 59.28,-108.9 60.77,-119.39 66.99,-116.17"/>
+</g>
+<!-- b&#45;&gt;r -->
+<g id="edge4" class="edge">
+<title>b&#45;&gt;r</title>
+<path fill="none" stroke="black" d="M97.46,-149.92C102.34,-140.52 108.58,-128.47 114.15,-117.73"/>
+<polygon fill="black" stroke="black" points="117.23,-119.39 118.72,-108.9 111.01,-116.17 117.23,-119.39"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-5bcc0ec6c89032b0219d6542b92a01a9ebb98158.svg b/nightly_8.3/html/_images/graphviz-5bcc0ec6c89032b0219d6542b92a01a9ebb98158.svg
new file mode 100644
index 00000000000..ffbedae9212
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-5bcc0ec6c89032b0219d6542b92a01a9ebb98158.svg
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: example Pages: 1 -->
+<svg width="504pt" height="90pt"
+ viewBox="0.00 0.00 504.00 90.34" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(0.480542 0.480542) rotate(0) translate(4 184)">
+<title>example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-184 1044.82,-184 1044.82,4 -4,4"/>
+<!-- get_observations_aldergrove -->
+<g id="node1" class="node">
+<title>get_observations_aldergrove</title>
+<ellipse fill="none" stroke="black" cx="150.64" cy="-162" rx="150.64" ry="18"/>
+<text text-anchor="middle" x="150.64" y="-157.32" font-family="sans" font-size="14.00">get_observations_aldergrove</text>
+</g>
+<!-- consolidate_observations -->
+<g id="node2" class="node">
+<title>consolidate_observations</title>
+<ellipse fill="none" stroke="black" cx="423.64" cy="-18" rx="133.81" ry="18"/>
+<text text-anchor="middle" x="423.64" y="-13.32" font-family="sans" font-size="14.00">consolidate_observations</text>
+</g>
+<!-- get_observations_aldergrove&#45;&gt;consolidate_observations -->
+<g id="edge1" class="edge">
+<title>get_observations_aldergrove&#45;&gt;consolidate_observations</title>
+<path fill="none" stroke="black" d="M176.07,-143.86C204.68,-124.97 252.87,-94.31 296.64,-72 319.89,-60.15 346.41,-48.77 369.19,-39.61"/>
+<polygon fill="black" stroke="black" points="370.29,-42.93 378.29,-35.99 367.71,-36.43 370.29,-42.93"/>
+</g>
+<!-- hidden -->
+<!-- get_observations_aldergrove&#45;&gt;hidden -->
+<!-- get_observations_camborne -->
+<g id="node3" class="node">
+<title>get_observations_camborne</title>
+<ellipse fill="none" stroke="black" cx="466.64" cy="-162" rx="147.49" ry="18"/>
+<text text-anchor="middle" x="466.64" y="-157.32" font-family="sans" font-size="14.00">get_observations_camborne</text>
+</g>
+<!-- get_observations_camborne&#45;&gt;consolidate_observations -->
+<g id="edge2" class="edge">
+<title>get_observations_camborne&#45;&gt;consolidate_observations</title>
+<path fill="none" stroke="black" d="M457.67,-143.71C452.68,-133.53 446.68,-120.28 442.64,-108 436.15,-88.24 431.31,-65.28 428.14,-47.62"/>
+<polygon fill="black" stroke="black" points="431.6,-47.11 426.47,-37.84 424.7,-48.29 431.6,-47.11"/>
+</g>
+<!-- get_observations_camborne&#45;&gt;hidden -->
+<!-- get_observations_heathrow -->
+<g id="node4" class="node">
+<title>get_observations_heathrow</title>
+<ellipse fill="none" stroke="black" cx="595.64" cy="-90" rx="144.33" ry="18"/>
+<text text-anchor="middle" x="595.64" y="-85.33" font-family="sans" font-size="14.00">get_observations_heathrow</text>
+</g>
+<!-- get_observations_heathrow&#45;&gt;consolidate_observations -->
+<g id="edge3" class="edge">
+<title>get_observations_heathrow&#45;&gt;consolidate_observations</title>
+<path fill="none" stroke="black" d="M554.88,-72.41C530.98,-62.68 500.55,-50.3 475.02,-39.91"/>
+<polygon fill="black" stroke="black" points="476.39,-36.69 465.81,-36.16 473.75,-43.17 476.39,-36.69"/>
+</g>
+<!-- get_observations_shetland -->
+<g id="node5" class="node">
+<title>get_observations_shetland</title>
+<ellipse fill="none" stroke="black" cx="899.64" cy="-90" rx="141.17" ry="18"/>
+<text text-anchor="middle" x="899.64" y="-85.33" font-family="sans" font-size="14.00">get_observations_shetland</text>
+</g>
+<!-- get_observations_shetland&#45;&gt;consolidate_observations -->
+<g id="edge4" class="edge">
+<title>get_observations_shetland&#45;&gt;consolidate_observations</title>
+<path fill="none" stroke="black" d="M809.55,-75.75C727.78,-63.73 607.42,-46.03 522.92,-33.6"/>
+<polygon fill="black" stroke="black" points="523.66,-30.17 513.25,-32.18 522.64,-37.1 523.66,-30.17"/>
+</g>
+<!-- hidden&#45;&gt;consolidate_observations -->
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-6437cd2c62395d4695c4220027574b1021f6efbb.svg b/nightly_8.3/html/_images/graphviz-6437cd2c62395d4695c4220027574b1021f6efbb.svg
new file mode 100644
index 00000000000..e4a86e489af
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-6437cd2c62395d4695c4220027574b1021f6efbb.svg
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Example Pages: 1 -->
+<svg width="153pt" height="216pt"
+ viewBox="0.00 0.00 153.03 216.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(0.829773 0.829773) rotate(0) translate(4 256.31)">
+<title>Example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-256.31 180.42,-256.31 180.42,4 -4,4"/>
+<!-- 1/foo -->
+<g id="node1" class="node">
+<title>1/foo</title>
+<ellipse fill="none" stroke="black" cx="88.21" cy="-222.26" rx="88.21" ry="30.05"/>
+<text text-anchor="middle" x="88.21" y="-226.21" font-family="sans" font-size="14.00">foo</text>
+<text text-anchor="middle" x="88.21" y="-208.96" font-family="sans" font-size="14.00">2000&#45;01&#45;01T12</text>
+</g>
+<!-- 2/foo -->
+<g id="node2" class="node">
+<title>2/foo</title>
+<ellipse fill="none" stroke="black" cx="88.21" cy="-126.16" rx="88.21" ry="30.05"/>
+<text text-anchor="middle" x="88.21" y="-130.11" font-family="sans" font-size="14.00">foo</text>
+<text text-anchor="middle" x="88.21" y="-112.86" font-family="sans" font-size="14.00">2000&#45;01&#45;02T12</text>
+</g>
+<!-- 1/foo&#45;&gt;2/foo -->
+<g id="edge1" class="edge">
+<title>1/foo&#45;&gt;2/foo</title>
+<path fill="none" stroke="black" d="M88.21,-191.74C88.21,-184.21 88.21,-175.98 88.21,-167.99"/>
+<polygon fill="black" stroke="black" points="91.71,-168.08 88.21,-158.08 84.71,-168.08 91.71,-168.08"/>
+</g>
+<!-- 3/foo -->
+<g id="node3" class="node">
+<title>3/foo</title>
+<ellipse fill="none" stroke="black" cx="88.21" cy="-30.05" rx="88.21" ry="30.05"/>
+<text text-anchor="middle" x="88.21" y="-34" font-family="sans" font-size="14.00">foo</text>
+<text text-anchor="middle" x="88.21" y="-16.75" font-family="sans" font-size="14.00">2000&#45;01&#45;03T12</text>
+</g>
+<!-- 2/foo&#45;&gt;3/foo -->
+<g id="edge2" class="edge">
+<title>2/foo&#45;&gt;3/foo</title>
+<path fill="none" stroke="black" d="M88.21,-95.64C88.21,-88.11 88.21,-79.87 88.21,-71.88"/>
+<polygon fill="black" stroke="black" points="91.71,-71.98 88.21,-61.98 84.71,-71.98 91.71,-71.98"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-65d4dbac5a6d4914d2c419d6ab0e28a1fdf0a091.svg b/nightly_8.3/html/_images/graphviz-65d4dbac5a6d4914d2c419d6ab0e28a1fdf0a091.svg
new file mode 100644
index 00000000000..9c9cebd38d0
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-65d4dbac5a6d4914d2c419d6ab0e28a1fdf0a091.svg
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Example Pages: 1 -->
+<svg width="504pt" height="154pt"
+ viewBox="0.00 0.00 504.00 153.80" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(0.463246 0.463246) rotate(0) translate(4 328)">
+<title>Example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-328 1083.97,-328 1083.97,4 -4,4"/>
+<!-- root -->
+<g id="node1" class="node">
+<title>root</title>
+<polygon fill="powderblue" stroke="royalblue" points="696.1,-324 642.1,-324 642.1,-288 696.1,-288 696.1,-324"/>
+<text text-anchor="middle" x="669.1" y="-301.32" font-family="sans" font-size="14.00">root</text>
+</g>
+<!-- ENGINE -->
+<g id="node2" class="node">
+<title>ENGINE</title>
+<polygon fill="powderblue" stroke="royalblue" points="583.1,-180 513.1,-180 513.1,-144 583.1,-144 583.1,-180"/>
+<text text-anchor="middle" x="548.1" y="-157.32" font-family="sans" font-size="14.00">ENGINE</text>
+</g>
+<!-- root&#45;&gt;ENGINE -->
+<g id="edge1" class="edge">
+<title>root&#45;&gt;ENGINE</title>
+<path fill="none" stroke="royalblue" d="M654.26,-287.59C633.19,-262.86 594.46,-217.41 570.06,-188.77"/>
+<polygon fill="royalblue" stroke="royalblue" points="572.81,-186.6 563.66,-181.26 567.48,-191.14 572.81,-186.6"/>
+</g>
+<!-- VEHICLE -->
+<g id="node3" class="node">
+<title>VEHICLE</title>
+<polygon fill="powderblue" stroke="royalblue" points="760.1,-252 684.1,-252 684.1,-216 760.1,-216 760.1,-252"/>
+<text text-anchor="middle" x="722.1" y="-229.32" font-family="sans" font-size="14.00">VEHICLE</text>
+</g>
+<!-- root&#45;&gt;VEHICLE -->
+<g id="edge2" class="edge">
+<title>root&#45;&gt;VEHICLE</title>
+<path fill="none" stroke="royalblue" d="M682.2,-287.7C688.23,-279.73 695.52,-270.1 702.21,-261.26"/>
+<polygon fill="royalblue" stroke="royalblue" points="704.99,-263.4 708.24,-253.31 699.41,-259.17 704.99,-263.4"/>
+</g>
+<!-- INTERNAL_COMBUSTION_ENGINE -->
+<g id="node4" class="node">
+<title>INTERNAL_COMBUSTION_ENGINE</title>
+<polygon fill="powderblue" stroke="royalblue" points="686.7,-108 409.5,-108 409.5,-72 686.7,-72 686.7,-108"/>
+<text text-anchor="middle" x="548.1" y="-85.33" font-family="sans" font-size="14.00">INTERNAL_COMBUSTION_ENGINE</text>
+</g>
+<!-- ENGINE&#45;&gt;INTERNAL_COMBUSTION_ENGINE -->
+<g id="edge3" class="edge">
+<title>ENGINE&#45;&gt;INTERNAL_COMBUSTION_ENGINE</title>
+<path fill="none" stroke="royalblue" d="M548.1,-143.7C548.1,-136.41 548.1,-127.73 548.1,-119.54"/>
+<polygon fill="royalblue" stroke="royalblue" points="551.6,-119.62 548.1,-109.62 544.6,-119.62 551.6,-119.62"/>
+</g>
+<!-- TURBINE_ENGINE -->
+<g id="node5" class="node">
+<title>TURBINE_ENGINE</title>
+<polygon fill="powderblue" stroke="royalblue" points="166.2,-108 0,-108 0,-72 166.2,-72 166.2,-108"/>
+<text text-anchor="middle" x="83.1" y="-85.33" font-family="sans" font-size="14.00">TURBINE_ENGINE</text>
+</g>
+<!-- ENGINE&#45;&gt;TURBINE_ENGINE -->
+<g id="edge4" class="edge">
+<title>ENGINE&#45;&gt;TURBINE_ENGINE</title>
+<path fill="none" stroke="royalblue" d="M512.8,-156.48C448.37,-148.13 307.17,-129.33 177.61,-108.37"/>
+<polygon fill="royalblue" stroke="royalblue" points="178.24,-104.93 167.81,-106.78 177.12,-111.84 178.24,-104.93"/>
+</g>
+<!-- HUMAN_ENGINE -->
+<g id="node6" class="node">
+<title>HUMAN_ENGINE</title>
+<polygon fill="powderblue" stroke="royalblue" points="861.7,-108 704.5,-108 704.5,-72 861.7,-72 861.7,-108"/>
+<text text-anchor="middle" x="783.1" y="-85.33" font-family="sans" font-size="14.00">HUMAN_ENGINE</text>
+</g>
+<!-- ENGINE&#45;&gt;HUMAN_ENGINE -->
+<g id="edge5" class="edge">
+<title>ENGINE&#45;&gt;HUMAN_ENGINE</title>
+<path fill="none" stroke="royalblue" d="M583.53,-146.97C586.42,-145.93 589.3,-144.93 592.1,-144 628.21,-132.05 668.75,-120.53 703.16,-111.31"/>
+<polygon fill="royalblue" stroke="royalblue" points="703.87,-114.74 712.64,-108.79 702.07,-107.98 703.87,-114.74"/>
+</g>
+<!-- LAND_VEHICLE -->
+<g id="node7" class="node">
+<title>LAND_VEHICLE</title>
+<polygon fill="powderblue" stroke="royalblue" points="995.98,-180 874.23,-180 874.23,-144 995.98,-144 995.98,-180"/>
+<text text-anchor="middle" x="935.1" y="-157.32" font-family="sans" font-size="14.00">LAND_VEHICLE</text>
+</g>
+<!-- VEHICLE&#45;&gt;LAND_VEHICLE -->
+<g id="edge6" class="edge">
+<title>VEHICLE&#45;&gt;LAND_VEHICLE</title>
+<path fill="none" stroke="royalblue" d="M760.18,-220.49C791.11,-210.32 835.39,-195.77 871.66,-183.85"/>
+<polygon fill="royalblue" stroke="royalblue" points="872.3,-187.32 880.71,-180.87 870.12,-180.67 872.3,-187.32"/>
+</g>
+<!-- WATER_VEHICLE -->
+<g id="node8" class="node">
+<title>WATER_VEHICLE</title>
+<polygon fill="powderblue" stroke="royalblue" points="856.48,-180 725.73,-180 725.73,-144 856.48,-144 856.48,-180"/>
+<text text-anchor="middle" x="791.1" y="-157.32" font-family="sans" font-size="14.00">WATER_VEHICLE</text>
+</g>
+<!-- VEHICLE&#45;&gt;WATER_VEHICLE -->
+<g id="edge7" class="edge">
+<title>VEHICLE&#45;&gt;WATER_VEHICLE</title>
+<path fill="none" stroke="royalblue" d="M739.16,-215.7C747.34,-207.39 757.31,-197.28 766.32,-188.14"/>
+<polygon fill="royalblue" stroke="royalblue" points="768.65,-190.76 773.18,-181.18 763.66,-185.85 768.65,-190.76"/>
+</g>
+<!-- AIR_VEHICLE -->
+<g id="node9" class="node">
+<title>AIR_VEHICLE</title>
+<polygon fill="powderblue" stroke="royalblue" points="707.48,-180 600.73,-180 600.73,-144 707.48,-144 707.48,-180"/>
+<text text-anchor="middle" x="654.1" y="-157.32" font-family="sans" font-size="14.00">AIR_VEHICLE</text>
+</g>
+<!-- VEHICLE&#45;&gt;AIR_VEHICLE -->
+<g id="edge8" class="edge">
+<title>VEHICLE&#45;&gt;AIR_VEHICLE</title>
+<path fill="none" stroke="royalblue" d="M705.29,-215.7C697.22,-207.39 687.4,-197.28 678.52,-188.14"/>
+<polygon fill="royalblue" stroke="royalblue" points="681.25,-185.92 671.77,-181.19 676.23,-190.8 681.25,-185.92"/>
+</g>
+<!-- r44 -->
+<g id="node10" class="node">
+<title>r44</title>
+<polygon fill="powderblue" stroke="royalblue" points="459.1,-36 405.1,-36 405.1,0 459.1,0 459.1,-36"/>
+<text text-anchor="middle" x="432.1" y="-13.32" font-family="sans" font-size="14.00">r44</text>
+</g>
+<!-- INTERNAL_COMBUSTION_ENGINE&#45;&gt;r44 -->
+<g id="edge9" class="edge">
+<title>INTERNAL_COMBUSTION_ENGINE&#45;&gt;r44</title>
+<path fill="none" stroke="royalblue" d="M519.13,-71.52C504.01,-62.4 485.35,-51.13 469.19,-41.38"/>
+<polygon fill="royalblue" stroke="royalblue" points="471.17,-38.49 460.8,-36.32 467.56,-44.48 471.17,-38.49"/>
+</g>
+<!-- bht130 -->
+<g id="node11" class="node">
+<title>bht130</title>
+<polygon fill="powderblue" stroke="royalblue" points="635.23,-36 568.98,-36 568.98,0 635.23,0 635.23,-36"/>
+<text text-anchor="middle" x="602.1" y="-13.32" font-family="sans" font-size="14.00">bht130</text>
+</g>
+<!-- INTERNAL_COMBUSTION_ENGINE&#45;&gt;bht130 -->
+<g id="edge10" class="edge">
+<title>INTERNAL_COMBUSTION_ENGINE&#45;&gt;bht130</title>
+<path fill="none" stroke="royalblue" d="M561.45,-71.7C567.66,-63.64 575.18,-53.89 582.06,-44.98"/>
+<polygon fill="royalblue" stroke="royalblue" points="584.64,-47.36 587.98,-37.3 579.1,-43.08 584.64,-47.36"/>
+</g>
+<!-- v22 -->
+<g id="node12" class="node">
+<title>v22</title>
+<polygon fill="powderblue" stroke="royalblue" points="254.1,-36 200.1,-36 200.1,0 254.1,0 254.1,-36"/>
+<text text-anchor="middle" x="227.1" y="-13.32" font-family="sans" font-size="14.00">v22</text>
+</g>
+<!-- TURBINE_ENGINE&#45;&gt;v22 -->
+<g id="edge11" class="edge">
+<title>TURBINE_ENGINE&#45;&gt;v22</title>
+<path fill="none" stroke="royalblue" d="M119.07,-71.52C140.54,-61.08 167.78,-47.83 189.54,-37.26"/>
+<polygon fill="royalblue" stroke="royalblue" points="190.9,-40.49 198.36,-32.97 187.84,-34.19 190.9,-40.49"/>
+</g>
+<!-- a380 -->
+<g id="node13" class="node">
+<title>a380</title>
+<polygon fill="powderblue" stroke="royalblue" points="146.1,-36 92.1,-36 92.1,0 146.1,0 146.1,-36"/>
+<text text-anchor="middle" x="119.1" y="-13.32" font-family="sans" font-size="14.00">a380</text>
+</g>
+<!-- TURBINE_ENGINE&#45;&gt;a380 -->
+<g id="edge12" class="edge">
+<title>TURBINE_ENGINE&#45;&gt;a380</title>
+<path fill="none" stroke="royalblue" d="M92,-71.7C95.97,-63.98 100.73,-54.71 105.16,-46.11"/>
+<polygon fill="royalblue" stroke="royalblue" points="108.15,-47.94 109.61,-37.45 101.93,-44.74 108.15,-47.94"/>
+</g>
+<!-- penny_farthing -->
+<g id="node14" class="node">
+<title>penny_farthing</title>
+<polygon fill="powderblue" stroke="royalblue" points="987.58,-36 838.62,-36 838.62,0 987.58,0 987.58,-36"/>
+<text text-anchor="middle" x="913.1" y="-13.32" font-family="sans" font-size="14.00">penny_farthing</text>
+</g>
+<!-- HUMAN_ENGINE&#45;&gt;penny_farthing -->
+<g id="edge13" class="edge">
+<title>HUMAN_ENGINE&#45;&gt;penny_farthing</title>
+<path fill="none" stroke="royalblue" d="M815.57,-71.52C832.37,-62.47 853.08,-51.32 871.08,-41.62"/>
+<polygon fill="royalblue" stroke="royalblue" points="872.57,-44.8 879.71,-36.98 869.25,-38.64 872.57,-44.8"/>
+</g>
+<!-- HOVERCRAFT -->
+<g id="node17" class="node">
+<title>HOVERCRAFT</title>
+<polygon fill="powderblue" stroke="royalblue" points="988.6,-108 879.6,-108 879.6,-72 988.6,-72 988.6,-108"/>
+<text text-anchor="middle" x="934.1" y="-85.33" font-family="sans" font-size="14.00">HOVERCRAFT</text>
+</g>
+<!-- LAND_VEHICLE&#45;&gt;HOVERCRAFT -->
+<g id="edge19" class="edge">
+<title>LAND_VEHICLE&#45;&gt;HOVERCRAFT</title>
+<path fill="none" stroke="royalblue" d="M934.85,-143.7C934.75,-136.41 934.62,-127.73 934.51,-119.54"/>
+<polygon fill="royalblue" stroke="royalblue" points="938.01,-119.57 934.37,-109.62 931.01,-119.67 938.01,-119.57"/>
+</g>
+<!-- BICYCLE -->
+<g id="node18" class="node">
+<title>BICYCLE</title>
+<polygon fill="powderblue" stroke="royalblue" points="1079.97,-108 1006.22,-108 1006.22,-72 1079.97,-72 1079.97,-108"/>
+<text text-anchor="middle" x="1043.1" y="-85.33" font-family="sans" font-size="14.00">BICYCLE</text>
+</g>
+<!-- LAND_VEHICLE&#45;&gt;BICYCLE -->
+<g id="edge20" class="edge">
+<title>LAND_VEHICLE&#45;&gt;BICYCLE</title>
+<path fill="none" stroke="royalblue" d="M962.07,-143.52C975.71,-134.68 992.44,-123.84 1007.15,-114.3"/>
+<polygon fill="royalblue" stroke="royalblue" points="1008.71,-117.46 1015.2,-109.08 1004.9,-111.59 1008.71,-117.46"/>
+</g>
+<!-- WATER_VEHICLE&#45;&gt;HOVERCRAFT -->
+<g id="edge21" class="edge">
+<title>WATER_VEHICLE&#45;&gt;HOVERCRAFT</title>
+<path fill="none" stroke="royalblue" d="M826.82,-143.52C845.55,-134.34 868.71,-123.01 888.71,-113.22"/>
+<polygon fill="royalblue" stroke="royalblue" points="890.04,-116.47 897.48,-108.93 886.96,-110.18 890.04,-116.47"/>
+</g>
+<!-- AIRPLANE -->
+<g id="node15" class="node">
+<title>AIRPLANE</title>
+<polygon fill="powderblue" stroke="royalblue" points="269.98,-108 184.23,-108 184.23,-72 269.98,-72 269.98,-108"/>
+<text text-anchor="middle" x="227.1" y="-85.33" font-family="sans" font-size="14.00">AIRPLANE</text>
+</g>
+<!-- AIR_VEHICLE&#45;&gt;AIRPLANE -->
+<g id="edge22" class="edge">
+<title>AIR_VEHICLE&#45;&gt;AIRPLANE</title>
+<path fill="none" stroke="royalblue" d="M600.45,-145.75C597.64,-145.12 594.84,-144.53 592.1,-144 458.11,-118.08 417.93,-136.9 281.22,-108.2"/>
+<polygon fill="royalblue" stroke="royalblue" points="282.32,-104.85 271.81,-106.17 280.85,-111.7 282.32,-104.85"/>
+</g>
+<!-- HELICOPTER -->
+<g id="node16" class="node">
+<title>HELICOPTER</title>
+<polygon fill="powderblue" stroke="royalblue" points="391.98,-108 288.23,-108 288.23,-72 391.98,-72 391.98,-108"/>
+<text text-anchor="middle" x="340.1" y="-85.33" font-family="sans" font-size="14.00">HELICOPTER</text>
+</g>
+<!-- AIR_VEHICLE&#45;&gt;HELICOPTER -->
+<g id="edge23" class="edge">
+<title>AIR_VEHICLE&#45;&gt;HELICOPTER</title>
+<path fill="none" stroke="royalblue" d="M600.4,-145.99C597.6,-145.29 594.82,-144.63 592.1,-144 510.97,-125.3 486.6,-127.62 403.39,-108.67"/>
+<polygon fill="royalblue" stroke="royalblue" points="404.39,-105.31 393.86,-106.46 402.81,-112.13 404.39,-105.31"/>
+</g>
+<!-- AIR_VEHICLE&#45;&gt;HOVERCRAFT -->
+<g id="edge24" class="edge">
+<title>AIR_VEHICLE&#45;&gt;HOVERCRAFT</title>
+<path fill="none" stroke="royalblue" d="M707.68,-146.41C710.87,-145.58 714.02,-144.77 717.1,-144 781.93,-127.68 801.09,-125.36 868.4,-108.64"/>
+<polygon fill="royalblue" stroke="royalblue" points="868.83,-112.14 877.69,-106.31 867.13,-105.35 868.83,-112.14"/>
+</g>
+<!-- AIRPLANE&#45;&gt;v22 -->
+<g id="edge14" class="edge">
+<title>AIRPLANE&#45;&gt;v22</title>
+<path fill="none" stroke="royalblue" d="M227.1,-71.7C227.1,-64.41 227.1,-55.73 227.1,-47.54"/>
+<polygon fill="royalblue" stroke="royalblue" points="230.6,-47.62 227.1,-37.62 223.6,-47.62 230.6,-47.62"/>
+</g>
+<!-- AIRPLANE&#45;&gt;a380 -->
+<g id="edge15" class="edge">
+<title>AIRPLANE&#45;&gt;a380</title>
+<path fill="none" stroke="royalblue" d="M200.13,-71.52C186.49,-62.68 169.76,-51.84 155.05,-42.3"/>
+<polygon fill="royalblue" stroke="royalblue" points="157.3,-39.59 147,-37.08 153.49,-45.46 157.3,-39.59"/>
+</g>
+<!-- HELICOPTER&#45;&gt;r44 -->
+<g id="edge17" class="edge">
+<title>HELICOPTER&#45;&gt;r44</title>
+<path fill="none" stroke="royalblue" d="M362.84,-71.7C374.12,-63.11 387.93,-52.61 400.24,-43.24"/>
+<polygon fill="royalblue" stroke="royalblue" points="402.26,-46.1 408.1,-37.26 398.02,-40.53 402.26,-46.1"/>
+</g>
+<!-- HELICOPTER&#45;&gt;v22 -->
+<g id="edge16" class="edge">
+<title>HELICOPTER&#45;&gt;v22</title>
+<path fill="none" stroke="royalblue" d="M311.88,-71.52C297.37,-62.53 279.51,-51.47 263.93,-41.81"/>
+<polygon fill="royalblue" stroke="royalblue" points="266.2,-39.11 255.86,-36.82 262.52,-45.06 266.2,-39.11"/>
+</g>
+<!-- HOVERCRAFT&#45;&gt;bht130 -->
+<g id="edge18" class="edge">
+<title>HOVERCRAFT&#45;&gt;bht130</title>
+<path fill="none" stroke="royalblue" d="M879.18,-73.94C876.45,-73.27 873.75,-72.62 871.1,-72 792.5,-53.67 700.01,-36.37 646.51,-26.78"/>
+<polygon fill="royalblue" stroke="royalblue" points="647.34,-23.37 636.88,-25.06 646.11,-30.26 647.34,-23.37"/>
+</g>
+<!-- BICYCLE&#45;&gt;penny_farthing -->
+<g id="edge25" class="edge">
+<title>BICYCLE&#45;&gt;penny_farthing</title>
+<path fill="none" stroke="royalblue" d="M1010.63,-71.52C993.83,-62.47 973.12,-51.32 955.12,-41.62"/>
+<polygon fill="royalblue" stroke="royalblue" points="956.95,-38.64 946.49,-36.98 953.63,-44.8 956.95,-38.64"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-67061a0cb1a093d3d29cd2a417dc12c16a2e0b16.svg b/nightly_8.3/html/_images/graphviz-67061a0cb1a093d3d29cd2a417dc12c16a2e0b16.svg
new file mode 100644
index 00000000000..197088ca2cc
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-67061a0cb1a093d3d29cd2a417dc12c16a2e0b16.svg
@@ -0,0 +1,256 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: example Pages: 1 -->
+<svg width="504pt" height="468pt"
+ viewBox="0.00 0.00 504.00 467.90" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(0.467532 0.467532) rotate(0) translate(4 996.79)">
+<title>example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-996.79 1074,-996.79 1074,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_1</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="8,-589.87 8,-984.79 354,-984.79 354,-589.87 8,-589.87"/>
+<text text-anchor="middle" x="181" y="-967.49" font-family="sans" font-size="14.00">1</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_2</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="362,-296.31 362,-691.23 708,-691.23 708,-296.31 362,-296.31"/>
+<text text-anchor="middle" x="535" y="-673.93" font-family="sans" font-size="14.00">2</text>
+</g>
+<g id="clust3" class="cluster">
+<title>cluster_3</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="716,-8 716,-397.67 1062,-397.67 1062,-8 716,-8"/>
+<text text-anchor="middle" x="889" y="-380.37" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 1/pur -->
+<g id="node1" class="node">
+<title>1/pur</title>
+<ellipse fill="none" stroke="black" cx="256" cy="-921.49" rx="89.8" ry="30.05"/>
+<text text-anchor="middle" x="256" y="-925.44" font-family="sans" font-size="14.00">buy_ingredients</text>
+<text text-anchor="middle" x="256" y="-908.19" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/mak -->
+<g id="node2" class="node">
+<title>1/mak</title>
+<ellipse fill="none" stroke="black" cx="272" cy="-825.38" rx="73.89" ry="30.05"/>
+<text text-anchor="middle" x="272" y="-829.33" font-family="sans" font-size="14.00">make_dough</text>
+<text text-anchor="middle" x="272" y="-812.08" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/pur&#45;&gt;1/mak -->
+<g id="edge1" class="edge">
+<title>1/pur&#45;&gt;1/mak</title>
+<path fill="none" stroke="black" d="M260.97,-891.23C262.28,-883.53 263.72,-875.08 265.11,-866.9"/>
+<polygon fill="black" stroke="black" points="268.55,-867.56 266.77,-857.12 261.65,-866.39 268.55,-867.56"/>
+</g>
+<!-- 1/bak -->
+<g id="node3" class="node">
+<title>1/bak</title>
+<ellipse fill="none" stroke="black" cx="203" cy="-729.28" rx="67.53" ry="30.05"/>
+<text text-anchor="middle" x="203" y="-733.23" font-family="sans" font-size="14.00">bake_bread</text>
+<text text-anchor="middle" x="203" y="-715.98" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/mak&#45;&gt;1/bak -->
+<g id="edge2" class="edge">
+<title>1/mak&#45;&gt;1/bak</title>
+<path fill="none" stroke="black" d="M251.3,-796.15C244.62,-787.04 237.12,-776.81 230.05,-767.17"/>
+<polygon fill="black" stroke="black" points="233.08,-765.39 224.34,-759.39 227.44,-769.53 233.08,-765.39"/>
+</g>
+<!-- 1/sel -->
+<g id="node4" class="node">
+<title>1/sel</title>
+<ellipse fill="none" stroke="black" cx="135" cy="-627.93" rx="60.63" ry="30.05"/>
+<text text-anchor="middle" x="135" y="-631.88" font-family="sans" font-size="14.00">sell_bread</text>
+<text text-anchor="middle" x="135" y="-614.63" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/bak&#45;&gt;1/sel -->
+<g id="edge3" class="edge">
+<title>1/bak&#45;&gt;1/sel</title>
+<path fill="none" stroke="black" d="M183.7,-700.08C176.46,-689.5 168.12,-677.31 160.41,-666.05"/>
+<polygon fill="black" stroke="black" points="163.51,-664.38 154.97,-658.11 157.73,-668.34 163.51,-664.38"/>
+</g>
+<!-- 1/cle -->
+<g id="node5" class="node">
+<title>1/cle</title>
+<ellipse fill="none" stroke="black" cx="280" cy="-627.93" rx="65.94" ry="30.05"/>
+<text text-anchor="middle" x="280" y="-631.88" font-family="sans" font-size="14.00">clean_oven</text>
+<text text-anchor="middle" x="280" y="-614.63" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/bak&#45;&gt;1/cle -->
+<g id="edge5" class="edge">
+<title>1/bak&#45;&gt;1/cle</title>
+<path fill="none" stroke="black" d="M224.65,-700.34C233.01,-689.56 242.68,-677.08 251.58,-665.6"/>
+<polygon fill="black" stroke="black" points="254.22,-667.9 257.58,-657.85 248.69,-663.61 254.22,-667.9"/>
+</g>
+<!-- 2/pre -->
+<g id="node12" class="node">
+<title>2/pre</title>
+<ellipse fill="none" stroke="black" cx="452" cy="-531.82" rx="82.38" ry="30.05"/>
+<text text-anchor="middle" x="452" y="-535.77" font-family="sans" font-size="14.00">pre_heat_oven</text>
+<text text-anchor="middle" x="452" y="-518.52" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 1/cle&#45;&gt;2/pre -->
+<g id="edge6" class="edge">
+<title>1/cle&#45;&gt;2/pre</title>
+<path fill="none" stroke="black" d="M321.64,-604.15C344.36,-591.72 372.76,-576.17 397.26,-562.77"/>
+<polygon fill="black" stroke="black" points="398.71,-565.97 405.8,-558.1 395.35,-559.83 398.71,-565.97"/>
+</g>
+<!-- 1/pre -->
+<g id="node6" class="node">
+<title>1/pre</title>
+<ellipse fill="none" stroke="black" cx="98" cy="-825.38" rx="82.38" ry="30.05"/>
+<text text-anchor="middle" x="98" y="-829.33" font-family="sans" font-size="14.00">pre_heat_oven</text>
+<text text-anchor="middle" x="98" y="-812.08" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/pre&#45;&gt;1/bak -->
+<g id="edge4" class="edge">
+<title>1/pre&#45;&gt;1/bak</title>
+<path fill="none" stroke="black" d="M128.37,-797.17C139.77,-786.94 152.89,-775.2 164.9,-764.42"/>
+<polygon fill="black" stroke="black" points="167.18,-767.08 172.29,-757.8 162.51,-761.87 167.18,-767.08"/>
+</g>
+<!-- 2/pur -->
+<g id="node7" class="node">
+<title>2/pur</title>
+<ellipse fill="none" stroke="black" cx="610" cy="-627.93" rx="89.8" ry="30.05"/>
+<text text-anchor="middle" x="610" y="-631.88" font-family="sans" font-size="14.00">buy_ingredients</text>
+<text text-anchor="middle" x="610" y="-614.63" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/mak -->
+<g id="node8" class="node">
+<title>2/mak</title>
+<ellipse fill="none" stroke="black" cx="626" cy="-531.82" rx="73.89" ry="30.05"/>
+<text text-anchor="middle" x="626" y="-535.77" font-family="sans" font-size="14.00">make_dough</text>
+<text text-anchor="middle" x="626" y="-518.52" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/pur&#45;&gt;2/mak -->
+<g id="edge7" class="edge">
+<title>2/pur&#45;&gt;2/mak</title>
+<path fill="none" stroke="black" d="M614.97,-597.67C616.28,-589.97 617.72,-581.52 619.11,-573.34"/>
+<polygon fill="black" stroke="black" points="622.55,-574 620.77,-563.56 615.65,-572.83 622.55,-574"/>
+</g>
+<!-- 2/bak -->
+<g id="node9" class="node">
+<title>2/bak</title>
+<ellipse fill="none" stroke="black" cx="557" cy="-435.72" rx="67.53" ry="30.05"/>
+<text text-anchor="middle" x="557" y="-439.67" font-family="sans" font-size="14.00">bake_bread</text>
+<text text-anchor="middle" x="557" y="-422.42" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/mak&#45;&gt;2/bak -->
+<g id="edge8" class="edge">
+<title>2/mak&#45;&gt;2/bak</title>
+<path fill="none" stroke="black" d="M605.3,-502.59C598.62,-493.48 591.12,-483.25 584.05,-473.61"/>
+<polygon fill="black" stroke="black" points="587.08,-471.82 578.34,-465.83 581.44,-475.96 587.08,-471.82"/>
+</g>
+<!-- 2/sel -->
+<g id="node10" class="node">
+<title>2/sel</title>
+<ellipse fill="none" stroke="black" cx="489" cy="-334.36" rx="60.63" ry="30.05"/>
+<text text-anchor="middle" x="489" y="-338.31" font-family="sans" font-size="14.00">sell_bread</text>
+<text text-anchor="middle" x="489" y="-321.06" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/bak&#45;&gt;2/sel -->
+<g id="edge9" class="edge">
+<title>2/bak&#45;&gt;2/sel</title>
+<path fill="none" stroke="black" d="M537.7,-406.51C530.46,-395.94 522.12,-383.75 514.41,-372.49"/>
+<polygon fill="black" stroke="black" points="517.51,-370.82 508.97,-364.55 511.73,-374.77 517.51,-370.82"/>
+</g>
+<!-- 2/cle -->
+<g id="node11" class="node">
+<title>2/cle</title>
+<ellipse fill="none" stroke="black" cx="634" cy="-334.36" rx="65.94" ry="30.05"/>
+<text text-anchor="middle" x="634" y="-338.31" font-family="sans" font-size="14.00">clean_oven</text>
+<text text-anchor="middle" x="634" y="-321.06" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/bak&#45;&gt;2/cle -->
+<g id="edge11" class="edge">
+<title>2/bak&#45;&gt;2/cle</title>
+<path fill="none" stroke="black" d="M578.65,-406.78C587.01,-396 596.68,-383.52 605.58,-372.04"/>
+<polygon fill="black" stroke="black" points="608.22,-374.34 611.58,-364.29 602.69,-370.05 608.22,-374.34"/>
+</g>
+<!-- 3/pre -->
+<g id="node18" class="node">
+<title>3/pre</title>
+<ellipse fill="none" stroke="black" cx="806" cy="-238.26" rx="82.38" ry="30.05"/>
+<text text-anchor="middle" x="806" y="-242.21" font-family="sans" font-size="14.00">pre_heat_oven</text>
+<text text-anchor="middle" x="806" y="-224.96" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 2/cle&#45;&gt;3/pre -->
+<g id="edge12" class="edge">
+<title>2/cle&#45;&gt;3/pre</title>
+<path fill="none" stroke="black" d="M675.64,-310.58C698.36,-298.15 726.76,-282.61 751.26,-269.21"/>
+<polygon fill="black" stroke="black" points="752.71,-272.41 759.8,-264.53 749.35,-266.26 752.71,-272.41"/>
+</g>
+<!-- 2/pre&#45;&gt;2/bak -->
+<g id="edge10" class="edge">
+<title>2/pre&#45;&gt;2/bak</title>
+<path fill="none" stroke="black" d="M482.37,-503.6C493.77,-493.38 506.89,-481.63 518.9,-470.86"/>
+<polygon fill="black" stroke="black" points="521.18,-473.52 526.29,-464.24 516.51,-468.3 521.18,-473.52"/>
+</g>
+<!-- 3/pur -->
+<g id="node13" class="node">
+<title>3/pur</title>
+<ellipse fill="none" stroke="black" cx="964" cy="-334.36" rx="89.8" ry="30.05"/>
+<text text-anchor="middle" x="964" y="-338.31" font-family="sans" font-size="14.00">buy_ingredients</text>
+<text text-anchor="middle" x="964" y="-321.06" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/mak -->
+<g id="node14" class="node">
+<title>3/mak</title>
+<ellipse fill="none" stroke="black" cx="980" cy="-238.26" rx="73.89" ry="30.05"/>
+<text text-anchor="middle" x="980" y="-242.21" font-family="sans" font-size="14.00">make_dough</text>
+<text text-anchor="middle" x="980" y="-224.96" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/pur&#45;&gt;3/mak -->
+<g id="edge13" class="edge">
+<title>3/pur&#45;&gt;3/mak</title>
+<path fill="none" stroke="black" d="M968.97,-304.1C970.28,-296.4 971.72,-287.96 973.11,-279.78"/>
+<polygon fill="black" stroke="black" points="976.55,-280.44 974.77,-269.99 969.65,-279.27 976.55,-280.44"/>
+</g>
+<!-- 3/bak -->
+<g id="node15" class="node">
+<title>3/bak</title>
+<ellipse fill="none" stroke="black" cx="873" cy="-142.16" rx="67.53" ry="30.05"/>
+<text text-anchor="middle" x="873" y="-146.11" font-family="sans" font-size="14.00">bake_bread</text>
+<text text-anchor="middle" x="873" y="-128.86" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/mak&#45;&gt;3/bak -->
+<g id="edge14" class="edge">
+<title>3/mak&#45;&gt;3/bak</title>
+<path fill="none" stroke="black" d="M949.62,-210.55C937.68,-200.04 923.82,-187.85 911.21,-176.76"/>
+<polygon fill="black" stroke="black" points="913.67,-174.26 903.85,-170.29 909.05,-179.52 913.67,-174.26"/>
+</g>
+<!-- 3/sel -->
+<g id="node16" class="node">
+<title>3/sel</title>
+<ellipse fill="none" stroke="black" cx="795" cy="-46.05" rx="60.63" ry="30.05"/>
+<text text-anchor="middle" x="795" y="-50" font-family="sans" font-size="14.00">sell_bread</text>
+<text text-anchor="middle" x="795" y="-32.75" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/bak&#45;&gt;3/sel -->
+<g id="edge15" class="edge">
+<title>3/bak&#45;&gt;3/sel</title>
+<path fill="none" stroke="black" d="M850.02,-113.43C842.09,-103.87 833.1,-93.02 824.72,-82.91"/>
+<polygon fill="black" stroke="black" points="827.59,-80.89 818.51,-75.42 822.2,-85.35 827.59,-80.89"/>
+</g>
+<!-- 3/cle -->
+<g id="node17" class="node">
+<title>3/cle</title>
+<ellipse fill="none" stroke="black" cx="940" cy="-46.05" rx="65.94" ry="30.05"/>
+<text text-anchor="middle" x="940" y="-50" font-family="sans" font-size="14.00">clean_oven</text>
+<text text-anchor="middle" x="940" y="-32.75" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/bak&#45;&gt;3/cle -->
+<g id="edge17" class="edge">
+<title>3/bak&#45;&gt;3/cle</title>
+<path fill="none" stroke="black" d="M892.92,-113.18C899.34,-104.16 906.57,-94.01 913.39,-84.42"/>
+<polygon fill="black" stroke="black" points="916.21,-86.5 919.16,-76.32 910.51,-82.44 916.21,-86.5"/>
+</g>
+<!-- 3/pre&#45;&gt;3/bak -->
+<g id="edge16" class="edge">
+<title>3/pre&#45;&gt;3/bak</title>
+<path fill="none" stroke="black" d="M826.28,-208.77C832.64,-199.84 839.75,-189.86 846.47,-180.42"/>
+<polygon fill="black" stroke="black" points="849.19,-182.63 852.14,-172.46 843.49,-178.57 849.19,-182.63"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-8e0c9728aa86a233cf46544e68a49dea2fe207ab.svg b/nightly_8.3/html/_images/graphviz-8e0c9728aa86a233cf46544e68a49dea2fe207ab.svg
new file mode 100644
index 00000000000..4b8960944ee
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-8e0c9728aa86a233cf46544e68a49dea2fe207ab.svg
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Example Pages: 1 -->
+<svg width="65pt" height="188pt"
+ viewBox="0.00 0.00 65.17 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">
+<title>Example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-184 61.17,-184 61.17,4 -4,4"/>
+<!-- foo -->
+<g id="node1" class="node">
+<title>foo</title>
+<ellipse fill="#ada5a5" stroke="#ada5a5" cx="28.59" cy="-162" rx="27" ry="18"/>
+<text text-anchor="middle" x="28.59" y="-157.32" font-family="sans" font-size="14.00">foo</text>
+</g>
+<!-- bar -->
+<g id="node2" class="node">
+<title>bar</title>
+<ellipse fill="#ff0000" stroke="#ff0000" cx="28.59" cy="-90" rx="27.53" ry="18"/>
+<text text-anchor="middle" x="28.59" y="-85.33" font-family="sans" font-size="14.00" fill="white">bar</text>
+</g>
+<!-- foo&#45;&gt;bar -->
+<g id="edge1" class="edge">
+<title>foo&#45;&gt;bar</title>
+<path fill="none" stroke="black" d="M28.59,-143.7C28.59,-136.41 28.59,-127.73 28.59,-119.54"/>
+<polygon fill="black" stroke="black" points="32.09,-119.62 28.59,-109.62 25.09,-119.62 32.09,-119.62"/>
+</g>
+<!-- baz -->
+<g id="node3" class="node">
+<title>baz</title>
+<ellipse fill="none" stroke="#88c6ff" cx="28.59" cy="-18" rx="28.59" ry="18"/>
+<text text-anchor="middle" x="28.59" y="-13.32" font-family="sans" font-size="14.00">baz</text>
+</g>
+<!-- bar&#45;&gt;baz -->
+<g id="edge2" class="edge">
+<title>bar&#45;&gt;baz</title>
+<path fill="none" stroke="black" d="M28.59,-71.7C28.59,-64.41 28.59,-55.73 28.59,-47.54"/>
+<polygon fill="black" stroke="black" points="32.09,-47.62 28.59,-37.62 25.09,-47.62 32.09,-47.62"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-8e506f6bf51898e3f9d2d2af1fa383f3d3b2bcbc.svg b/nightly_8.3/html/_images/graphviz-8e506f6bf51898e3f9d2d2af1fa383f3d3b2bcbc.svg
new file mode 100644
index 00000000000..0fd3967a754
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-8e506f6bf51898e3f9d2d2af1fa383f3d3b2bcbc.svg
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Pages: 1 -->
+<svg width="534pt" height="2607pt"
+ viewBox="0.00 0.00 533.50 2607.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 2603.25)">
+<polygon fill="none" stroke="none" points="-4,4 -4,-2603.25 529.5,-2603.25 529.5,4 -4,4"/>
+<!-- absolute_outputs -->
+<g id="node1" class="node">
+<title>absolute_outputs</title>
+<polygon fill="none" stroke="black" points="39.5,-85.75 39.5,-115.25 204.75,-115.25 204.75,-85.75 39.5,-85.75"/>
+<text text-anchor="start" x="44.5" y="-96.05" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">absolute_outputs</text>
+<polygon fill="none" stroke="black" points="39.5,-58.5 39.5,-85.75 204.75,-85.75 204.75,-58.5 39.5,-58.5"/>
+<text text-anchor="start" x="44.5" y="-67.45" font-family="Helvetica,sans-Serif" font-size="14.00">cycle</text>
+<polygon fill="none" stroke="black" points="39.5,-31.25 39.5,-58.5 204.75,-58.5 204.75,-31.25 39.5,-31.25"/>
+<text text-anchor="start" x="44.5" y="-40.2" font-family="Helvetica,sans-Serif" font-size="14.00">name</text>
+<polygon fill="none" stroke="black" points="39.5,-4 39.5,-31.25 204.75,-31.25 204.75,-4 39.5,-4"/>
+<text text-anchor="start" x="44.5" y="-12.95" font-family="Helvetica,sans-Serif" font-size="14.00">output</text>
+</g>
+<!-- broadcast_events -->
+<g id="node2" class="node">
+<title>broadcast_events</title>
+<polygon fill="none" stroke="black" points="38,-304.62 38,-334.12 206.25,-334.12 206.25,-304.62 38,-304.62"/>
+<text text-anchor="start" x="43" y="-314.93" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">broadcast_events</text>
+<polygon fill="none" stroke="black" points="38,-277.38 38,-304.62 206.25,-304.62 206.25,-277.38 38,-277.38"/>
+<text text-anchor="start" x="43" y="-286.32" font-family="Helvetica,sans-Serif" font-size="14.00">time</text>
+<polygon fill="none" stroke="black" points="38,-250.12 38,-277.38 206.25,-277.38 206.25,-250.12 38,-250.12"/>
+<text text-anchor="start" x="43" y="-259.07" font-family="Helvetica,sans-Serif" font-size="14.00">change</text>
+<polygon fill="none" stroke="black" points="38,-222.88 38,-250.12 206.25,-250.12 206.25,-222.88 38,-222.88"/>
+<text text-anchor="start" x="43" y="-231.82" font-family="Helvetica,sans-Serif" font-size="14.00">point</text>
+<polygon fill="none" stroke="black" points="38,-195.62 38,-222.88 206.25,-222.88 206.25,-195.62 38,-195.62"/>
+<text text-anchor="start" x="43" y="-204.57" font-family="Helvetica,sans-Serif" font-size="14.00">namespace</text>
+<polygon fill="none" stroke="black" points="38,-168.38 38,-195.62 206.25,-195.62 206.25,-168.38 38,-168.38"/>
+<text text-anchor="start" x="43" y="-177.32" font-family="Helvetica,sans-Serif" font-size="14.00">key</text>
+<polygon fill="none" stroke="black" points="38,-141.12 38,-168.38 206.25,-168.38 206.25,-141.12 38,-141.12"/>
+<text text-anchor="start" x="43" y="-150.07" font-family="Helvetica,sans-Serif" font-size="14.00">value</text>
+</g>
+<!-- broadcast_states -->
+<g id="node3" class="node">
+<title>broadcast_states</title>
+<polygon fill="none" stroke="black" points="40.25,-469.38 40.25,-498.88 204,-498.88 204,-469.38 40.25,-469.38"/>
+<text text-anchor="start" x="45.25" y="-479.68" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">broadcast_states</text>
+<polygon fill="none" stroke="black" points="40.25,-442.12 40.25,-469.38 204,-469.38 204,-442.12 40.25,-442.12"/>
+<text text-anchor="start" x="45.25" y="-452.07" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">point</text>
+<polygon fill="none" stroke="black" points="40.25,-414.88 40.25,-442.12 204,-442.12 204,-414.88 40.25,-414.88"/>
+<text text-anchor="start" x="45.25" y="-424.82" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">namespace</text>
+<polygon fill="none" stroke="black" points="40.25,-387.62 40.25,-414.88 204,-414.88 204,-387.62 40.25,-387.62"/>
+<text text-anchor="start" x="45.25" y="-397.57" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">key</text>
+<polygon fill="none" stroke="black" points="40.25,-360.38 40.25,-387.62 204,-387.62 204,-360.38 40.25,-360.38"/>
+<text text-anchor="start" x="45.25" y="-369.32" font-family="Helvetica,sans-Serif" font-size="14.00">value</text>
+</g>
+<!-- inheritance -->
+<g id="node4" class="node">
+<title>inheritance</title>
+<polygon fill="none" stroke="black" points="66.5,-579.12 66.5,-608.62 177.75,-608.62 177.75,-579.12 66.5,-579.12"/>
+<text text-anchor="start" x="71.5" y="-589.42" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">inheritance</text>
+<polygon fill="none" stroke="black" points="66.5,-551.88 66.5,-579.12 177.75,-579.12 177.75,-551.88 66.5,-551.88"/>
+<text text-anchor="start" x="71.5" y="-561.83" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">namespace</text>
+<polygon fill="none" stroke="black" points="66.5,-524.62 66.5,-551.88 177.75,-551.88 177.75,-524.62 66.5,-524.62"/>
+<text text-anchor="start" x="71.5" y="-533.58" font-family="Helvetica,sans-Serif" font-size="14.00">inheritance</text>
+</g>
+<!-- task_action_timers -->
+<g id="node5" class="node">
+<title>task_action_timers</title>
+<polygon fill="none" stroke="black" points="332.38,-1167.88 332.38,-1197.38 510.38,-1197.38 510.38,-1167.88 332.38,-1167.88"/>
+<text text-anchor="start" x="337.38" y="-1178.17" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">task_action_timers</text>
+<polygon fill="none" stroke="black" points="332.38,-1140.62 332.38,-1167.88 510.38,-1167.88 510.38,-1140.62 332.38,-1140.62"/>
+<text text-anchor="start" x="337.38" y="-1150.58" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">cycle</text>
+<polygon fill="none" stroke="black" points="332.38,-1113.38 332.38,-1140.62 510.38,-1140.62 510.38,-1113.38 332.38,-1113.38"/>
+<text text-anchor="start" x="337.38" y="-1123.33" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">name</text>
+<polygon fill="none" stroke="black" points="332.38,-1086.12 332.38,-1113.38 510.38,-1113.38 510.38,-1086.12 332.38,-1086.12"/>
+<text text-anchor="start" x="337.38" y="-1096.08" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">ctx_key</text>
+<polygon fill="none" stroke="black" points="332.38,-1058.88 332.38,-1086.12 510.38,-1086.12 510.38,-1058.88 332.38,-1058.88"/>
+<text text-anchor="start" x="337.38" y="-1067.83" font-family="Helvetica,sans-Serif" font-size="14.00">ctx</text>
+<polygon fill="none" stroke="black" points="332.38,-1031.62 332.38,-1058.88 510.38,-1058.88 510.38,-1031.62 332.38,-1031.62"/>
+<text text-anchor="start" x="337.38" y="-1040.58" font-family="Helvetica,sans-Serif" font-size="14.00">delays</text>
+<polygon fill="none" stroke="black" points="332.38,-1004.38 332.38,-1031.62 510.38,-1031.62 510.38,-1004.38 332.38,-1004.38"/>
+<text text-anchor="start" x="337.38" y="-1013.33" font-family="Helvetica,sans-Serif" font-size="14.00">num</text>
+<polygon fill="none" stroke="black" points="332.38,-977.12 332.38,-1004.38 510.38,-1004.38 510.38,-977.12 332.38,-977.12"/>
+<text text-anchor="start" x="337.38" y="-986.08" font-family="Helvetica,sans-Serif" font-size="14.00">delay</text>
+<polygon fill="none" stroke="black" points="332.38,-949.88 332.38,-977.12 510.38,-977.12 510.38,-949.88 332.38,-949.88"/>
+<text text-anchor="start" x="337.38" y="-958.83" font-family="Helvetica,sans-Serif" font-size="14.00">timeout</text>
+</g>
+<!-- task_events -->
+<g id="node6" class="node">
+<title>task_events</title>
+<polygon fill="none" stroke="black" points="363.12,-1878.62 363.12,-1908.12 479.62,-1908.12 479.62,-1878.62 363.12,-1878.62"/>
+<text text-anchor="start" x="368.12" y="-1888.92" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">task_events</text>
+<polygon fill="none" stroke="black" points="363.12,-1851.38 363.12,-1878.62 479.62,-1878.62 479.62,-1851.38 363.12,-1851.38"/>
+<text text-anchor="start" x="368.12" y="-1860.33" font-family="Helvetica,sans-Serif" font-size="14.00">name</text>
+<polygon fill="none" stroke="black" points="363.12,-1824.12 363.12,-1851.38 479.62,-1851.38 479.62,-1824.12 363.12,-1824.12"/>
+<text text-anchor="start" x="368.12" y="-1833.08" font-family="Helvetica,sans-Serif" font-size="14.00">cycle</text>
+<polygon fill="none" stroke="black" points="363.12,-1796.88 363.12,-1824.12 479.62,-1824.12 479.62,-1796.88 363.12,-1796.88"/>
+<text text-anchor="start" x="368.12" y="-1805.83" font-family="Helvetica,sans-Serif" font-size="14.00">time</text>
+<polygon fill="none" stroke="black" points="363.12,-1769.62 363.12,-1796.88 479.62,-1796.88 479.62,-1769.62 363.12,-1769.62"/>
+<text text-anchor="start" x="368.12" y="-1778.58" font-family="Helvetica,sans-Serif" font-size="14.00">submit_num</text>
+<polygon fill="none" stroke="black" points="363.12,-1742.38 363.12,-1769.62 479.62,-1769.62 479.62,-1742.38 363.12,-1742.38"/>
+<text text-anchor="start" x="368.12" y="-1751.33" font-family="Helvetica,sans-Serif" font-size="14.00">event</text>
+<polygon fill="none" stroke="black" points="363.12,-1715.12 363.12,-1742.38 479.62,-1742.38 479.62,-1715.12 363.12,-1715.12"/>
+<text text-anchor="start" x="368.12" y="-1724.08" font-family="Helvetica,sans-Serif" font-size="14.00">message</text>
+</g>
+<!-- task_jobs -->
+<g id="node7" class="node">
+<title>task_jobs</title>
+<polygon fill="none" stroke="black" points="354.12,-1659.88 354.12,-1689.38 488.62,-1689.38 488.62,-1659.88 354.12,-1659.88"/>
+<text text-anchor="start" x="379.38" y="-1670.17" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">task_jobs</text>
+<polygon fill="none" stroke="black" points="354.12,-1632.62 354.12,-1659.88 488.62,-1659.88 488.62,-1632.62 354.12,-1632.62"/>
+<text text-anchor="start" x="359.12" y="-1642.58" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">cycle</text>
+<polygon fill="none" stroke="black" points="354.12,-1605.38 354.12,-1632.62 488.62,-1632.62 488.62,-1605.38 354.12,-1605.38"/>
+<text text-anchor="start" x="359.12" y="-1615.33" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">name</text>
+<polygon fill="none" stroke="black" points="354.12,-1578.12 354.12,-1605.38 488.62,-1605.38 488.62,-1578.12 354.12,-1578.12"/>
+<text text-anchor="start" x="359.12" y="-1588.08" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">submit_num</text>
+<polygon fill="none" stroke="black" points="354.12,-1550.88 354.12,-1578.12 488.62,-1578.12 488.62,-1550.88 354.12,-1550.88"/>
+<text text-anchor="start" x="359.12" y="-1559.83" font-family="Helvetica,sans-Serif" font-size="14.00">flow_nums</text>
+<polygon fill="none" stroke="black" points="354.12,-1523.62 354.12,-1550.88 488.62,-1550.88 488.62,-1523.62 354.12,-1523.62"/>
+<text text-anchor="start" x="359.12" y="-1532.58" font-family="Helvetica,sans-Serif" font-size="14.00">is_manual_submit</text>
+<polygon fill="none" stroke="black" points="354.12,-1496.38 354.12,-1523.62 488.62,-1523.62 488.62,-1496.38 354.12,-1496.38"/>
+<text text-anchor="start" x="359.12" y="-1505.33" font-family="Helvetica,sans-Serif" font-size="14.00">try_num</text>
+<polygon fill="none" stroke="black" points="354.12,-1469.12 354.12,-1496.38 488.62,-1496.38 488.62,-1469.12 354.12,-1469.12"/>
+<text text-anchor="start" x="359.12" y="-1478.08" font-family="Helvetica,sans-Serif" font-size="14.00">time_submit</text>
+<polygon fill="none" stroke="black" points="354.12,-1441.88 354.12,-1469.12 488.62,-1469.12 488.62,-1441.88 354.12,-1441.88"/>
+<text text-anchor="start" x="359.12" y="-1450.83" font-family="Helvetica,sans-Serif" font-size="14.00">time_submit_exit</text>
+<polygon fill="none" stroke="black" points="354.12,-1414.62 354.12,-1441.88 488.62,-1441.88 488.62,-1414.62 354.12,-1414.62"/>
+<text text-anchor="start" x="359.12" y="-1423.58" font-family="Helvetica,sans-Serif" font-size="14.00">submit_status</text>
+<polygon fill="none" stroke="black" points="354.12,-1387.38 354.12,-1414.62 488.62,-1414.62 488.62,-1387.38 354.12,-1387.38"/>
+<text text-anchor="start" x="359.12" y="-1396.33" font-family="Helvetica,sans-Serif" font-size="14.00">time_run</text>
+<polygon fill="none" stroke="black" points="354.12,-1360.12 354.12,-1387.38 488.62,-1387.38 488.62,-1360.12 354.12,-1360.12"/>
+<text text-anchor="start" x="359.12" y="-1369.08" font-family="Helvetica,sans-Serif" font-size="14.00">time_run_exit</text>
+<polygon fill="none" stroke="black" points="354.12,-1332.88 354.12,-1360.12 488.62,-1360.12 488.62,-1332.88 354.12,-1332.88"/>
+<text text-anchor="start" x="359.12" y="-1341.83" font-family="Helvetica,sans-Serif" font-size="14.00">run_signal</text>
+<polygon fill="none" stroke="black" points="354.12,-1305.62 354.12,-1332.88 488.62,-1332.88 488.62,-1305.62 354.12,-1305.62"/>
+<text text-anchor="start" x="359.12" y="-1314.58" font-family="Helvetica,sans-Serif" font-size="14.00">run_status</text>
+<polygon fill="none" stroke="black" points="354.12,-1278.38 354.12,-1305.62 488.62,-1305.62 488.62,-1278.38 354.12,-1278.38"/>
+<text text-anchor="start" x="359.12" y="-1287.33" font-family="Helvetica,sans-Serif" font-size="14.00">platform_name</text>
+<polygon fill="none" stroke="black" points="354.12,-1251.12 354.12,-1278.38 488.62,-1278.38 488.62,-1251.12 354.12,-1251.12"/>
+<text text-anchor="start" x="359.12" y="-1260.08" font-family="Helvetica,sans-Serif" font-size="14.00">job_runner_name</text>
+<polygon fill="none" stroke="black" points="354.12,-1223.88 354.12,-1251.12 488.62,-1251.12 488.62,-1223.88 354.12,-1223.88"/>
+<text text-anchor="start" x="359.12" y="-1232.83" font-family="Helvetica,sans-Serif" font-size="14.00">job_id</text>
+</g>
+<!-- task_late_flags -->
+<g id="node8" class="node">
+<title>task_late_flags</title>
+<polygon fill="none" stroke="black" points="350.38,-894.75 350.38,-924.25 492.38,-924.25 492.38,-894.75 350.38,-894.75"/>
+<text text-anchor="start" x="355.38" y="-905.05" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">task_late_flags</text>
+<polygon fill="none" stroke="black" points="350.38,-867.5 350.38,-894.75 492.38,-894.75 492.38,-867.5 350.38,-867.5"/>
+<text text-anchor="start" x="355.38" y="-877.45" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">cycle</text>
+<polygon fill="none" stroke="black" points="350.38,-840.25 350.38,-867.5 492.38,-867.5 492.38,-840.25 350.38,-840.25"/>
+<text text-anchor="start" x="355.38" y="-850.2" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">name</text>
+<polygon fill="none" stroke="black" points="350.38,-813 350.38,-840.25 492.38,-840.25 492.38,-813 350.38,-813"/>
+<text text-anchor="start" x="355.38" y="-821.95" font-family="Helvetica,sans-Serif" font-size="14.00">value</text>
+</g>
+<!-- task_outputs -->
+<g id="node9" class="node">
+<title>task_outputs</title>
+<polygon fill="none" stroke="black" points="358.25,-757.38 358.25,-786.88 484.5,-786.88 484.5,-757.38 358.25,-757.38"/>
+<text text-anchor="start" x="363.25" y="-767.67" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">task_outputs</text>
+<polygon fill="none" stroke="black" points="358.25,-730.12 358.25,-757.38 484.5,-757.38 484.5,-730.12 358.25,-730.12"/>
+<text text-anchor="start" x="363.25" y="-740.08" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">cycle</text>
+<polygon fill="none" stroke="black" points="358.25,-702.88 358.25,-730.12 484.5,-730.12 484.5,-702.88 358.25,-702.88"/>
+<text text-anchor="start" x="363.25" y="-712.83" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">name</text>
+<polygon fill="none" stroke="black" points="358.25,-675.62 358.25,-702.88 484.5,-702.88 484.5,-675.62 358.25,-675.62"/>
+<text text-anchor="start" x="363.25" y="-685.58" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">flow_nums</text>
+<polygon fill="none" stroke="black" points="358.25,-648.38 358.25,-675.62 484.5,-675.62 484.5,-648.38 358.25,-648.38"/>
+<text text-anchor="start" x="363.25" y="-657.33" font-family="Helvetica,sans-Serif" font-size="14.00">outputs</text>
+</g>
+<!-- task_pool -->
+<g id="node10" class="node">
+<title>task_pool</title>
+<polygon fill="none" stroke="black" points="74.38,-771 74.38,-800.5 169.88,-800.5 169.88,-771 74.38,-771"/>
+<text text-anchor="start" x="79.38" y="-781.3" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">task_pool</text>
+<polygon fill="none" stroke="black" points="74.38,-743.75 74.38,-771 169.88,-771 169.88,-743.75 74.38,-743.75"/>
+<text text-anchor="start" x="79.38" y="-753.7" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">cycle</text>
+<polygon fill="none" stroke="black" points="74.38,-716.5 74.38,-743.75 169.88,-743.75 169.88,-716.5 74.38,-716.5"/>
+<text text-anchor="start" x="79.38" y="-726.45" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">name</text>
+<polygon fill="none" stroke="black" points="74.38,-689.25 74.38,-716.5 169.88,-716.5 169.88,-689.25 74.38,-689.25"/>
+<text text-anchor="start" x="79.38" y="-699.2" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">flow_nums</text>
+<polygon fill="none" stroke="black" points="74.38,-662 74.38,-689.25 169.88,-689.25 169.88,-662 74.38,-662"/>
+<text text-anchor="start" x="79.38" y="-670.95" font-family="Helvetica,sans-Serif" font-size="14.00">status</text>
+<polygon fill="none" stroke="black" points="74.38,-634.75 74.38,-662 169.88,-662 169.88,-634.75 74.38,-634.75"/>
+<text text-anchor="start" x="79.38" y="-643.7" font-family="Helvetica,sans-Serif" font-size="14.00">is_held</text>
+</g>
+<!-- task_pool&#45;&#45;task_action_timers -->
+<g id="edge3" class="edge">
+<title>task_pool&#45;&#45;task_action_timers</title>
+<path fill="none" stroke="#7f7f7f" stroke-dasharray="5,2" d="M177.65,-782.92C218.62,-832 275.82,-900.5 324.4,-958.68"/>
+<text text-anchor="start" x="283.9" y="-945.38" font-family="Times,serif" font-size="14.00">{0,1}</text>
+<text text-anchor="start" x="177.65" y="-769.62" font-family="Times,serif" font-size="14.00">0..N</text>
+</g>
+<!-- task_pool&#45;&#45;task_late_flags -->
+<g id="edge4" class="edge">
+<title>task_pool&#45;&#45;task_late_flags</title>
+<path fill="none" stroke="#7f7f7f" stroke-dasharray="5,2" d="M177.65,-745.32C223.82,-768.78 290.58,-802.69 342.41,-829.02"/>
+<text text-anchor="start" x="301.91" y="-815.72" font-family="Times,serif" font-size="14.00">{0,1}</text>
+<text text-anchor="start" x="177.65" y="-732.02" font-family="Times,serif" font-size="14.00">{0,1}</text>
+</g>
+<!-- task_pool&#45;&#45;task_outputs -->
+<g id="edge5" class="edge">
+<title>task_pool&#45;&#45;task_outputs</title>
+<path fill="none" stroke="#7f7f7f" stroke-dasharray="5,2" d="M177.65,-717.62C226.25,-717.62 297.67,-717.62 350.46,-717.62"/>
+<text text-anchor="start" x="309.96" y="-704.33" font-family="Times,serif" font-size="14.00">{0,1}</text>
+<text text-anchor="start" x="177.65" y="-704.33" font-family="Times,serif" font-size="14.00">0..N</text>
+</g>
+<!-- task_prerequisites -->
+<g id="node11" class="node">
+<title>task_prerequisites</title>
+<polygon fill="none" stroke="black" points="333.5,-593.25 333.5,-622.75 509.25,-622.75 509.25,-593.25 333.5,-593.25"/>
+<text text-anchor="start" x="338.5" y="-603.55" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">task_prerequisites</text>
+<polygon fill="none" stroke="black" points="333.5,-566 333.5,-593.25 509.25,-593.25 509.25,-566 333.5,-566"/>
+<text text-anchor="start" x="338.5" y="-575.95" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">cycle</text>
+<polygon fill="none" stroke="black" points="333.5,-538.75 333.5,-566 509.25,-566 509.25,-538.75 333.5,-538.75"/>
+<text text-anchor="start" x="338.5" y="-548.7" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">name</text>
+<polygon fill="none" stroke="black" points="333.5,-511.5 333.5,-538.75 509.25,-538.75 509.25,-511.5 333.5,-511.5"/>
+<text text-anchor="start" x="338.5" y="-521.45" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">flow_nums</text>
+<polygon fill="none" stroke="black" points="333.5,-484.25 333.5,-511.5 509.25,-511.5 509.25,-484.25 333.5,-484.25"/>
+<text text-anchor="start" x="338.5" y="-494.2" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">prereq_name</text>
+<polygon fill="none" stroke="black" points="333.5,-457 333.5,-484.25 509.25,-484.25 509.25,-457 333.5,-457"/>
+<text text-anchor="start" x="338.5" y="-466.95" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">prereq_cycle</text>
+<polygon fill="none" stroke="black" points="333.5,-429.75 333.5,-457 509.25,-457 509.25,-429.75 333.5,-429.75"/>
+<text text-anchor="start" x="338.5" y="-439.7" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">prereq_output</text>
+<polygon fill="none" stroke="black" points="333.5,-402.5 333.5,-429.75 509.25,-429.75 509.25,-402.5 333.5,-402.5"/>
+<text text-anchor="start" x="338.5" y="-411.45" font-family="Helvetica,sans-Serif" font-size="14.00">satisfied</text>
+</g>
+<!-- task_pool&#45;&#45;task_prerequisites -->
+<g id="edge6" class="edge">
+<title>task_pool&#45;&#45;task_prerequisites</title>
+<path fill="none" stroke="#7f7f7f" stroke-dasharray="5,2" d="M177.65,-680.02C218.96,-651.53 276.76,-611.67 325.59,-578"/>
+<text text-anchor="start" x="285.09" y="-564.7" font-family="Times,serif" font-size="14.00">{0,1}</text>
+<text text-anchor="start" x="177.65" y="-666.72" font-family="Times,serif" font-size="14.00">0..N</text>
+</g>
+<!-- task_timeout_timers -->
+<g id="node13" class="node">
+<title>task_timeout_timers</title>
+<polygon fill="none" stroke="black" points="325.25,-346.75 325.25,-376.25 517.5,-376.25 517.5,-346.75 325.25,-346.75"/>
+<text text-anchor="start" x="330.25" y="-357.05" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">task_timeout_timers</text>
+<polygon fill="none" stroke="black" points="325.25,-319.5 325.25,-346.75 517.5,-346.75 517.5,-319.5 325.25,-319.5"/>
+<text text-anchor="start" x="330.25" y="-329.45" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">cycle</text>
+<polygon fill="none" stroke="black" points="325.25,-292.25 325.25,-319.5 517.5,-319.5 517.5,-292.25 325.25,-292.25"/>
+<text text-anchor="start" x="330.25" y="-302.2" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">name</text>
+<polygon fill="none" stroke="black" points="325.25,-265 325.25,-292.25 517.5,-292.25 517.5,-265 325.25,-265"/>
+<text text-anchor="start" x="330.25" y="-273.95" font-family="Helvetica,sans-Serif" font-size="14.00">timeout</text>
+</g>
+<!-- task_pool&#45;&#45;task_timeout_timers -->
+<g id="edge7" class="edge">
+<title>task_pool&#45;&#45;task_timeout_timers</title>
+<path fill="none" stroke="#7f7f7f" stroke-dasharray="5,2" d="M177.58,-685.04C200.99,-668.62 226.91,-646.82 244.25,-621.62 305.53,-532.58 252.44,-476.13 317.25,-389.62 319.7,-386.35 322.36,-383.18 325.18,-380.12"/>
+<text text-anchor="start" x="284.68" y="-384.07" font-family="Times,serif" font-size="14.00">{0,1}</text>
+<text text-anchor="start" x="177.58" y="-684.68" font-family="Times,serif" font-size="14.00">{0,1}</text>
+</g>
+<!-- task_states -->
+<g id="node12" class="node">
+<title>task_states</title>
+<polygon fill="none" stroke="black" points="54.88,-1742.5 54.88,-1772 189.38,-1772 189.38,-1742.5 54.88,-1742.5"/>
+<text text-anchor="start" x="71.12" y="-1752.8" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">task_states</text>
+<polygon fill="none" stroke="black" points="54.88,-1715.25 54.88,-1742.5 189.38,-1742.5 189.38,-1715.25 54.88,-1715.25"/>
+<text text-anchor="start" x="59.88" y="-1725.2" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">name</text>
+<polygon fill="none" stroke="black" points="54.88,-1688 54.88,-1715.25 189.38,-1715.25 189.38,-1688 54.88,-1688"/>
+<text text-anchor="start" x="59.88" y="-1697.95" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">cycle</text>
+<polygon fill="none" stroke="black" points="54.88,-1660.75 54.88,-1688 189.38,-1688 189.38,-1660.75 54.88,-1660.75"/>
+<text text-anchor="start" x="59.88" y="-1670.7" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">flow_nums</text>
+<polygon fill="none" stroke="black" points="54.88,-1633.5 54.88,-1660.75 189.38,-1660.75 189.38,-1633.5 54.88,-1633.5"/>
+<text text-anchor="start" x="59.88" y="-1642.45" font-family="Helvetica,sans-Serif" font-size="14.00">time_created</text>
+<polygon fill="none" stroke="black" points="54.88,-1606.25 54.88,-1633.5 189.38,-1633.5 189.38,-1606.25 54.88,-1606.25"/>
+<text text-anchor="start" x="59.88" y="-1615.2" font-family="Helvetica,sans-Serif" font-size="14.00">time_updated</text>
+<polygon fill="none" stroke="black" points="54.88,-1579 54.88,-1606.25 189.38,-1606.25 189.38,-1579 54.88,-1579"/>
+<text text-anchor="start" x="59.88" y="-1587.95" font-family="Helvetica,sans-Serif" font-size="14.00">submit_num</text>
+<polygon fill="none" stroke="black" points="54.88,-1551.75 54.88,-1579 189.38,-1579 189.38,-1551.75 54.88,-1551.75"/>
+<text text-anchor="start" x="59.88" y="-1560.7" font-family="Helvetica,sans-Serif" font-size="14.00">status</text>
+<polygon fill="none" stroke="black" points="54.88,-1524.5 54.88,-1551.75 189.38,-1551.75 189.38,-1524.5 54.88,-1524.5"/>
+<text text-anchor="start" x="59.88" y="-1533.45" font-family="Helvetica,sans-Serif" font-size="14.00">flow_wait</text>
+<polygon fill="none" stroke="black" points="54.88,-1497.25 54.88,-1524.5 189.38,-1524.5 189.38,-1497.25 54.88,-1497.25"/>
+<text text-anchor="start" x="59.88" y="-1506.2" font-family="Helvetica,sans-Serif" font-size="14.00">is_manual_submit</text>
+</g>
+<!-- task_states&#45;&#45;task_events -->
+<g id="edge1" class="edge">
+<title>task_states&#45;&#45;task_events</title>
+<path fill="none" stroke="#7f7f7f" stroke-dasharray="5,2" d="M197.37,-1678.83C245.86,-1707.71 308.59,-1745.06 355.16,-1772.79"/>
+<text text-anchor="start" x="314.66" y="-1759.49" font-family="Times,serif" font-size="14.00">{0,1}</text>
+<text text-anchor="start" x="197.37" y="-1665.53" font-family="Times,serif" font-size="14.00">0..N</text>
+</g>
+<!-- task_states&#45;&#45;task_jobs -->
+<g id="edge2" class="edge">
+<title>task_states&#45;&#45;task_jobs</title>
+<path fill="none" stroke="#7f7f7f" stroke-dasharray="5,2" d="M197.37,-1590.17C242.85,-1562.93 300.86,-1528.2 346.31,-1500.98"/>
+<text text-anchor="start" x="305.81" y="-1487.68" font-family="Times,serif" font-size="14.00">{0,1}</text>
+<text text-anchor="start" x="197.37" y="-1576.87" font-family="Times,serif" font-size="14.00">0..N</text>
+</g>
+<!-- tasks_to_hold -->
+<g id="node14" class="node">
+<title>tasks_to_hold</title>
+<polygon fill="none" stroke="black" points="56,-1852.12 56,-1881.62 188.25,-1881.62 188.25,-1852.12 56,-1852.12"/>
+<text text-anchor="start" x="61" y="-1862.42" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">tasks_to_hold</text>
+<polygon fill="none" stroke="black" points="56,-1824.88 56,-1852.12 188.25,-1852.12 188.25,-1824.88 56,-1824.88"/>
+<text text-anchor="start" x="61" y="-1833.83" font-family="Helvetica,sans-Serif" font-size="14.00">name</text>
+<polygon fill="none" stroke="black" points="56,-1797.62 56,-1824.88 188.25,-1824.88 188.25,-1797.62 56,-1797.62"/>
+<text text-anchor="start" x="61" y="-1806.58" font-family="Helvetica,sans-Serif" font-size="14.00">cycle</text>
+</g>
+<!-- workflow_flows -->
+<g id="node15" class="node">
+<title>workflow_flows</title>
+<polygon fill="none" stroke="black" points="47.38,-1989.75 47.38,-2019.25 196.88,-2019.25 196.88,-1989.75 47.38,-1989.75"/>
+<text text-anchor="start" x="52.38" y="-2000.05" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">workflow_flows</text>
+<polygon fill="none" stroke="black" points="47.38,-1962.5 47.38,-1989.75 196.88,-1989.75 196.88,-1962.5 47.38,-1962.5"/>
+<text text-anchor="start" x="52.38" y="-1972.45" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">flow_num</text>
+<polygon fill="none" stroke="black" points="47.38,-1935.25 47.38,-1962.5 196.88,-1962.5 196.88,-1935.25 47.38,-1935.25"/>
+<text text-anchor="start" x="52.38" y="-1944.2" font-family="Helvetica,sans-Serif" font-size="14.00">start_time</text>
+<polygon fill="none" stroke="black" points="47.38,-1908 47.38,-1935.25 196.88,-1935.25 196.88,-1908 47.38,-1908"/>
+<text text-anchor="start" x="52.38" y="-1916.95" font-family="Helvetica,sans-Serif" font-size="14.00">description</text>
+</g>
+<!-- workflow_params -->
+<g id="node16" class="node">
+<title>workflow_params</title>
+<polygon fill="none" stroke="black" points="38,-2100.12 38,-2129.62 206.25,-2129.62 206.25,-2100.12 38,-2100.12"/>
+<text text-anchor="start" x="43" y="-2110.43" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">workflow_params</text>
+<polygon fill="none" stroke="black" points="38,-2072.88 38,-2100.12 206.25,-2100.12 206.25,-2072.88 38,-2072.88"/>
+<text text-anchor="start" x="43" y="-2082.82" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">key</text>
+<polygon fill="none" stroke="black" points="38,-2045.62 38,-2072.88 206.25,-2072.88 206.25,-2045.62 38,-2045.62"/>
+<text text-anchor="start" x="43" y="-2054.57" font-family="Helvetica,sans-Serif" font-size="14.00">value</text>
+</g>
+<!-- workflow_template_vars -->
+<g id="node17" class="node">
+<title>workflow_template_vars</title>
+<polygon fill="none" stroke="black" points="8,-2210.12 8,-2239.62 236.25,-2239.62 236.25,-2210.12 8,-2210.12"/>
+<text text-anchor="start" x="13" y="-2220.43" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">workflow_template_vars</text>
+<polygon fill="none" stroke="black" points="8,-2182.88 8,-2210.12 236.25,-2210.12 236.25,-2182.88 8,-2182.88"/>
+<text text-anchor="start" x="13" y="-2192.82" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">key</text>
+<polygon fill="none" stroke="black" points="8,-2155.62 8,-2182.88 236.25,-2182.88 236.25,-2155.62 8,-2155.62"/>
+<text text-anchor="start" x="13" y="-2164.57" font-family="Helvetica,sans-Serif" font-size="14.00">value</text>
+</g>
+<!-- xtriggers -->
+<g id="node18" class="node">
+<title>xtriggers</title>
+<polygon fill="none" stroke="black" points="33.5,-2565.75 33.5,-2595.25 210.75,-2595.25 210.75,-2565.75 33.5,-2565.75"/>
+<text text-anchor="start" x="80.88" y="-2576.05" font-family="Helvetica,sans-Serif" font-weight="bold" font-size="16.00">xtriggers</text>
+<polygon fill="none" stroke="black" points="33.5,-2538.5 33.5,-2565.75 210.75,-2565.75 210.75,-2538.5 33.5,-2538.5"/>
+<text text-anchor="start" x="38.5" y="-2548.45" font-family="Helvetica,sans-Serif" text-decoration="underline" font-size="14.00">signature</text>
+<polygon fill="none" stroke="black" points="33.5,-2511.25 33.5,-2538.5 210.75,-2538.5 210.75,-2511.25 33.5,-2511.25"/>
+<text text-anchor="start" x="38.5" y="-2520.2" font-family="Helvetica,sans-Serif" font-size="14.00">results</text>
+<polygon fill="none" stroke="black" points="33.5,-2484 33.5,-2511.25 210.75,-2511.25 210.75,-2484 33.5,-2484"/>
+<text text-anchor="start" x="38.5" y="-2492.95" font-family="Helvetica,sans-Serif" font-size="14.00">absolute_outputs</text>
+<polygon fill="none" stroke="black" points="33.5,-2456.75 33.5,-2484 210.75,-2484 210.75,-2456.75 33.5,-2456.75"/>
+<text text-anchor="start" x="38.5" y="-2465.7" font-family="Helvetica,sans-Serif" font-size="14.00">broadcast_events</text>
+<polygon fill="none" stroke="black" points="33.5,-2429.5 33.5,-2456.75 210.75,-2456.75 210.75,-2429.5 33.5,-2429.5"/>
+<text text-anchor="start" x="38.5" y="-2438.45" font-family="Helvetica,sans-Serif" font-size="14.00">broadcast_states</text>
+<polygon fill="none" stroke="black" points="33.5,-2402.25 33.5,-2429.5 210.75,-2429.5 210.75,-2402.25 33.5,-2402.25"/>
+<text text-anchor="start" x="38.5" y="-2411.2" font-family="Helvetica,sans-Serif" font-size="14.00">inheritance</text>
+<polygon fill="none" stroke="black" points="33.5,-2375 33.5,-2402.25 210.75,-2402.25 210.75,-2375 33.5,-2375"/>
+<text text-anchor="start" x="38.5" y="-2383.95" font-family="Helvetica,sans-Serif" font-size="14.00">tasks_to_hold</text>
+<polygon fill="none" stroke="black" points="33.5,-2347.75 33.5,-2375 210.75,-2375 210.75,-2347.75 33.5,-2347.75"/>
+<text text-anchor="start" x="38.5" y="-2356.7" font-family="Helvetica,sans-Serif" font-size="14.00">workflow_flows</text>
+<polygon fill="none" stroke="black" points="33.5,-2320.5 33.5,-2347.75 210.75,-2347.75 210.75,-2320.5 33.5,-2320.5"/>
+<text text-anchor="start" x="38.5" y="-2329.45" font-family="Helvetica,sans-Serif" font-size="14.00">workflow_params</text>
+<polygon fill="none" stroke="black" points="33.5,-2293.25 33.5,-2320.5 210.75,-2320.5 210.75,-2293.25 33.5,-2293.25"/>
+<text text-anchor="start" x="38.5" y="-2302.2" font-family="Helvetica,sans-Serif" font-size="14.00">workflow_template_vars</text>
+<polygon fill="none" stroke="black" points="33.5,-2266 33.5,-2293.25 210.75,-2293.25 210.75,-2266 33.5,-2266"/>
+<text text-anchor="start" x="38.5" y="-2274.95" font-family="Helvetica,sans-Serif" font-size="14.00">xtriggers</text>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-8e815b3f336404aebf4c3ca5d0d776c2c9baf002.svg b/nightly_8.3/html/_images/graphviz-8e815b3f336404aebf4c3ca5d0d776c2c9baf002.svg
new file mode 100644
index 00000000000..696c1df3cc1
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-8e815b3f336404aebf4c3ca5d0d776c2c9baf002.svg
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Example Pages: 1 -->
+<svg width="282pt" height="193pt"
+ viewBox="0.00 0.00 282.00 193.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 189.25)">
+<title>Example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-189.25 278,-189.25 278,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_1</title>
+<polygon fill="none" stroke="green" stroke-dasharray="5,2" points="8,-64 8,-141.25 94,-141.25 94,-64 8,-64"/>
+<text text-anchor="middle" x="51" y="-123.95" font-family="sans" font-size="14.00" fill="green">:good</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_2</title>
+<polygon fill="none" stroke="red" stroke-dasharray="5,2" points="102,-64 102,-141.25 178,-141.25 178,-64 102,-64"/>
+<text text-anchor="middle" x="140" y="-123.95" font-family="sans" font-size="14.00" fill="red">:bad</text>
+</g>
+<g id="clust3" class="cluster">
+<title>cluster_3</title>
+<polygon fill="none" stroke="purple" stroke-dasharray="5,2" points="186,-64 186,-141.25 266,-141.25 266,-64 186,-64"/>
+<text text-anchor="middle" x="226" y="-123.95" font-family="sans" font-size="14.00" fill="purple">:ugly</text>
+</g>
+<!-- good -->
+<g id="node1" class="node">
+<title>good</title>
+<ellipse fill="none" stroke="black" cx="51" cy="-90" rx="35.42" ry="18"/>
+<text text-anchor="middle" x="51" y="-85.33" font-family="sans" font-size="14.00">good</text>
+</g>
+<!-- fin -->
+<g id="node5" class="node">
+<title>fin</title>
+<ellipse fill="none" stroke="black" cx="140" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="140" y="-13.32" font-family="sans" font-size="14.00">fin</text>
+</g>
+<!-- good&#45;&gt;fin -->
+<g id="edge4" class="edge">
+<title>good&#45;&gt;fin</title>
+<path fill="none" stroke="black" d="M69.44,-74.5C82.39,-64.31 99.88,-50.55 114.21,-39.29"/>
+<polygon fill="none" stroke="black" points="116.2,-42.17 121.9,-33.24 111.87,-36.67 116.2,-42.17"/>
+</g>
+<!-- bad -->
+<g id="node2" class="node">
+<title>bad</title>
+<ellipse fill="none" stroke="black" cx="140" cy="-90" rx="29.64" ry="18"/>
+<text text-anchor="middle" x="140" y="-85.33" font-family="sans" font-size="14.00">bad</text>
+</g>
+<!-- bad&#45;&gt;fin -->
+<g id="edge5" class="edge">
+<title>bad&#45;&gt;fin</title>
+<path fill="none" stroke="black" d="M140,-71.7C140,-64.41 140,-55.73 140,-47.54"/>
+<polygon fill="none" stroke="black" points="143.5,-47.62 140,-37.62 136.5,-47.62 143.5,-47.62"/>
+</g>
+<!-- ugly -->
+<g id="node3" class="node">
+<title>ugly</title>
+<ellipse fill="none" stroke="black" cx="226" cy="-90" rx="32.27" ry="18"/>
+<text text-anchor="middle" x="226" y="-85.33" font-family="sans" font-size="14.00">ugly</text>
+</g>
+<!-- ugly&#45;&gt;fin -->
+<g id="edge6" class="edge">
+<title>ugly&#45;&gt;fin</title>
+<path fill="none" stroke="black" d="M208.18,-74.5C195.75,-64.38 178.99,-50.73 165.19,-39.5"/>
+<polygon fill="none" stroke="black" points="167.77,-37.09 157.8,-33.49 163.35,-42.52 167.77,-37.09"/>
+</g>
+<!-- showdown -->
+<g id="node4" class="node">
+<title>showdown</title>
+<ellipse fill="none" stroke="black" cx="140" cy="-167.25" rx="62.78" ry="18"/>
+<text text-anchor="middle" x="140" y="-162.57" font-family="sans" font-size="14.00">showdown</text>
+</g>
+<!-- showdown&#45;&gt;good -->
+<g id="edge1" class="edge">
+<title>showdown&#45;&gt;good</title>
+<path fill="none" stroke="black" d="M111.7,-150.9C106.97,-147.92 102.23,-144.66 98,-141.25 88.61,-133.69 79.32,-124.28 71.5,-115.65"/>
+<polygon fill="black" stroke="black" points="74.19,-113.4 64.96,-108.19 68.92,-118.02 74.19,-113.4"/>
+</g>
+<!-- showdown&#45;&gt;bad -->
+<g id="edge2" class="edge">
+<title>showdown&#45;&gt;bad</title>
+<path fill="none" stroke="black" d="M140,-148.8C140,-140.15 140,-129.5 140,-119.69"/>
+<polygon fill="black" stroke="black" points="143.5,-119.87 140,-109.87 136.5,-119.87 143.5,-119.87"/>
+</g>
+<!-- showdown&#45;&gt;ugly -->
+<g id="edge3" class="edge">
+<title>showdown&#45;&gt;ugly</title>
+<path fill="none" stroke="black" d="M168.39,-151.02C173.11,-148.02 177.83,-144.72 182,-141.25 190.9,-133.84 199.55,-124.56 206.8,-116"/>
+<polygon fill="black" stroke="black" points="209.48,-118.25 213.09,-108.29 204.06,-113.83 209.48,-118.25"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-9341f508e988e8fc05cd251fe8b9230eeab9e706.svg b/nightly_8.3/html/_images/graphviz-9341f508e988e8fc05cd251fe8b9230eeab9e706.svg
new file mode 100644
index 00000000000..2b67a26e6dd
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-9341f508e988e8fc05cd251fe8b9230eeab9e706.svg
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Mini_Cylc Pages: 1 -->
+<svg width="206pt" height="260pt"
+ viewBox="0.00 0.00 206.00 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">
+<title>Mini_Cylc</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-256 202,-256 202,4 -4,4"/>
+<!-- a -->
+<g id="node1" class="node">
+<title>a</title>
+<ellipse fill="none" stroke="black" cx="63" cy="-234" rx="27" ry="18"/>
+<text text-anchor="middle" x="63" y="-229.32" font-family="sans" font-size="14.00">a</text>
+</g>
+<!-- b -->
+<g id="node2" class="node">
+<title>b</title>
+<ellipse fill="none" stroke="black" cx="63" cy="-162" rx="27" ry="18"/>
+<text text-anchor="middle" x="63" y="-157.32" font-family="sans" font-size="14.00">b</text>
+</g>
+<!-- a&#45;&gt;b -->
+<g id="edge1" class="edge">
+<title>a&#45;&gt;b</title>
+<path fill="none" stroke="black" d="M63,-215.7C63,-208.41 63,-199.73 63,-191.54"/>
+<polygon fill="black" stroke="black" points="66.5,-191.62 63,-181.62 59.5,-191.62 66.5,-191.62"/>
+</g>
+<!-- d -->
+<g id="node4" class="node">
+<title>d</title>
+<ellipse fill="none" stroke="black" cx="27" cy="-90" rx="27" ry="18"/>
+<text text-anchor="middle" x="27" y="-85.33" font-family="sans" font-size="14.00">d</text>
+</g>
+<!-- b&#45;&gt;d -->
+<g id="edge5" class="edge">
+<title>b&#45;&gt;d</title>
+<path fill="none" stroke="black" d="M54.65,-144.76C50.42,-136.55 45.19,-126.37 40.42,-117.09"/>
+<polygon fill="black" stroke="black" points="43.68,-115.79 36,-108.49 37.46,-118.99 43.68,-115.79"/>
+</g>
+<!-- c -->
+<g id="node5" class="node">
+<title>c</title>
+<ellipse fill="none" stroke="black" cx="99" cy="-90" rx="27" ry="18"/>
+<text text-anchor="middle" x="99" y="-85.33" font-family="sans" font-size="14.00">c</text>
+</g>
+<!-- b&#45;&gt;c -->
+<g id="edge3" class="edge">
+<title>b&#45;&gt;c</title>
+<path fill="none" stroke="black" d="M71.35,-144.76C75.58,-136.55 80.81,-126.37 85.58,-117.09"/>
+<polygon fill="black" stroke="black" points="88.54,-118.99 90,-108.49 82.32,-115.79 88.54,-118.99"/>
+</g>
+<!-- f -->
+<g id="node3" class="node">
+<title>f</title>
+<ellipse fill="none" stroke="black" cx="99" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="99" y="-13.32" font-family="sans" font-size="14.00">f</text>
+</g>
+<!-- d&#45;&gt;f -->
+<g id="edge2" class="edge">
+<title>d&#45;&gt;f</title>
+<path fill="none" stroke="black" d="M41.92,-74.5C51.77,-64.92 64.86,-52.19 76.03,-41.34"/>
+<polygon fill="black" stroke="black" points="78.29,-44.02 83.02,-34.54 73.41,-39 78.29,-44.02"/>
+</g>
+<!-- e -->
+<g id="node6" class="node">
+<title>e</title>
+<ellipse fill="none" stroke="black" cx="171" cy="-90" rx="27" ry="18"/>
+<text text-anchor="middle" x="171" y="-85.33" font-family="sans" font-size="14.00">e</text>
+</g>
+<!-- e&#45;&gt;f -->
+<g id="edge4" class="edge">
+<title>e&#45;&gt;f</title>
+<path fill="none" stroke="black" d="M156.08,-74.5C146.23,-64.92 133.14,-52.19 121.97,-41.34"/>
+<polygon fill="black" stroke="black" points="124.59,-39 114.98,-34.54 119.71,-44.02 124.59,-39"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-96a7dfe8255fbca2ef4621d8e1a50a80c86195c2.svg b/nightly_8.3/html/_images/graphviz-96a7dfe8255fbca2ef4621d8e1a50a80c86195c2.svg
new file mode 100644
index 00000000000..8fe14754fa1
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-96a7dfe8255fbca2ef4621d8e1a50a80c86195c2.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Example Pages: 1 -->
+<svg width="140pt" height="265pt"
+ viewBox="0.00 0.00 139.72 265.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 261.25)">
+<title>Example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-261.25 135.72,-261.25 135.72,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_1</title>
+<polygon fill="none" stroke="red" stroke-dasharray="5,2" points="8,-64 8,-141.25 120,-141.25 120,-64 8,-64"/>
+<text text-anchor="middle" x="64" y="-123.95" font-family="sans" font-size="14.00" fill="red">:fail</text>
+</g>
+<!-- recover -->
+<g id="node1" class="node">
+<title>recover</title>
+<ellipse fill="none" stroke="black" cx="64" cy="-90" rx="47.53" ry="18"/>
+<text text-anchor="middle" x="64" y="-85.33" font-family="sans" font-size="14.00">recover</text>
+</g>
+<!-- baz -->
+<g id="node4" class="node">
+<title>baz</title>
+<ellipse fill="none" stroke="black" cx="102" cy="-18" rx="28.59" ry="18"/>
+<text text-anchor="middle" x="102" y="-13.32" font-family="sans" font-size="14.00">baz</text>
+</g>
+<!-- recover&#45;&gt;baz -->
+<g id="edge3" class="edge">
+<title>recover&#45;&gt;baz</title>
+<path fill="none" stroke="black" d="M73.2,-72.05C77.56,-64.03 82.86,-54.26 87.72,-45.3"/>
+<polygon fill="none" stroke="black" points="90.73,-47.1 92.43,-36.64 84.58,-43.76 90.73,-47.1"/>
+</g>
+<!-- foo -->
+<g id="node2" class="node">
+<title>foo</title>
+<ellipse fill="none" stroke="black" cx="102" cy="-239.25" rx="27" ry="18"/>
+<text text-anchor="middle" x="102" y="-234.57" font-family="sans" font-size="14.00">foo</text>
+</g>
+<!-- bar -->
+<g id="node3" class="node">
+<title>bar</title>
+<ellipse fill="none" stroke="black" cx="102" cy="-167.25" rx="27.53" ry="18"/>
+<text text-anchor="middle" x="102" y="-162.57" font-family="sans" font-size="14.00">bar</text>
+</g>
+<!-- foo&#45;&gt;bar -->
+<g id="edge1" class="edge">
+<title>foo&#45;&gt;bar</title>
+<path fill="none" stroke="black" d="M102,-220.95C102,-213.66 102,-204.98 102,-196.79"/>
+<polygon fill="black" stroke="black" points="105.5,-196.87 102,-186.87 98.5,-196.87 105.5,-196.87"/>
+</g>
+<!-- bar&#45;&gt;recover -->
+<g id="edge2" class="edge">
+<title>bar&#45;&gt;recover</title>
+<path fill="none" stroke="black" d="M93.75,-149.92C89.07,-140.65 83.09,-128.81 77.72,-118.17"/>
+<polygon fill="black" stroke="black" points="80.94,-116.78 73.31,-109.43 74.69,-119.93 80.94,-116.78"/>
+</g>
+<!-- bar&#45;&gt;baz -->
+<g id="edge4" class="edge">
+<title>bar&#45;&gt;baz</title>
+<path fill="none" stroke="black" d="M117.48,-152.11C120.15,-148.83 122.53,-145.14 124,-141.25 136.12,-109.13 131.74,-97.45 124,-64 122.53,-57.65 120.03,-51.15 117.24,-45.15"/>
+<polygon fill="none" stroke="black" points="120.4,-43.65 112.73,-36.35 114.17,-46.84 120.4,-43.65"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-9726db191ee25dce5b92484f57f89135b5e17b75.svg b/nightly_8.3/html/_images/graphviz-9726db191ee25dce5b92484f57f89135b5e17b75.svg
new file mode 100644
index 00000000000..981b85553ad
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-9726db191ee25dce5b92484f57f89135b5e17b75.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: example Pages: 1 -->
+<svg width="288pt" height="87pt"
+ viewBox="0.00 0.00 288.00 86.67" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(0.693393 0.693393) rotate(0) translate(4 121)">
+<title>example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-121 411.35,-121 411.35,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_T06</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="8,-8 8,-109 125.12,-109 125.12,-8 8,-8"/>
+<text text-anchor="middle" x="66.56" y="-91.7" font-family="sans" font-size="14.00">T06</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_T12</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="145.12,-8 145.12,-109 262.23,-109 262.23,-8 145.12,-8"/>
+<text text-anchor="middle" x="203.67" y="-91.7" font-family="sans" font-size="14.00">T12</text>
+</g>
+<g id="clust3" class="cluster">
+<title>cluster_T18</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="282.23,-8 282.23,-109 399.35,-109 399.35,-8 282.23,-8"/>
+<text text-anchor="middle" x="340.79" y="-91.7" font-family="sans" font-size="14.00">T18</text>
+</g>
+<!-- forecast.t06 -->
+<g id="node1" class="node">
+<title>forecast.t06</title>
+<ellipse fill="none" stroke="black" cx="66.56" cy="-46" rx="50.56" ry="30.05"/>
+<text text-anchor="middle" x="66.56" y="-49.95" font-family="sans" font-size="14.00">forecast</text>
+<text text-anchor="middle" x="66.56" y="-32.7" font-family="sans" font-size="14.00">T06</text>
+</g>
+<!-- forecast.t12 -->
+<g id="node2" class="node">
+<title>forecast.t12</title>
+<ellipse fill="none" stroke="black" cx="203.67" cy="-46" rx="50.56" ry="30.05"/>
+<text text-anchor="middle" x="203.67" y="-49.95" font-family="sans" font-size="14.00">forecast</text>
+<text text-anchor="middle" x="203.67" y="-32.7" font-family="sans" font-size="14.00">T12</text>
+</g>
+<!-- forecast.t06&#45;&gt;forecast.t12 -->
+<g id="edge1" class="edge">
+<title>forecast.t06&#45;&gt;forecast.t12</title>
+<path fill="none" stroke="black" d="M117.49,-46C125.36,-46 133.57,-46 141.65,-46"/>
+<polygon fill="black" stroke="black" points="141.44,-49.5 151.44,-46 141.44,-42.5 141.44,-49.5"/>
+</g>
+<!-- forecast.t18 -->
+<g id="node3" class="node">
+<title>forecast.t18</title>
+<ellipse fill="none" stroke="black" cx="340.79" cy="-46" rx="50.56" ry="30.05"/>
+<text text-anchor="middle" x="340.79" y="-49.95" font-family="sans" font-size="14.00">forecast</text>
+<text text-anchor="middle" x="340.79" y="-32.7" font-family="sans" font-size="14.00">T18</text>
+</g>
+<!-- forecast.t12&#45;&gt;forecast.t18 -->
+<g id="edge2" class="edge">
+<title>forecast.t12&#45;&gt;forecast.t18</title>
+<path fill="none" stroke="black" d="M254.6,-46C262.47,-46 270.68,-46 278.77,-46"/>
+<polygon fill="black" stroke="black" points="278.55,-49.5 288.55,-46 278.55,-42.5 278.55,-49.5"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-973f7a17b789c0420fc4acc3fa1d4b8e9c03b664.svg b/nightly_8.3/html/_images/graphviz-973f7a17b789c0420fc4acc3fa1d4b8e9c03b664.svg
new file mode 100644
index 00000000000..f261f20f606
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-973f7a17b789c0420fc4acc3fa1d4b8e9c03b664.svg
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Example Pages: 1 -->
+<svg width="280pt" height="260pt"
+ viewBox="0.00 0.00 280.48 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">
+<title>Example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-256 276.48,-256 276.48,4 -4,4"/>
+<!-- VEHICLE -->
+<g id="node1" class="node">
+<title>VEHICLE</title>
+<polygon fill="powderblue" stroke="royalblue" points="98.88,-252 22.88,-252 22.88,-216 98.88,-216 98.88,-252"/>
+<text text-anchor="middle" x="60.88" y="-229.32" font-family="sans" font-size="14.00">VEHICLE</text>
+</g>
+<!-- LAND_VEHICLE -->
+<g id="node2" class="node">
+<title>LAND_VEHICLE</title>
+<polygon fill="powderblue" stroke="royalblue" points="121.75,-180 0,-180 0,-144 121.75,-144 121.75,-180"/>
+<text text-anchor="middle" x="60.88" y="-157.32" font-family="sans" font-size="14.00">LAND_VEHICLE</text>
+</g>
+<!-- VEHICLE&#45;&gt;LAND_VEHICLE -->
+<g id="edge1" class="edge">
+<title>VEHICLE&#45;&gt;LAND_VEHICLE</title>
+<path fill="none" stroke="black" d="M60.88,-215.7C60.88,-208.41 60.88,-199.73 60.88,-191.54"/>
+<polygon fill="black" stroke="black" points="64.38,-191.62 60.88,-181.62 57.38,-191.62 64.38,-191.62"/>
+</g>
+<!-- BICYCLE -->
+<g id="node3" class="node">
+<title>BICYCLE</title>
+<polygon fill="powderblue" stroke="royalblue" points="97.75,-108 24,-108 24,-72 97.75,-72 97.75,-108"/>
+<text text-anchor="middle" x="60.88" y="-85.33" font-family="sans" font-size="14.00">BICYCLE</text>
+</g>
+<!-- LAND_VEHICLE&#45;&gt;BICYCLE -->
+<g id="edge2" class="edge">
+<title>LAND_VEHICLE&#45;&gt;BICYCLE</title>
+<path fill="none" stroke="black" d="M60.88,-143.7C60.88,-136.41 60.88,-127.73 60.88,-119.54"/>
+<polygon fill="black" stroke="black" points="64.38,-119.62 60.88,-109.62 57.38,-119.62 64.38,-119.62"/>
+</g>
+<!-- penny_farthing -->
+<g id="node5" class="node">
+<title>penny_farthing</title>
+<polygon fill="powderblue" stroke="royalblue" points="201.35,-36 52.4,-36 52.4,0 201.35,0 201.35,-36"/>
+<text text-anchor="middle" x="126.88" y="-13.32" font-family="sans" font-size="14.00">penny_farthing</text>
+</g>
+<!-- BICYCLE&#45;&gt;penny_farthing -->
+<g id="edge3" class="edge">
+<title>BICYCLE&#45;&gt;penny_farthing</title>
+<path fill="none" stroke="black" d="M77.19,-71.7C84.94,-63.47 94.36,-53.48 102.91,-44.42"/>
+<polygon fill="black" stroke="black" points="105.4,-46.88 109.71,-37.21 100.3,-42.08 105.4,-46.88"/>
+</g>
+<!-- HUMAN_ENGINE -->
+<g id="node4" class="node">
+<title>HUMAN_ENGINE</title>
+<polygon fill="powderblue" stroke="royalblue" points="272.48,-108 115.28,-108 115.28,-72 272.48,-72 272.48,-108"/>
+<text text-anchor="middle" x="193.88" y="-85.33" font-family="sans" font-size="14.00">HUMAN_ENGINE</text>
+</g>
+<!-- HUMAN_ENGINE&#45;&gt;penny_farthing -->
+<g id="edge4" class="edge">
+<title>HUMAN_ENGINE&#45;&gt;penny_farthing</title>
+<path fill="none" stroke="black" d="M177.31,-71.7C169.44,-63.47 159.88,-53.48 151.21,-44.42"/>
+<polygon fill="black" stroke="black" points="153.74,-42 144.29,-37.2 148.68,-46.84 153.74,-42"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-9c6c3320344b9bad792fb330e3b5a3287587062f.svg b/nightly_8.3/html/_images/graphviz-9c6c3320344b9bad792fb330e3b5a3287587062f.svg
new file mode 100644
index 00000000000..a6e5d7ad423
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-9c6c3320344b9bad792fb330e3b5a3287587062f.svg
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Example Pages: 1 -->
+<svg width="504pt" height="90pt"
+ viewBox="0.00 0.00 504.00 90.45" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(0.408428 0.408428) rotate(0) translate(4 217.46)">
+<title>Example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-217.46 1230,-217.46 1230,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_1</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="8,-8 8,-205.46 486,-205.46 486,-8 8,-8"/>
+<text text-anchor="middle" x="247" y="-188.16" font-family="sans" font-size="14.00">2000&#45;01&#45;01T00:00Z</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_2</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="494,-104.1 494,-205.46 732,-205.46 732,-104.1 494,-104.1"/>
+<text text-anchor="middle" x="613" y="-188.16" font-family="sans" font-size="14.00">2000&#45;01&#45;01T12:00Z</text>
+</g>
+<g id="clust3" class="cluster">
+<title>cluster_3</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="740,-8 740,-205.46 1218,-205.46 1218,-8 740,-8"/>
+<text text-anchor="middle" x="979" y="-188.16" font-family="sans" font-size="14.00">2000&#45;01&#45;02T00:00Z</text>
+</g>
+<!-- 01T00/foo -->
+<g id="node1" class="node">
+<title>01T00/foo</title>
+<ellipse fill="none" stroke="black" cx="367" cy="-142.16" rx="111.02" ry="30.05"/>
+<text text-anchor="middle" x="367" y="-146.11" font-family="sans" font-size="14.00">foo</text>
+<text text-anchor="middle" x="367" y="-128.86" font-family="sans" font-size="14.00">2000&#45;01&#45;01T00:00Z</text>
+</g>
+<!-- 01T00/bar -->
+<g id="node2" class="node">
+<title>01T00/bar</title>
+<ellipse fill="none" stroke="black" cx="367" cy="-46.05" rx="111.02" ry="30.05"/>
+<text text-anchor="middle" x="367" y="-50" font-family="sans" font-size="14.00">bar</text>
+<text text-anchor="middle" x="367" y="-32.75" font-family="sans" font-size="14.00">2000&#45;01&#45;01T00:00Z</text>
+</g>
+<!-- 01T00/foo&#45;&gt;01T00/bar -->
+<g id="edge1" class="edge">
+<title>01T00/foo&#45;&gt;01T00/bar</title>
+<path fill="none" stroke="black" d="M367,-111.64C367,-104.11 367,-95.87 367,-87.88"/>
+<polygon fill="black" stroke="black" points="370.5,-87.98 367,-77.98 363.5,-87.98 370.5,-87.98"/>
+</g>
+<!-- 01T00/baz -->
+<g id="node3" class="node">
+<title>01T00/baz</title>
+<ellipse fill="none" stroke="black" cx="127" cy="-142.16" rx="111.02" ry="30.05"/>
+<text text-anchor="middle" x="127" y="-146.11" font-family="sans" font-size="14.00">baz</text>
+<text text-anchor="middle" x="127" y="-128.86" font-family="sans" font-size="14.00">2000&#45;01&#45;01T00:00Z</text>
+</g>
+<!-- b01T12/az -->
+<g id="node4" class="node">
+<title>b01T12/az</title>
+<ellipse fill="none" stroke="black" cx="613" cy="-142.16" rx="111.02" ry="30.05"/>
+<text text-anchor="middle" x="613" y="-146.11" font-family="sans" font-size="14.00">baz</text>
+<text text-anchor="middle" x="613" y="-128.86" font-family="sans" font-size="14.00">2000&#45;01&#45;01T12:00Z</text>
+</g>
+<!-- 02T00/foo -->
+<g id="node5" class="node">
+<title>02T00/foo</title>
+<ellipse fill="none" stroke="black" cx="1099" cy="-142.16" rx="111.02" ry="30.05"/>
+<text text-anchor="middle" x="1099" y="-146.11" font-family="sans" font-size="14.00">foo</text>
+<text text-anchor="middle" x="1099" y="-128.86" font-family="sans" font-size="14.00">2000&#45;01&#45;02T00:00Z</text>
+</g>
+<!-- 02T00/bar -->
+<g id="node6" class="node">
+<title>02T00/bar</title>
+<ellipse fill="none" stroke="black" cx="1099" cy="-46.05" rx="111.02" ry="30.05"/>
+<text text-anchor="middle" x="1099" y="-50" font-family="sans" font-size="14.00">bar</text>
+<text text-anchor="middle" x="1099" y="-32.75" font-family="sans" font-size="14.00">2000&#45;01&#45;02T00:00Z</text>
+</g>
+<!-- 02T00/foo&#45;&gt;02T00/bar -->
+<g id="edge2" class="edge">
+<title>02T00/foo&#45;&gt;02T00/bar</title>
+<path fill="none" stroke="black" d="M1099,-111.64C1099,-104.11 1099,-95.87 1099,-87.88"/>
+<polygon fill="black" stroke="black" points="1102.5,-87.98 1099,-77.98 1095.5,-87.98 1102.5,-87.98"/>
+</g>
+<!-- 02T00/baz -->
+<g id="node7" class="node">
+<title>02T00/baz</title>
+<ellipse fill="none" stroke="black" cx="859" cy="-142.16" rx="111.02" ry="30.05"/>
+<text text-anchor="middle" x="859" y="-146.11" font-family="sans" font-size="14.00">baz</text>
+<text text-anchor="middle" x="859" y="-128.86" font-family="sans" font-size="14.00">2000&#45;01&#45;02T00:00Z</text>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-a02e167fd91d9a135d2030f0136dc13a230eb00f.svg b/nightly_8.3/html/_images/graphviz-a02e167fd91d9a135d2030f0136dc13a230eb00f.svg
new file mode 100644
index 00000000000..f4a83a71bf7
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-a02e167fd91d9a135d2030f0136dc13a230eb00f.svg
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Example Pages: 1 -->
+<svg width="153pt" height="216pt"
+ viewBox="0.00 0.00 153.03 216.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(0.829773 0.829773) rotate(0) translate(4 256.31)">
+<title>Example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-256.31 180.42,-256.31 180.42,4 -4,4"/>
+<!-- 1/foo -->
+<g id="node1" class="node">
+<title>1/foo</title>
+<ellipse fill="none" stroke="black" cx="88.21" cy="-222.26" rx="88.21" ry="30.05"/>
+<text text-anchor="middle" x="88.21" y="-226.21" font-family="sans" font-size="14.00">foo</text>
+<text text-anchor="middle" x="88.21" y="-208.96" font-family="sans" font-size="14.00">2000&#45;01&#45;01T00</text>
+</g>
+<!-- 2/foo -->
+<g id="node2" class="node">
+<title>2/foo</title>
+<ellipse fill="none" stroke="black" cx="88.21" cy="-126.16" rx="88.21" ry="30.05"/>
+<text text-anchor="middle" x="88.21" y="-130.11" font-family="sans" font-size="14.00">foo</text>
+<text text-anchor="middle" x="88.21" y="-112.86" font-family="sans" font-size="14.00">2000&#45;01&#45;02T00</text>
+</g>
+<!-- 1/foo&#45;&gt;2/foo -->
+<g id="edge1" class="edge">
+<title>1/foo&#45;&gt;2/foo</title>
+<path fill="none" stroke="black" d="M88.21,-191.74C88.21,-184.21 88.21,-175.98 88.21,-167.99"/>
+<polygon fill="black" stroke="black" points="91.71,-168.08 88.21,-158.08 84.71,-168.08 91.71,-168.08"/>
+</g>
+<!-- 3/foo -->
+<g id="node3" class="node">
+<title>3/foo</title>
+<ellipse fill="none" stroke="black" cx="88.21" cy="-30.05" rx="88.21" ry="30.05"/>
+<text text-anchor="middle" x="88.21" y="-34" font-family="sans" font-size="14.00">foo</text>
+<text text-anchor="middle" x="88.21" y="-16.75" font-family="sans" font-size="14.00">2000&#45;01&#45;03T00</text>
+</g>
+<!-- 2/foo&#45;&gt;3/foo -->
+<g id="edge2" class="edge">
+<title>2/foo&#45;&gt;3/foo</title>
+<path fill="none" stroke="black" d="M88.21,-95.64C88.21,-88.11 88.21,-79.87 88.21,-71.88"/>
+<polygon fill="black" stroke="black" points="91.71,-71.98 88.21,-61.98 84.71,-71.98 91.71,-71.98"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-a0b983d4be5182e8e12f4aacfcc75c2683db3c40.svg b/nightly_8.3/html/_images/graphviz-a0b983d4be5182e8e12f4aacfcc75c2683db3c40.svg
new file mode 100644
index 00000000000..8d0e8a0f4be
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-a0b983d4be5182e8e12f4aacfcc75c2683db3c40.svg
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Example Pages: 1 -->
+<svg width="181pt" height="360pt"
+ viewBox="0.00 0.00 181.29 360.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(0.691948 0.691948) rotate(0) translate(4 516.27)">
+<title>Example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-516.27 258,-516.27 258,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_1</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="8,-200.21 8,-504.27 82,-504.27 82,-200.21 8,-200.21"/>
+<text text-anchor="middle" x="45" y="-486.97" font-family="sans" font-size="14.00">1</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_2</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="90,-104.1 90,-402.92 164,-402.92 164,-104.1 90,-104.1"/>
+<text text-anchor="middle" x="127" y="-385.62" font-family="sans" font-size="14.00">2</text>
+</g>
+<g id="clust3" class="cluster">
+<title>cluster_3</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="172,-8 172,-301.56 246,-301.56 246,-8 172,-8"/>
+<text text-anchor="middle" x="209" y="-284.26" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 1/foo -->
+<g id="node1" class="node">
+<title>1/foo</title>
+<ellipse fill="none" stroke="black" cx="45" cy="-440.97" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="45" y="-444.92" font-family="sans" font-size="14.00">foo</text>
+<text text-anchor="middle" x="45" y="-427.67" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/bar -->
+<g id="node2" class="node">
+<title>1/bar</title>
+<ellipse fill="none" stroke="black" cx="45" cy="-339.61" rx="27.75" ry="30.05"/>
+<text text-anchor="middle" x="45" y="-343.56" font-family="sans" font-size="14.00">bar</text>
+<text text-anchor="middle" x="45" y="-326.31" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/foo&#45;&gt;1/bar -->
+<g id="edge1" class="edge">
+<title>1/foo&#45;&gt;1/bar</title>
+<path fill="none" stroke="black" d="M45,-410.43C45,-401.22 45,-390.9 45,-381.08"/>
+<polygon fill="black" stroke="black" points="48.5,-381.38 45,-371.38 41.5,-381.38 48.5,-381.38"/>
+</g>
+<!-- 1/baz -->
+<g id="node3" class="node">
+<title>1/baz</title>
+<ellipse fill="none" stroke="black" cx="45" cy="-238.26" rx="28.81" ry="30.05"/>
+<text text-anchor="middle" x="45" y="-242.21" font-family="sans" font-size="14.00">baz</text>
+<text text-anchor="middle" x="45" y="-224.96" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/bar&#45;&gt;1/baz -->
+<g id="edge2" class="edge">
+<title>1/bar&#45;&gt;1/baz</title>
+<path fill="none" stroke="black" d="M45,-309.07C45,-299.86 45,-289.54 45,-279.72"/>
+<polygon fill="black" stroke="black" points="48.5,-280.03 45,-270.03 41.5,-280.03 48.5,-280.03"/>
+</g>
+<!-- 2/bar -->
+<g id="node5" class="node">
+<title>2/bar</title>
+<ellipse fill="none" stroke="black" cx="127" cy="-238.26" rx="27.75" ry="30.05"/>
+<text text-anchor="middle" x="127" y="-242.21" font-family="sans" font-size="14.00">bar</text>
+<text text-anchor="middle" x="127" y="-224.96" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 1/bar&#45;&gt;2/bar -->
+<g id="edge7" class="edge">
+<title>1/bar&#45;&gt;2/bar</title>
+<path fill="none" stroke="black" d="M66.85,-320.73C73.34,-314.93 80.25,-308.26 86,-301.56 93.32,-293.03 100.39,-283.11 106.54,-273.74"/>
+<polygon fill="black" stroke="black" points="109.35,-275.84 111.77,-265.52 103.45,-272.08 109.35,-275.84"/>
+</g>
+<!-- 2/foo -->
+<g id="node4" class="node">
+<title>2/foo</title>
+<ellipse fill="none" stroke="black" cx="127" cy="-339.61" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="127" y="-343.56" font-family="sans" font-size="14.00">foo</text>
+<text text-anchor="middle" x="127" y="-326.31" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/foo&#45;&gt;2/bar -->
+<g id="edge3" class="edge">
+<title>2/foo&#45;&gt;2/bar</title>
+<path fill="none" stroke="black" d="M127,-309.07C127,-299.86 127,-289.54 127,-279.72"/>
+<polygon fill="black" stroke="black" points="130.5,-280.03 127,-270.03 123.5,-280.03 130.5,-280.03"/>
+</g>
+<!-- 2/baz -->
+<g id="node6" class="node">
+<title>2/baz</title>
+<ellipse fill="none" stroke="black" cx="127" cy="-142.16" rx="28.81" ry="30.05"/>
+<text text-anchor="middle" x="127" y="-146.11" font-family="sans" font-size="14.00">baz</text>
+<text text-anchor="middle" x="127" y="-128.86" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/bar&#45;&gt;2/baz -->
+<g id="edge4" class="edge">
+<title>2/bar&#45;&gt;2/baz</title>
+<path fill="none" stroke="black" d="M127,-207.74C127,-200.21 127,-191.98 127,-183.99"/>
+<polygon fill="black" stroke="black" points="130.5,-184.08 127,-174.08 123.5,-184.08 130.5,-184.08"/>
+</g>
+<!-- 3/bar -->
+<g id="node8" class="node">
+<title>3/bar</title>
+<ellipse fill="none" stroke="black" cx="208" cy="-142.16" rx="27.75" ry="30.05"/>
+<text text-anchor="middle" x="208" y="-146.11" font-family="sans" font-size="14.00">bar</text>
+<text text-anchor="middle" x="208" y="-128.86" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 2/bar&#45;&gt;3/bar -->
+<g id="edge8" class="edge">
+<title>2/bar&#45;&gt;3/bar</title>
+<path fill="none" stroke="black" d="M145.38,-215.91C156.18,-203.36 170,-187.3 181.91,-173.46"/>
+<polygon fill="black" stroke="black" points="184.55,-175.76 188.42,-165.9 179.25,-171.19 184.55,-175.76"/>
+</g>
+<!-- 3/foo -->
+<g id="node7" class="node">
+<title>3/foo</title>
+<ellipse fill="none" stroke="black" cx="208" cy="-238.26" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="208" y="-242.21" font-family="sans" font-size="14.00">foo</text>
+<text text-anchor="middle" x="208" y="-224.96" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/foo&#45;&gt;3/bar -->
+<g id="edge5" class="edge">
+<title>3/foo&#45;&gt;3/bar</title>
+<path fill="none" stroke="black" d="M208,-207.74C208,-200.21 208,-191.98 208,-183.99"/>
+<polygon fill="black" stroke="black" points="211.5,-184.08 208,-174.08 204.5,-184.08 211.5,-184.08"/>
+</g>
+<!-- 3/baz -->
+<g id="node9" class="node">
+<title>3/baz</title>
+<ellipse fill="none" stroke="black" cx="209" cy="-46.05" rx="28.81" ry="30.05"/>
+<text text-anchor="middle" x="209" y="-50" font-family="sans" font-size="14.00">baz</text>
+<text text-anchor="middle" x="209" y="-32.75" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/bar&#45;&gt;3/baz -->
+<g id="edge6" class="edge">
+<title>3/bar&#45;&gt;3/baz</title>
+<path fill="none" stroke="black" d="M208.31,-111.64C208.39,-104.11 208.48,-95.87 208.57,-87.88"/>
+<polygon fill="black" stroke="black" points="212.06,-88.01 208.67,-77.98 205.07,-87.94 212.06,-88.01"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-a8b1e9e93fab74bdbf93d1612a22c4eef701651d.svg b/nightly_8.3/html/_images/graphviz-a8b1e9e93fab74bdbf93d1612a22c4eef701651d.svg
new file mode 100644
index 00000000000..565c468ae99
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-a8b1e9e93fab74bdbf93d1612a22c4eef701651d.svg
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: example Pages: 1 -->
+<svg width="179pt" height="265pt"
+ viewBox="0.00 0.00 179.00 265.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 261.25)">
+<title>example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-261.25 175,-261.25 175,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_success</title>
+<polygon fill="none" stroke="green" stroke-dasharray="5,2" points="8,-64 8,-141.25 85,-141.25 85,-64 8,-64"/>
+<text text-anchor="middle" x="46.5" y="-123.95" font-family="sans" font-size="14.00" fill="green">:succeed</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_failure</title>
+<polygon fill="none" stroke="red" stroke-dasharray="5,2" points="93,-64 93,-141.25 163,-141.25 163,-64 93,-64"/>
+<text text-anchor="middle" x="128" y="-123.95" font-family="sans" font-size="14.00" fill="red">:fail</text>
+</g>
+<!-- c -->
+<g id="node1" class="node">
+<title>c</title>
+<ellipse fill="none" stroke="black" cx="50" cy="-90" rx="27" ry="18"/>
+<text text-anchor="middle" x="50" y="-85.33" font-family="sans" font-size="14.00">c</text>
+</g>
+<!-- d -->
+<g id="node5" class="node">
+<title>d</title>
+<ellipse fill="none" stroke="black" cx="89" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="89" y="-13.32" font-family="sans" font-size="14.00">d</text>
+</g>
+<!-- c&#45;&gt;d -->
+<g id="edge3" class="edge">
+<title>c&#45;&gt;d</title>
+<path fill="none" stroke="black" d="M59.05,-72.76C63.62,-64.55 69.29,-54.37 74.46,-45.09"/>
+<polygon fill="black" stroke="black" points="77.46,-46.91 79.27,-36.47 71.34,-43.5 77.46,-46.91"/>
+</g>
+<!-- r -->
+<g id="node2" class="node">
+<title>r</title>
+<ellipse fill="none" stroke="black" cx="128" cy="-90" rx="27" ry="18"/>
+<text text-anchor="middle" x="128" y="-85.33" font-family="sans" font-size="14.00">r</text>
+</g>
+<!-- r&#45;&gt;d -->
+<g id="edge5" class="edge">
+<title>r&#45;&gt;d</title>
+<path fill="none" stroke="black" d="M118.95,-72.76C114.38,-64.55 108.71,-54.37 103.54,-45.09"/>
+<polygon fill="black" stroke="black" points="106.66,-43.5 98.73,-36.47 100.54,-46.91 106.66,-43.5"/>
+</g>
+<!-- a -->
+<g id="node3" class="node">
+<title>a</title>
+<ellipse fill="none" stroke="black" cx="89" cy="-239.25" rx="27" ry="18"/>
+<text text-anchor="middle" x="89" y="-234.57" font-family="sans" font-size="14.00">a</text>
+</g>
+<!-- b -->
+<g id="node4" class="node">
+<title>b</title>
+<ellipse fill="none" stroke="black" cx="89" cy="-167.25" rx="27" ry="18"/>
+<text text-anchor="middle" x="89" y="-162.57" font-family="sans" font-size="14.00">b</text>
+</g>
+<!-- a&#45;&gt;b -->
+<g id="edge1" class="edge">
+<title>a&#45;&gt;b</title>
+<path fill="none" stroke="black" d="M89,-220.95C89,-213.66 89,-204.98 89,-196.79"/>
+<polygon fill="black" stroke="black" points="92.5,-196.87 89,-186.87 85.5,-196.87 92.5,-196.87"/>
+</g>
+<!-- b&#45;&gt;c -->
+<g id="edge2" class="edge">
+<title>b&#45;&gt;c</title>
+<path fill="none" stroke="black" d="M80.54,-149.92C75.66,-140.52 69.42,-128.47 63.85,-117.73"/>
+<polygon fill="black" stroke="black" points="66.99,-116.17 59.28,-108.9 60.77,-119.39 66.99,-116.17"/>
+</g>
+<!-- b&#45;&gt;r -->
+<g id="edge4" class="edge">
+<title>b&#45;&gt;r</title>
+<path fill="none" stroke="black" d="M97.46,-149.92C102.34,-140.52 108.58,-128.47 114.15,-117.73"/>
+<polygon fill="black" stroke="black" points="117.23,-119.39 118.72,-108.9 111.01,-116.17 117.23,-119.39"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-aca8d285197e57a400e199c11a8dce9f5229b6a0.svg b/nightly_8.3/html/_images/graphviz-aca8d285197e57a400e199c11a8dce9f5229b6a0.svg
new file mode 100644
index 00000000000..ebccf037f3b
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-aca8d285197e57a400e199c11a8dce9f5229b6a0.svg
@@ -0,0 +1,255 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: example Pages: 1 -->
+<svg width="75pt" height="504pt"
+ viewBox="0.00 0.00 75.18 504.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(0.452873 0.452873) rotate(0) translate(4 1108.89)">
+<title>example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-1108.89 162,-1108.89 162,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_1</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="8,-707.23 8,-1096.89 150,-1096.89 150,-707.23 8,-707.23"/>
+<text text-anchor="middle" x="79" y="-1079.59" font-family="sans" font-size="14.00">1</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_2</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="8,-405.67 8,-699.23 150,-699.23 150,-405.67 8,-405.67"/>
+<text text-anchor="middle" x="79" y="-681.93" font-family="sans" font-size="14.00">2</text>
+</g>
+<g id="clust3" class="cluster">
+<title>cluster_3</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="8,-8 8,-397.67 150,-397.67 150,-8 8,-8"/>
+<text text-anchor="middle" x="79" y="-380.37" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 1/a -->
+<g id="node1" class="node">
+<title>1/a</title>
+<ellipse fill="none" stroke="black" cx="115" cy="-1033.59" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="115" y="-1037.54" font-family="sans" font-size="14.00">a</text>
+<text text-anchor="middle" x="115" y="-1020.29" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/b -->
+<g id="node2" class="node">
+<title>1/b</title>
+<ellipse fill="none" stroke="black" cx="79" cy="-937.49" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="79" y="-941.44" font-family="sans" font-size="14.00">b</text>
+<text text-anchor="middle" x="79" y="-924.19" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/a&#45;&gt;1/b -->
+<g id="edge1" class="edge">
+<title>1/a&#45;&gt;1/b</title>
+<path fill="none" stroke="black" d="M104.59,-1005.37C101.12,-996.3 97.19,-986.03 93.47,-976.3"/>
+<polygon fill="black" stroke="black" points="96.77,-975.15 89.93,-967.06 90.23,-977.65 96.77,-975.15"/>
+</g>
+<!-- 1/d -->
+<g id="node3" class="node">
+<title>1/d</title>
+<ellipse fill="none" stroke="black" cx="43" cy="-841.38" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="43" y="-845.33" font-family="sans" font-size="14.00">d</text>
+<text text-anchor="middle" x="43" y="-828.08" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/b&#45;&gt;1/d -->
+<g id="edge3" class="edge">
+<title>1/b&#45;&gt;1/d</title>
+<path fill="none" stroke="black" d="M68.59,-909.27C65.12,-900.2 61.19,-889.92 57.47,-880.2"/>
+<polygon fill="black" stroke="black" points="60.77,-879.05 53.93,-870.96 54.23,-881.55 60.77,-879.05"/>
+</g>
+<!-- 1/f -->
+<g id="node4" class="node">
+<title>1/f</title>
+<ellipse fill="none" stroke="black" cx="115" cy="-841.38" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="115" y="-845.33" font-family="sans" font-size="14.00">f</text>
+<text text-anchor="middle" x="115" y="-828.08" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/b&#45;&gt;1/f -->
+<g id="edge2" class="edge">
+<title>1/b&#45;&gt;1/f</title>
+<path fill="none" stroke="black" d="M89.41,-909.27C92.88,-900.2 96.81,-889.92 100.53,-880.2"/>
+<polygon fill="black" stroke="black" points="103.77,-881.55 104.07,-870.96 97.23,-879.05 103.77,-881.55"/>
+</g>
+<!-- 1/e -->
+<g id="node6" class="node">
+<title>1/e</title>
+<ellipse fill="none" stroke="black" cx="43" cy="-745.28" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="43" y="-749.23" font-family="sans" font-size="14.00">e</text>
+<text text-anchor="middle" x="43" y="-731.98" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/d&#45;&gt;1/e -->
+<g id="edge13" class="edge">
+<title>1/d&#45;&gt;1/e</title>
+<path fill="none" stroke="black" d="M43,-810.87C43,-803.33 43,-795.1 43,-787.11"/>
+<polygon fill="black" stroke="black" points="46.5,-787.21 43,-777.21 39.5,-787.21 46.5,-787.21"/>
+</g>
+<!-- 2/c -->
+<g id="node11" class="node">
+<title>2/c</title>
+<ellipse fill="none" stroke="black" cx="115" cy="-635.93" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="115" y="-639.88" font-family="sans" font-size="14.00">c</text>
+<text text-anchor="middle" x="115" y="-622.63" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 1/f&#45;&gt;2/c -->
+<g id="edge17" class="edge">
+<title>1/f&#45;&gt;2/c</title>
+<path fill="none" stroke="black" d="M115,-811.23C115,-776.21 115,-717.23 115,-677.7"/>
+<polygon fill="black" stroke="black" points="118.5,-677.87 115,-667.87 111.5,-677.87 118.5,-677.87"/>
+</g>
+<!-- 1/c -->
+<g id="node5" class="node">
+<title>1/c</title>
+<ellipse fill="none" stroke="black" cx="43" cy="-1033.59" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="43" y="-1037.54" font-family="sans" font-size="14.00">c</text>
+<text text-anchor="middle" x="43" y="-1020.29" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/c&#45;&gt;1/b -->
+<g id="edge4" class="edge">
+<title>1/c&#45;&gt;1/b</title>
+<path fill="none" stroke="black" d="M53.41,-1005.37C56.88,-996.3 60.81,-986.03 64.53,-976.3"/>
+<polygon fill="black" stroke="black" points="67.77,-977.65 68.07,-967.06 61.23,-975.15 67.77,-977.65"/>
+</g>
+<!-- 2/a -->
+<g id="node7" class="node">
+<title>2/a</title>
+<ellipse fill="none" stroke="black" cx="43" cy="-635.93" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="43" y="-639.88" font-family="sans" font-size="14.00">a</text>
+<text text-anchor="middle" x="43" y="-622.63" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 1/e&#45;&gt;2/a -->
+<g id="edge14" class="edge">
+<title>1/e&#45;&gt;2/a</title>
+<path fill="none" stroke="black" d="M43,-714.95C43,-703.47 43,-690.1 43,-677.71"/>
+<polygon fill="black" stroke="black" points="46.5,-677.74 43,-667.74 39.5,-677.74 46.5,-677.74"/>
+</g>
+<!-- 2/b -->
+<g id="node8" class="node">
+<title>2/b</title>
+<ellipse fill="none" stroke="black" cx="43" cy="-539.82" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="43" y="-543.77" font-family="sans" font-size="14.00">b</text>
+<text text-anchor="middle" x="43" y="-526.52" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/a&#45;&gt;2/b -->
+<g id="edge5" class="edge">
+<title>2/a&#45;&gt;2/b</title>
+<path fill="none" stroke="black" d="M43,-605.41C43,-597.88 43,-589.64 43,-581.66"/>
+<polygon fill="black" stroke="black" points="46.5,-581.75 43,-571.75 39.5,-581.75 46.5,-581.75"/>
+</g>
+<!-- 2/d -->
+<g id="node9" class="node">
+<title>2/d</title>
+<ellipse fill="none" stroke="black" cx="43" cy="-443.72" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="43" y="-447.67" font-family="sans" font-size="14.00">d</text>
+<text text-anchor="middle" x="43" y="-430.42" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/b&#45;&gt;2/d -->
+<g id="edge7" class="edge">
+<title>2/b&#45;&gt;2/d</title>
+<path fill="none" stroke="black" d="M43,-509.31C43,-501.77 43,-493.54 43,-485.55"/>
+<polygon fill="black" stroke="black" points="46.5,-485.64 43,-475.64 39.5,-485.64 46.5,-485.64"/>
+</g>
+<!-- 2/f -->
+<g id="node10" class="node">
+<title>2/f</title>
+<ellipse fill="none" stroke="black" cx="115" cy="-443.72" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="115" y="-447.67" font-family="sans" font-size="14.00">f</text>
+<text text-anchor="middle" x="115" y="-430.42" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/b&#45;&gt;2/f -->
+<g id="edge6" class="edge">
+<title>2/b&#45;&gt;2/f</title>
+<path fill="none" stroke="black" d="M60.06,-516.52C69.32,-504.42 80.91,-489.27 91.06,-476.01"/>
+<polygon fill="black" stroke="black" points="93.59,-478.46 96.89,-468.39 88.03,-474.2 93.59,-478.46"/>
+</g>
+<!-- 3/a -->
+<g id="node12" class="node">
+<title>3/a</title>
+<ellipse fill="none" stroke="black" cx="43" cy="-334.36" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="43" y="-338.31" font-family="sans" font-size="14.00">a</text>
+<text text-anchor="middle" x="43" y="-321.06" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 2/d&#45;&gt;3/a -->
+<g id="edge16" class="edge">
+<title>2/d&#45;&gt;3/a</title>
+<path fill="none" stroke="black" d="M43,-413.38C43,-401.9 43,-388.54 43,-376.15"/>
+<polygon fill="black" stroke="black" points="46.5,-376.18 43,-366.18 39.5,-376.18 46.5,-376.18"/>
+</g>
+<!-- 3/c -->
+<g id="node16" class="node">
+<title>3/c</title>
+<ellipse fill="none" stroke="black" cx="115" cy="-334.36" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="115" y="-338.31" font-family="sans" font-size="14.00">c</text>
+<text text-anchor="middle" x="115" y="-321.06" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 2/f&#45;&gt;3/c -->
+<g id="edge18" class="edge">
+<title>2/f&#45;&gt;3/c</title>
+<path fill="none" stroke="black" d="M115,-413.38C115,-401.9 115,-388.54 115,-376.15"/>
+<polygon fill="black" stroke="black" points="118.5,-376.18 115,-366.18 111.5,-376.18 118.5,-376.18"/>
+</g>
+<!-- 2/c&#45;&gt;2/b -->
+<g id="edge8" class="edge">
+<title>2/c&#45;&gt;2/b</title>
+<path fill="none" stroke="black" d="M97.94,-612.63C88.68,-600.53 77.09,-585.37 66.94,-572.11"/>
+<polygon fill="black" stroke="black" points="69.97,-570.31 61.11,-564.49 64.41,-574.56 69.97,-570.31"/>
+</g>
+<!-- 3/b -->
+<g id="node13" class="node">
+<title>3/b</title>
+<ellipse fill="none" stroke="black" cx="79" cy="-238.26" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="79" y="-242.21" font-family="sans" font-size="14.00">b</text>
+<text text-anchor="middle" x="79" y="-224.96" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/a&#45;&gt;3/b -->
+<g id="edge9" class="edge">
+<title>3/a&#45;&gt;3/b</title>
+<path fill="none" stroke="black" d="M53.41,-306.15C56.88,-297.07 60.81,-286.8 64.53,-277.07"/>
+<polygon fill="black" stroke="black" points="67.77,-278.42 68.07,-267.83 61.23,-275.92 67.77,-278.42"/>
+</g>
+<!-- 3/d -->
+<g id="node14" class="node">
+<title>3/d</title>
+<ellipse fill="none" stroke="black" cx="43" cy="-142.16" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="43" y="-146.11" font-family="sans" font-size="14.00">d</text>
+<text text-anchor="middle" x="43" y="-128.86" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/b&#45;&gt;3/d -->
+<g id="edge11" class="edge">
+<title>3/b&#45;&gt;3/d</title>
+<path fill="none" stroke="black" d="M68.59,-210.04C65.12,-200.97 61.19,-190.7 57.47,-180.97"/>
+<polygon fill="black" stroke="black" points="60.77,-179.82 53.93,-171.73 54.23,-182.32 60.77,-179.82"/>
+</g>
+<!-- 3/f -->
+<g id="node15" class="node">
+<title>3/f</title>
+<ellipse fill="none" stroke="black" cx="115" cy="-142.16" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="115" y="-146.11" font-family="sans" font-size="14.00">f</text>
+<text text-anchor="middle" x="115" y="-128.86" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/b&#45;&gt;3/f -->
+<g id="edge10" class="edge">
+<title>3/b&#45;&gt;3/f</title>
+<path fill="none" stroke="black" d="M89.41,-210.04C92.88,-200.97 96.81,-190.7 100.53,-180.97"/>
+<polygon fill="black" stroke="black" points="103.77,-182.32 104.07,-171.73 97.23,-179.82 103.77,-182.32"/>
+</g>
+<!-- 3/e -->
+<g id="node17" class="node">
+<title>3/e</title>
+<ellipse fill="none" stroke="black" cx="43" cy="-46.05" rx="27" ry="30.05"/>
+<text text-anchor="middle" x="43" y="-50" font-family="sans" font-size="14.00">e</text>
+<text text-anchor="middle" x="43" y="-32.75" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/d&#45;&gt;3/e -->
+<g id="edge15" class="edge">
+<title>3/d&#45;&gt;3/e</title>
+<path fill="none" stroke="black" d="M43,-111.64C43,-104.11 43,-95.87 43,-87.88"/>
+<polygon fill="black" stroke="black" points="46.5,-87.98 43,-77.98 39.5,-87.98 46.5,-87.98"/>
+</g>
+<!-- 3/c&#45;&gt;3/b -->
+<g id="edge12" class="edge">
+<title>3/c&#45;&gt;3/b</title>
+<path fill="none" stroke="black" d="M104.59,-306.15C101.12,-297.07 97.19,-286.8 93.47,-277.07"/>
+<polygon fill="black" stroke="black" points="96.77,-275.92 89.93,-267.83 90.23,-278.42 96.77,-275.92"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-b280465dc5ff0105af7f02b917256ecf1a7e9c85.svg b/nightly_8.3/html/_images/graphviz-b280465dc5ff0105af7f02b917256ecf1a7e9c85.svg
new file mode 100644
index 00000000000..a0ea0c2e751
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-b280465dc5ff0105af7f02b917256ecf1a7e9c85.svg
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: bakery Pages: 1 -->
+<svg width="370pt" height="260pt"
+ viewBox="0.00 0.00 369.91 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">
+<title>bakery</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-256 365.91,-256 365.91,4 -4,4"/>
+<!-- purchase ingredients -->
+<g id="node1" class="node">
+<title>purchase ingredients</title>
+<ellipse fill="none" stroke="black" cx="113.82" cy="-234" rx="113.82" ry="18"/>
+<text text-anchor="middle" x="113.82" y="-229.32" font-family="sans" font-size="14.00">purchase ingredients</text>
+</g>
+<!-- make dough -->
+<g id="node2" class="node">
+<title>make dough</title>
+<ellipse fill="none" stroke="black" cx="113.82" cy="-162" rx="71.73" ry="18"/>
+<text text-anchor="middle" x="113.82" y="-157.32" font-family="sans" font-size="14.00">make dough</text>
+</g>
+<!-- purchase ingredients&#45;&gt;make dough -->
+<g id="edge1" class="edge">
+<title>purchase ingredients&#45;&gt;make dough</title>
+<path fill="none" stroke="black" d="M113.82,-215.7C113.82,-208.41 113.82,-199.73 113.82,-191.54"/>
+<polygon fill="black" stroke="black" points="117.32,-191.62 113.82,-181.62 110.32,-191.62 117.32,-191.62"/>
+</g>
+<!-- bake bread -->
+<g id="node3" class="node">
+<title>bake bread</title>
+<ellipse fill="none" stroke="black" cx="197.82" cy="-90" rx="65.41" ry="18"/>
+<text text-anchor="middle" x="197.82" y="-85.33" font-family="sans" font-size="14.00">bake bread</text>
+</g>
+<!-- make dough&#45;&gt;bake bread -->
+<g id="edge2" class="edge">
+<title>make dough&#45;&gt;bake bread</title>
+<path fill="none" stroke="black" d="M133.72,-144.41C144.39,-135.52 157.72,-124.41 169.46,-114.63"/>
+<polygon fill="black" stroke="black" points="171.45,-117.53 176.89,-108.44 166.97,-112.15 171.45,-117.53"/>
+</g>
+<!-- sell bread -->
+<g id="node4" class="node">
+<title>sell bread</title>
+<ellipse fill="none" stroke="black" cx="127.82" cy="-18" rx="58.57" ry="18"/>
+<text text-anchor="middle" x="127.82" y="-13.32" font-family="sans" font-size="14.00">sell bread</text>
+</g>
+<!-- bake bread&#45;&gt;sell bread -->
+<g id="edge3" class="edge">
+<title>bake bread&#45;&gt;sell bread</title>
+<path fill="none" stroke="black" d="M181.23,-72.41C172.6,-63.78 161.88,-53.06 152.31,-43.5"/>
+<polygon fill="black" stroke="black" points="154.9,-41.14 145.36,-36.54 149.95,-46.09 154.9,-41.14"/>
+</g>
+<!-- clean oven -->
+<g id="node5" class="node">
+<title>clean oven</title>
+<ellipse fill="none" stroke="black" cx="267.82" cy="-18" rx="63.83" ry="18"/>
+<text text-anchor="middle" x="267.82" y="-13.32" font-family="sans" font-size="14.00">clean oven</text>
+</g>
+<!-- bake bread&#45;&gt;clean oven -->
+<g id="edge4" class="edge">
+<title>bake bread&#45;&gt;clean oven</title>
+<path fill="none" stroke="black" d="M214.4,-72.41C223.03,-63.78 233.75,-53.06 243.32,-43.5"/>
+<polygon fill="black" stroke="black" points="245.68,-46.09 250.27,-36.54 240.73,-41.14 245.68,-46.09"/>
+</g>
+<!-- pre&#45;heat oven -->
+<g id="node6" class="node">
+<title>pre&#45;heat oven</title>
+<ellipse fill="none" stroke="black" cx="282.82" cy="-162" rx="79.09" ry="18"/>
+<text text-anchor="middle" x="282.82" y="-157.32" font-family="sans" font-size="14.00">pre&#45;heat oven</text>
+</g>
+<!-- pre&#45;heat oven&#45;&gt;bake bread -->
+<g id="edge5" class="edge">
+<title>pre&#45;heat oven&#45;&gt;bake bread</title>
+<path fill="none" stroke="black" d="M262.67,-144.41C251.87,-135.52 238.39,-124.41 226.51,-114.63"/>
+<polygon fill="black" stroke="black" points="228.93,-112.09 218.98,-108.43 224.48,-117.49 228.93,-112.09"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-b850ea169f58a15feb1d5b7b3a2b593602948b1e.svg b/nightly_8.3/html/_images/graphviz-b850ea169f58a15feb1d5b7b3a2b593602948b1e.svg
new file mode 100644
index 00000000000..6a89e8f89b9
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-b850ea169f58a15feb1d5b7b3a2b593602948b1e.svg
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Example Pages: 1 -->
+<svg width="216pt" height="332pt"
+ viewBox="0.00 0.00 215.75 332.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)">
+<title>Example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-328 211.75,-328 211.75,4 -4,4"/>
+<!-- AIRPLANE -->
+<g id="node1" class="node">
+<title>AIRPLANE</title>
+<polygon fill="powderblue" stroke="royalblue" points="85.75,-108 0,-108 0,-72 85.75,-72 85.75,-108"/>
+<text text-anchor="middle" x="42.88" y="-85.33" font-family="sans" font-size="14.00">AIRPLANE</text>
+</g>
+<!-- a380 -->
+<g id="node2" class="node">
+<title>a380</title>
+<polygon fill="powderblue" stroke="royalblue" points="69.88,-36 15.88,-36 15.88,0 69.88,0 69.88,-36"/>
+<text text-anchor="middle" x="42.88" y="-13.32" font-family="sans" font-size="14.00">a380</text>
+</g>
+<!-- AIRPLANE&#45;&gt;a380 -->
+<g id="edge1" class="edge">
+<title>AIRPLANE&#45;&gt;a380</title>
+<path fill="none" stroke="royalblue" d="M42.88,-71.7C42.88,-64.41 42.88,-55.73 42.88,-47.54"/>
+<polygon fill="royalblue" stroke="royalblue" points="46.38,-47.62 42.88,-37.62 39.38,-47.62 46.38,-47.62"/>
+</g>
+<!-- HELICOPTER -->
+<g id="node3" class="node">
+<title>HELICOPTER</title>
+<polygon fill="powderblue" stroke="royalblue" points="207.75,-108 104,-108 104,-72 207.75,-72 207.75,-108"/>
+<text text-anchor="middle" x="155.88" y="-85.33" font-family="sans" font-size="14.00">HELICOPTER</text>
+</g>
+<!-- r44 -->
+<g id="node4" class="node">
+<title>r44</title>
+<polygon fill="powderblue" stroke="royalblue" points="182.88,-36 128.88,-36 128.88,0 182.88,0 182.88,-36"/>
+<text text-anchor="middle" x="155.88" y="-13.32" font-family="sans" font-size="14.00">r44</text>
+</g>
+<!-- HELICOPTER&#45;&gt;r44 -->
+<g id="edge2" class="edge">
+<title>HELICOPTER&#45;&gt;r44</title>
+<path fill="none" stroke="royalblue" d="M155.88,-71.7C155.88,-64.41 155.88,-55.73 155.88,-47.54"/>
+<polygon fill="royalblue" stroke="royalblue" points="159.38,-47.62 155.88,-37.62 152.38,-47.62 159.38,-47.62"/>
+</g>
+<!-- root -->
+<g id="node5" class="node">
+<title>root</title>
+<polygon fill="powderblue" stroke="royalblue" points="125.88,-324 71.88,-324 71.88,-288 125.88,-288 125.88,-324"/>
+<text text-anchor="middle" x="98.88" y="-301.32" font-family="sans" font-size="14.00">root</text>
+</g>
+<!-- VEHICLE -->
+<g id="node6" class="node">
+<title>VEHICLE</title>
+<polygon fill="powderblue" stroke="royalblue" points="136.88,-252 60.88,-252 60.88,-216 136.88,-216 136.88,-252"/>
+<text text-anchor="middle" x="98.88" y="-229.32" font-family="sans" font-size="14.00">VEHICLE</text>
+</g>
+<!-- root&#45;&gt;VEHICLE -->
+<g id="edge3" class="edge">
+<title>root&#45;&gt;VEHICLE</title>
+<path fill="none" stroke="royalblue" d="M98.88,-287.7C98.88,-280.41 98.88,-271.73 98.88,-263.54"/>
+<polygon fill="royalblue" stroke="royalblue" points="102.38,-263.62 98.88,-253.62 95.38,-263.62 102.38,-263.62"/>
+</g>
+<!-- AIR_VEHICLE -->
+<g id="node7" class="node">
+<title>AIR_VEHICLE</title>
+<polygon fill="powderblue" stroke="royalblue" points="152.25,-180 45.5,-180 45.5,-144 152.25,-144 152.25,-180"/>
+<text text-anchor="middle" x="98.88" y="-157.32" font-family="sans" font-size="14.00">AIR_VEHICLE</text>
+</g>
+<!-- VEHICLE&#45;&gt;AIR_VEHICLE -->
+<g id="edge4" class="edge">
+<title>VEHICLE&#45;&gt;AIR_VEHICLE</title>
+<path fill="none" stroke="royalblue" d="M98.88,-215.7C98.88,-208.41 98.88,-199.73 98.88,-191.54"/>
+<polygon fill="royalblue" stroke="royalblue" points="102.38,-191.62 98.88,-181.62 95.38,-191.62 102.38,-191.62"/>
+</g>
+<!-- AIR_VEHICLE&#45;&gt;AIRPLANE -->
+<g id="edge5" class="edge">
+<title>AIR_VEHICLE&#45;&gt;AIRPLANE</title>
+<path fill="none" stroke="royalblue" d="M85.03,-143.7C78.59,-135.64 70.79,-125.89 63.66,-116.98"/>
+<polygon fill="royalblue" stroke="royalblue" points="66.48,-114.91 57.5,-109.29 61.02,-119.28 66.48,-114.91"/>
+</g>
+<!-- AIR_VEHICLE&#45;&gt;HELICOPTER -->
+<g id="edge6" class="edge">
+<title>AIR_VEHICLE&#45;&gt;HELICOPTER</title>
+<path fill="none" stroke="royalblue" d="M112.96,-143.7C119.52,-135.64 127.46,-125.89 134.72,-116.98"/>
+<polygon fill="royalblue" stroke="royalblue" points="137.39,-119.24 140.99,-109.28 131.96,-114.82 137.39,-119.24"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-bbc033dc2abc4e5b314270dae1e5c178111a46e8.svg b/nightly_8.3/html/_images/graphviz-bbc033dc2abc4e5b314270dae1e5c178111a46e8.svg
new file mode 100644
index 00000000000..2d88f0e19df
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-bbc033dc2abc4e5b314270dae1e5c178111a46e8.svg
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: _ Pages: 1 -->
+<svg width="202pt" height="398pt"
+ viewBox="0.00 0.00 202.40 398.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 394)">
+<title>_</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-394 198.4,-394 198.4,4 -4,4"/>
+<!-- Jobs -->
+<g id="node1" class="node">
+<title>Jobs</title>
+<ellipse fill="none" stroke="black" cx="60.15" cy="-372" rx="31.74" ry="18"/>
+<text text-anchor="middle" x="60.15" y="-367.32" font-family="sans" font-size="14.00">Jobs</text>
+</g>
+<!-- Scheduler -->
+<g id="node2" class="node">
+<title>Scheduler</title>
+<ellipse fill="none" stroke="black" cx="60.15" cy="-248.25" rx="60.15" ry="18"/>
+<text text-anchor="middle" x="60.15" y="-243.57" font-family="sans" font-size="14.00">Scheduler</text>
+</g>
+<!-- Jobs&#45;&gt;Scheduler -->
+<g id="edge1" class="edge">
+<title>Jobs&#45;&gt;Scheduler</title>
+<path fill="none" stroke="black" d="M60.15,-353.56C60.15,-333.85 60.15,-301.46 60.15,-278"/>
+<polygon fill="black" stroke="black" points="63.65,-278.17 60.15,-268.17 56.65,-278.18 63.65,-278.17"/>
+<text text-anchor="middle" x="94.65" y="-322.7" font-family="Times,serif" font-size="14.00"> ZMQ</text>
+<text text-anchor="middle" x="94.65" y="-305.45" font-family="Times,serif" font-size="14.00"> GraphQL</text>
+<text text-anchor="middle" x="94.65" y="-288.2" font-family="Times,serif" font-size="14.00"> (default)</text>
+</g>
+<!-- UIS -->
+<g id="node3" class="node">
+<title>UIS</title>
+<ellipse fill="none" stroke="black" cx="60.15" cy="-124.5" rx="28.06" ry="18"/>
+<text text-anchor="middle" x="60.15" y="-119.83" font-family="sans" font-size="14.00">UIS</text>
+</g>
+<!-- Scheduler&#45;&gt;UIS -->
+<g id="edge2" class="edge">
+<title>Scheduler&#45;&gt;UIS</title>
+<path fill="none" stroke="black" d="M60.15,-229.81C60.15,-210.1 60.15,-177.71 60.15,-154.25"/>
+<polygon fill="black" stroke="black" points="63.65,-154.42 60.15,-144.42 56.65,-154.43 63.65,-154.42"/>
+<text text-anchor="middle" x="127.28" y="-198.95" font-family="Times,serif" font-size="14.00"> ZMQ</text>
+<text text-anchor="middle" x="127.28" y="-181.7" font-family="Times,serif" font-size="14.00"> GraphQL (control)</text>
+<text text-anchor="middle" x="127.28" y="-164.45" font-family="Times,serif" font-size="14.00"> Protobuf (data)</text>
+</g>
+<!-- UI -->
+<g id="node4" class="node">
+<title>UI</title>
+<ellipse fill="none" stroke="black" cx="60.15" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="60.15" y="-13.32" font-family="sans" font-size="14.00">UI</text>
+</g>
+<!-- UIS&#45;&gt;UI -->
+<g id="edge3" class="edge">
+<title>UIS&#45;&gt;UI</title>
+<path fill="none" stroke="black" d="M60.15,-106.24C60.15,-90.36 60.15,-66.49 60.15,-47.74"/>
+<polygon fill="black" stroke="black" points="63.65,-47.8 60.15,-37.8 56.65,-47.8 63.65,-47.8"/>
+<text text-anchor="middle" x="100.65" y="-75.2" font-family="Times,serif" font-size="14.00"> Websocket</text>
+<text text-anchor="middle" x="100.65" y="-57.95" font-family="Times,serif" font-size="14.00"> GraphQL</text>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-bc0de543ed60720973573bca7beb8d5bcdc4001c.svg b/nightly_8.3/html/_images/graphviz-bc0de543ed60720973573bca7beb8d5bcdc4001c.svg
new file mode 100644
index 00000000000..0f47af53b50
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-bc0de543ed60720973573bca7beb8d5bcdc4001c.svg
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Mini_Cylc Pages: 1 -->
+<svg width="352pt" height="260pt"
+ viewBox="0.00 0.00 351.81 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">
+<title>Mini_Cylc</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-256 347.81,-256 347.81,4 -4,4"/>
+<!-- make_dough -->
+<g id="node1" class="node">
+<title>make_dough</title>
+<ellipse fill="none" stroke="black" cx="254.72" cy="-162" rx="73.3" ry="18"/>
+<text text-anchor="middle" x="254.72" y="-157.32" font-family="sans" font-size="14.00">make_dough</text>
+</g>
+<!-- bake_bread -->
+<g id="node2" class="node">
+<title>bake_bread</title>
+<ellipse fill="none" stroke="black" cx="167.72" cy="-90" rx="66.99" ry="18"/>
+<text text-anchor="middle" x="167.72" y="-85.33" font-family="sans" font-size="14.00">bake_bread</text>
+</g>
+<!-- make_dough&#45;&gt;bake_bread -->
+<g id="edge1" class="edge">
+<title>make_dough&#45;&gt;bake_bread</title>
+<path fill="none" stroke="black" d="M234.1,-144.41C223.05,-135.52 209.25,-124.41 197.09,-114.63"/>
+<polygon fill="black" stroke="black" points="199.36,-111.96 189.37,-108.42 194.97,-117.41 199.36,-111.96"/>
+</g>
+<!-- sell_bread -->
+<g id="node3" class="node">
+<title>sell_bread</title>
+<ellipse fill="none" stroke="black" cx="95.72" cy="-18" rx="60.15" ry="18"/>
+<text text-anchor="middle" x="95.72" y="-13.32" font-family="sans" font-size="14.00">sell_bread</text>
+</g>
+<!-- bake_bread&#45;&gt;sell_bread -->
+<g id="edge3" class="edge">
+<title>bake_bread&#45;&gt;sell_bread</title>
+<path fill="none" stroke="black" d="M150.66,-72.41C141.69,-63.69 130.53,-52.85 120.62,-43.21"/>
+<polygon fill="black" stroke="black" points="123.36,-40.99 113.75,-36.53 118.48,-46.01 123.36,-40.99"/>
+</g>
+<!-- clean_oven -->
+<g id="node4" class="node">
+<title>clean_oven</title>
+<ellipse fill="none" stroke="black" cx="239.72" cy="-18" rx="65.41" ry="18"/>
+<text text-anchor="middle" x="239.72" y="-13.32" font-family="sans" font-size="14.00">clean_oven</text>
+</g>
+<!-- bake_bread&#45;&gt;clean_oven -->
+<g id="edge2" class="edge">
+<title>bake_bread&#45;&gt;clean_oven</title>
+<path fill="none" stroke="black" d="M184.79,-72.41C193.75,-63.69 204.91,-52.85 214.82,-43.21"/>
+<polygon fill="black" stroke="black" points="216.97,-46.01 221.7,-36.53 212.09,-40.99 216.97,-46.01"/>
+</g>
+<!-- buy_ingredients -->
+<g id="node5" class="node">
+<title>buy_ingredients</title>
+<ellipse fill="none" stroke="black" cx="254.72" cy="-234" rx="89.09" ry="18"/>
+<text text-anchor="middle" x="254.72" y="-229.32" font-family="sans" font-size="14.00">buy_ingredients</text>
+</g>
+<!-- buy_ingredients&#45;&gt;make_dough -->
+<g id="edge4" class="edge">
+<title>buy_ingredients&#45;&gt;make_dough</title>
+<path fill="none" stroke="black" d="M254.72,-215.7C254.72,-208.41 254.72,-199.73 254.72,-191.54"/>
+<polygon fill="black" stroke="black" points="258.22,-191.62 254.72,-181.62 251.22,-191.62 258.22,-191.62"/>
+</g>
+<!-- pre_heat_oven -->
+<g id="node6" class="node">
+<title>pre_heat_oven</title>
+<ellipse fill="none" stroke="black" cx="81.72" cy="-162" rx="81.72" ry="18"/>
+<text text-anchor="middle" x="81.72" y="-157.32" font-family="sans" font-size="14.00">pre_heat_oven</text>
+</g>
+<!-- pre_heat_oven&#45;&gt;bake_bread -->
+<g id="edge5" class="edge">
+<title>pre_heat_oven&#45;&gt;bake_bread</title>
+<path fill="none" stroke="black" d="M102.1,-144.41C113.03,-135.52 126.68,-124.41 138.69,-114.63"/>
+<polygon fill="black" stroke="black" points="140.77,-117.45 146.31,-108.43 136.35,-112.02 140.77,-117.45"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-d5181c18b29b889a1db79d16a30c45bed288b3d9.svg b/nightly_8.3/html/_images/graphviz-d5181c18b29b889a1db79d16a30c45bed288b3d9.svg
new file mode 100644
index 00000000000..93beade31ca
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-d5181c18b29b889a1db79d16a30c45bed288b3d9.svg
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: graph_tutorial Pages: 1 -->
+<svg width="134pt" height="260pt"
+ viewBox="0.00 0.00 134.00 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">
+<title>graph_tutorial</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-256 130,-256 130,4 -4,4"/>
+<!-- a -->
+<g id="node1" class="node">
+<title>a</title>
+<ellipse fill="none" stroke="black" cx="27" cy="-234" rx="27" ry="18"/>
+<text text-anchor="middle" x="27" y="-229.32" font-family="sans" font-size="14.00">a</text>
+</g>
+<!-- b -->
+<g id="node2" class="node">
+<title>b</title>
+<ellipse fill="none" stroke="black" cx="63" cy="-162" rx="27" ry="18"/>
+<text text-anchor="middle" x="63" y="-157.32" font-family="sans" font-size="14.00">b</text>
+</g>
+<!-- a&#45;&gt;b -->
+<g id="edge1" class="edge">
+<title>a&#45;&gt;b</title>
+<path fill="none" stroke="black" d="M35.35,-216.76C39.58,-208.55 44.81,-198.37 49.58,-189.09"/>
+<polygon fill="black" stroke="black" points="52.54,-190.99 54,-180.49 46.32,-187.79 52.54,-190.99"/>
+</g>
+<!-- d -->
+<g id="node3" class="node">
+<title>d</title>
+<ellipse fill="none" stroke="black" cx="27" cy="-90" rx="27" ry="18"/>
+<text text-anchor="middle" x="27" y="-85.33" font-family="sans" font-size="14.00">d</text>
+</g>
+<!-- b&#45;&gt;d -->
+<g id="edge2" class="edge">
+<title>b&#45;&gt;d</title>
+<path fill="none" stroke="black" d="M54.65,-144.76C50.42,-136.55 45.19,-126.37 40.42,-117.09"/>
+<polygon fill="black" stroke="black" points="43.68,-115.79 36,-108.49 37.46,-118.99 43.68,-115.79"/>
+</g>
+<!-- f -->
+<g id="node6" class="node">
+<title>f</title>
+<ellipse fill="none" stroke="black" cx="99" cy="-90" rx="27" ry="18"/>
+<text text-anchor="middle" x="99" y="-85.33" font-family="sans" font-size="14.00">f</text>
+</g>
+<!-- b&#45;&gt;f -->
+<g id="edge5" class="edge">
+<title>b&#45;&gt;f</title>
+<path fill="none" stroke="black" d="M71.35,-144.76C75.58,-136.55 80.81,-126.37 85.58,-117.09"/>
+<polygon fill="black" stroke="black" points="88.54,-118.99 90,-108.49 82.32,-115.79 88.54,-118.99"/>
+</g>
+<!-- e -->
+<g id="node4" class="node">
+<title>e</title>
+<ellipse fill="none" stroke="black" cx="27" cy="-18" rx="27" ry="18"/>
+<text text-anchor="middle" x="27" y="-13.32" font-family="sans" font-size="14.00">e</text>
+</g>
+<!-- d&#45;&gt;e -->
+<g id="edge3" class="edge">
+<title>d&#45;&gt;e</title>
+<path fill="none" stroke="black" d="M27,-71.7C27,-64.41 27,-55.73 27,-47.54"/>
+<polygon fill="black" stroke="black" points="30.5,-47.62 27,-37.62 23.5,-47.62 30.5,-47.62"/>
+</g>
+<!-- c -->
+<g id="node5" class="node">
+<title>c</title>
+<ellipse fill="none" stroke="black" cx="99" cy="-234" rx="27" ry="18"/>
+<text text-anchor="middle" x="99" y="-229.32" font-family="sans" font-size="14.00">c</text>
+</g>
+<!-- c&#45;&gt;b -->
+<g id="edge4" class="edge">
+<title>c&#45;&gt;b</title>
+<path fill="none" stroke="black" d="M90.65,-216.76C86.42,-208.55 81.19,-198.37 76.42,-189.09"/>
+<polygon fill="black" stroke="black" points="79.68,-187.79 72,-180.49 73.46,-190.99 79.68,-187.79"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-e0054d6b31d1071b99e7fe278d0ac5efbadd46a8.svg b/nightly_8.3/html/_images/graphviz-e0054d6b31d1071b99e7fe278d0ac5efbadd46a8.svg
new file mode 100644
index 00000000000..eaba2d803c7
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-e0054d6b31d1071b99e7fe278d0ac5efbadd46a8.svg
@@ -0,0 +1,351 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: example Pages: 1 -->
+<svg width="324pt" height="568pt"
+ viewBox="0.00 0.00 324.00 568.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(0.439024 0.439024) rotate(0) translate(4 1290.35)">
+<title>example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-1290.35 734,-1290.35 734,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_1</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="8,-883.44 8,-1278.35 354,-1278.35 354,-883.44 8,-883.44"/>
+<text text-anchor="middle" x="181" y="-1261.05" font-family="sans" font-size="14.00">1</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_2</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="376,-589.87 376,-984.79 722,-984.79 722,-589.87 376,-589.87"/>
+<text text-anchor="middle" x="549" y="-967.49" font-family="sans" font-size="14.00">2</text>
+</g>
+<g id="clust3" class="cluster">
+<title>cluster_3</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="22,-296.31 22,-691.23 368,-691.23 368,-296.31 22,-296.31"/>
+<text text-anchor="middle" x="195" y="-673.93" font-family="sans" font-size="14.00">3</text>
+</g>
+<g id="clust4" class="cluster">
+<title>cluster_4</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="376,-8 376,-397.67 722,-397.67 722,-8 376,-8"/>
+<text text-anchor="middle" x="549" y="-380.37" font-family="sans" font-size="14.00">4</text>
+</g>
+<!-- 1/pur -->
+<g id="node1" class="node">
+<title>1/pur</title>
+<ellipse fill="none" stroke="black" cx="256" cy="-1215.05" rx="89.8" ry="30.05"/>
+<text text-anchor="middle" x="256" y="-1219" font-family="sans" font-size="14.00">buy_ingredients</text>
+<text text-anchor="middle" x="256" y="-1201.75" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/mak -->
+<g id="node2" class="node">
+<title>1/mak</title>
+<ellipse fill="none" stroke="black" cx="272" cy="-1118.95" rx="73.89" ry="30.05"/>
+<text text-anchor="middle" x="272" y="-1122.9" font-family="sans" font-size="14.00">make_dough</text>
+<text text-anchor="middle" x="272" y="-1105.65" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/pur&#45;&gt;1/mak -->
+<g id="edge1" class="edge">
+<title>1/pur&#45;&gt;1/mak</title>
+<path fill="none" stroke="black" d="M260.97,-1184.79C262.28,-1177.09 263.72,-1168.64 265.11,-1160.47"/>
+<polygon fill="black" stroke="black" points="268.55,-1161.13 266.77,-1150.68 261.65,-1159.95 268.55,-1161.13"/>
+</g>
+<!-- 1/bak -->
+<g id="node3" class="node">
+<title>1/bak</title>
+<ellipse fill="none" stroke="black" cx="202" cy="-1022.84" rx="67.53" ry="30.05"/>
+<text text-anchor="middle" x="202" y="-1026.79" font-family="sans" font-size="14.00">bake_bread</text>
+<text text-anchor="middle" x="202" y="-1009.54" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/mak&#45;&gt;1/bak -->
+<g id="edge2" class="edge">
+<title>1/mak&#45;&gt;1/bak</title>
+<path fill="none" stroke="black" d="M251,-1089.71C244.22,-1080.6 236.61,-1070.37 229.44,-1060.73"/>
+<polygon fill="black" stroke="black" points="232.43,-1058.88 223.65,-1052.95 226.81,-1063.06 232.43,-1058.88"/>
+</g>
+<!-- 1/sel -->
+<g id="node4" class="node">
+<title>1/sel</title>
+<ellipse fill="none" stroke="black" cx="130" cy="-921.49" rx="60.63" ry="30.05"/>
+<text text-anchor="middle" x="130" y="-925.44" font-family="sans" font-size="14.00">sell_bread</text>
+<text text-anchor="middle" x="130" y="-908.19" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/bak&#45;&gt;1/sel -->
+<g id="edge3" class="edge">
+<title>1/bak&#45;&gt;1/sel</title>
+<path fill="none" stroke="black" d="M181.75,-993.9C174.02,-983.23 165.08,-970.89 156.82,-959.5"/>
+<polygon fill="black" stroke="black" points="159.69,-957.49 150.98,-951.44 154.02,-961.6 159.69,-957.49"/>
+</g>
+<!-- 1/cle -->
+<g id="node5" class="node">
+<title>1/cle</title>
+<ellipse fill="none" stroke="black" cx="279" cy="-921.49" rx="65.94" ry="30.05"/>
+<text text-anchor="middle" x="279" y="-925.44" font-family="sans" font-size="14.00">clean_oven</text>
+<text text-anchor="middle" x="279" y="-908.19" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/bak&#45;&gt;1/cle -->
+<g id="edge5" class="edge">
+<title>1/bak&#45;&gt;1/cle</title>
+<path fill="none" stroke="black" d="M223.65,-993.9C232.01,-983.12 241.68,-970.64 250.58,-959.16"/>
+<polygon fill="black" stroke="black" points="253.22,-961.46 256.58,-951.42 247.69,-957.18 253.22,-961.46"/>
+</g>
+<!-- 3/pur -->
+<g id="node13" class="node">
+<title>3/pur</title>
+<ellipse fill="none" stroke="black" cx="127" cy="-627.93" rx="89.8" ry="30.05"/>
+<text text-anchor="middle" x="127" y="-631.88" font-family="sans" font-size="14.00">buy_ingredients</text>
+<text text-anchor="middle" x="127" y="-614.63" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 1/sel&#45;&gt;3/pur -->
+<g id="edge7" class="edge">
+<title>1/sel&#45;&gt;3/pur</title>
+<path fill="none" stroke="black" d="M129.7,-891.2C129.16,-838.81 128.03,-728.97 127.42,-669.41"/>
+<polygon fill="black" stroke="black" points="130.92,-669.67 127.32,-659.71 123.92,-669.75 130.92,-669.67"/>
+</g>
+<!-- 2/pre -->
+<g id="node12" class="node">
+<title>2/pre</title>
+<ellipse fill="none" stroke="black" cx="466" cy="-825.38" rx="82.38" ry="30.05"/>
+<text text-anchor="middle" x="466" y="-829.33" font-family="sans" font-size="14.00">pre_heat_oven</text>
+<text text-anchor="middle" x="466" y="-812.08" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 1/cle&#45;&gt;2/pre -->
+<g id="edge6" class="edge">
+<title>1/cle&#45;&gt;2/pre</title>
+<path fill="none" stroke="black" d="M322.37,-898.66C348.03,-885.75 380.84,-869.24 408.62,-855.26"/>
+<polygon fill="black" stroke="black" points="409.89,-858.54 417.25,-850.92 406.74,-852.29 409.89,-858.54"/>
+</g>
+<!-- 1/pre -->
+<g id="node6" class="node">
+<title>1/pre</title>
+<ellipse fill="none" stroke="black" cx="98" cy="-1118.95" rx="82.38" ry="30.05"/>
+<text text-anchor="middle" x="98" y="-1122.9" font-family="sans" font-size="14.00">pre_heat_oven</text>
+<text text-anchor="middle" x="98" y="-1105.65" font-family="sans" font-size="14.00">1</text>
+</g>
+<!-- 1/pre&#45;&gt;1/bak -->
+<g id="edge4" class="edge">
+<title>1/pre&#45;&gt;1/bak</title>
+<path fill="none" stroke="black" d="M128.08,-1090.73C139.38,-1080.51 152.36,-1068.76 164.27,-1057.99"/>
+<polygon fill="black" stroke="black" points="166.51,-1060.67 171.58,-1051.37 161.82,-1055.48 166.51,-1060.67"/>
+</g>
+<!-- 2/pur -->
+<g id="node7" class="node">
+<title>2/pur</title>
+<ellipse fill="none" stroke="black" cx="624" cy="-921.49" rx="89.8" ry="30.05"/>
+<text text-anchor="middle" x="624" y="-925.44" font-family="sans" font-size="14.00">buy_ingredients</text>
+<text text-anchor="middle" x="624" y="-908.19" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/mak -->
+<g id="node8" class="node">
+<title>2/mak</title>
+<ellipse fill="none" stroke="black" cx="640" cy="-825.38" rx="73.89" ry="30.05"/>
+<text text-anchor="middle" x="640" y="-829.33" font-family="sans" font-size="14.00">make_dough</text>
+<text text-anchor="middle" x="640" y="-812.08" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/pur&#45;&gt;2/mak -->
+<g id="edge8" class="edge">
+<title>2/pur&#45;&gt;2/mak</title>
+<path fill="none" stroke="black" d="M628.97,-891.23C630.28,-883.53 631.72,-875.08 633.11,-866.9"/>
+<polygon fill="black" stroke="black" points="636.55,-867.56 634.77,-857.12 629.65,-866.39 636.55,-867.56"/>
+</g>
+<!-- 2/bak -->
+<g id="node9" class="node">
+<title>2/bak</title>
+<ellipse fill="none" stroke="black" cx="536" cy="-729.28" rx="67.53" ry="30.05"/>
+<text text-anchor="middle" x="536" y="-733.23" font-family="sans" font-size="14.00">bake_bread</text>
+<text text-anchor="middle" x="536" y="-715.98" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/mak&#45;&gt;2/bak -->
+<g id="edge9" class="edge">
+<title>2/mak&#45;&gt;2/bak</title>
+<path fill="none" stroke="black" d="M610.2,-797.42C598.8,-787.1 585.65,-775.2 573.61,-764.32"/>
+<polygon fill="black" stroke="black" points="575.97,-761.73 566.21,-757.62 571.28,-766.92 575.97,-761.73"/>
+</g>
+<!-- 2/sel -->
+<g id="node10" class="node">
+<title>2/sel</title>
+<ellipse fill="none" stroke="black" cx="606" cy="-627.93" rx="60.63" ry="30.05"/>
+<text text-anchor="middle" x="606" y="-631.88" font-family="sans" font-size="14.00">sell_bread</text>
+<text text-anchor="middle" x="606" y="-614.63" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/bak&#45;&gt;2/sel -->
+<g id="edge10" class="edge">
+<title>2/bak&#45;&gt;2/sel</title>
+<path fill="none" stroke="black" d="M555.87,-700.08C563.39,-689.41 572.06,-677.11 580.05,-665.76"/>
+<polygon fill="black" stroke="black" points="582.79,-667.94 585.69,-657.75 577.07,-663.91 582.79,-667.94"/>
+</g>
+<!-- 2/cle -->
+<g id="node11" class="node">
+<title>2/cle</title>
+<ellipse fill="none" stroke="black" cx="457" cy="-627.93" rx="65.94" ry="30.05"/>
+<text text-anchor="middle" x="457" y="-631.88" font-family="sans" font-size="14.00">clean_oven</text>
+<text text-anchor="middle" x="457" y="-614.63" font-family="sans" font-size="14.00">2</text>
+</g>
+<!-- 2/bak&#45;&gt;2/cle -->
+<g id="edge12" class="edge">
+<title>2/bak&#45;&gt;2/cle</title>
+<path fill="none" stroke="black" d="M513.99,-700.6C505.26,-689.62 495.1,-676.85 485.8,-665.14"/>
+<polygon fill="black" stroke="black" points="488.79,-663.29 479.83,-657.64 483.31,-667.64 488.79,-663.29"/>
+</g>
+<!-- 4/pur -->
+<g id="node19" class="node">
+<title>4/pur</title>
+<ellipse fill="none" stroke="black" cx="622" cy="-334.36" rx="89.8" ry="30.05"/>
+<text text-anchor="middle" x="622" y="-338.31" font-family="sans" font-size="14.00">buy_ingredients</text>
+<text text-anchor="middle" x="622" y="-321.06" font-family="sans" font-size="14.00">4</text>
+</g>
+<!-- 2/sel&#45;&gt;4/pur -->
+<g id="edge14" class="edge">
+<title>2/sel&#45;&gt;4/pur</title>
+<path fill="none" stroke="black" d="M607.61,-597.64C610.48,-545.24 616.51,-435.41 619.78,-375.85"/>
+<polygon fill="black" stroke="black" points="623.26,-376.32 620.31,-366.15 616.27,-375.94 623.26,-376.32"/>
+</g>
+<!-- 3/pre -->
+<g id="node18" class="node">
+<title>3/pre</title>
+<ellipse fill="none" stroke="black" cx="278" cy="-531.82" rx="82.38" ry="30.05"/>
+<text text-anchor="middle" x="278" y="-535.77" font-family="sans" font-size="14.00">pre_heat_oven</text>
+<text text-anchor="middle" x="278" y="-518.52" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 2/cle&#45;&gt;3/pre -->
+<g id="edge13" class="edge">
+<title>2/cle&#45;&gt;3/pre</title>
+<path fill="none" stroke="black" d="M414.58,-604.63C390.58,-592.01 360.26,-576.07 334.28,-562.41"/>
+<polygon fill="black" stroke="black" points="336.02,-559.37 325.54,-557.81 332.76,-565.56 336.02,-559.37"/>
+</g>
+<!-- 2/pre&#45;&gt;2/bak -->
+<g id="edge11" class="edge">
+<title>2/pre&#45;&gt;2/bak</title>
+<path fill="none" stroke="black" d="M487.19,-795.89C493.83,-786.97 501.26,-776.98 508.28,-767.54"/>
+<polygon fill="black" stroke="black" points="511.06,-769.68 514.22,-759.56 505.44,-765.5 511.06,-769.68"/>
+</g>
+<!-- 3/mak -->
+<g id="node14" class="node">
+<title>3/mak</title>
+<ellipse fill="none" stroke="black" cx="104" cy="-531.82" rx="73.89" ry="30.05"/>
+<text text-anchor="middle" x="104" y="-535.77" font-family="sans" font-size="14.00">make_dough</text>
+<text text-anchor="middle" x="104" y="-518.52" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/pur&#45;&gt;3/mak -->
+<g id="edge15" class="edge">
+<title>3/pur&#45;&gt;3/mak</title>
+<path fill="none" stroke="black" d="M119.85,-597.67C117.94,-589.88 115.85,-581.32 113.83,-573.06"/>
+<polygon fill="black" stroke="black" points="117.28,-572.42 111.51,-563.53 110.48,-574.08 117.28,-572.42"/>
+</g>
+<!-- 3/bak -->
+<g id="node15" class="node">
+<title>3/bak</title>
+<ellipse fill="none" stroke="black" cx="213" cy="-435.72" rx="67.53" ry="30.05"/>
+<text text-anchor="middle" x="213" y="-439.67" font-family="sans" font-size="14.00">bake_bread</text>
+<text text-anchor="middle" x="213" y="-422.42" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/mak&#45;&gt;3/bak -->
+<g id="edge16" class="edge">
+<title>3/mak&#45;&gt;3/bak</title>
+<path fill="none" stroke="black" d="M134.94,-504.11C147.11,-493.6 161.23,-481.42 174.08,-470.32"/>
+<polygon fill="black" stroke="black" points="176.3,-473.02 181.59,-463.84 171.73,-467.72 176.3,-473.02"/>
+</g>
+<!-- 3/sel -->
+<g id="node16" class="node">
+<title>3/sel</title>
+<ellipse fill="none" stroke="black" cx="149" cy="-334.36" rx="60.63" ry="30.05"/>
+<text text-anchor="middle" x="149" y="-338.31" font-family="sans" font-size="14.00">sell_bread</text>
+<text text-anchor="middle" x="149" y="-321.06" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/bak&#45;&gt;3/sel -->
+<g id="edge17" class="edge">
+<title>3/bak&#45;&gt;3/sel</title>
+<path fill="none" stroke="black" d="M194.83,-406.51C188.09,-396.04 180.32,-383.99 173.13,-372.82"/>
+<polygon fill="black" stroke="black" points="176.17,-371.08 167.81,-364.57 170.29,-374.87 176.17,-371.08"/>
+</g>
+<!-- 3/cle -->
+<g id="node17" class="node">
+<title>3/cle</title>
+<ellipse fill="none" stroke="black" cx="294" cy="-334.36" rx="65.94" ry="30.05"/>
+<text text-anchor="middle" x="294" y="-338.31" font-family="sans" font-size="14.00">clean_oven</text>
+<text text-anchor="middle" x="294" y="-321.06" font-family="sans" font-size="14.00">3</text>
+</g>
+<!-- 3/bak&#45;&gt;3/cle -->
+<g id="edge19" class="edge">
+<title>3/bak&#45;&gt;3/cle</title>
+<path fill="none" stroke="black" d="M235.56,-407.04C244.52,-396.06 254.93,-383.28 264.47,-371.58"/>
+<polygon fill="black" stroke="black" points="267,-374.03 270.6,-364.06 261.57,-369.6 267,-374.03"/>
+</g>
+<!-- 4/pre -->
+<g id="node24" class="node">
+<title>4/pre</title>
+<ellipse fill="none" stroke="black" cx="466" cy="-238.26" rx="82.38" ry="30.05"/>
+<text text-anchor="middle" x="466" y="-242.21" font-family="sans" font-size="14.00">pre_heat_oven</text>
+<text text-anchor="middle" x="466" y="-224.96" font-family="sans" font-size="14.00">4</text>
+</g>
+<!-- 3/cle&#45;&gt;4/pre -->
+<g id="edge20" class="edge">
+<title>3/cle&#45;&gt;4/pre</title>
+<path fill="none" stroke="black" d="M335.64,-310.58C358.36,-298.15 386.76,-282.61 411.26,-269.21"/>
+<polygon fill="black" stroke="black" points="412.71,-272.41 419.8,-264.53 409.35,-266.26 412.71,-272.41"/>
+</g>
+<!-- 3/pre&#45;&gt;3/bak -->
+<g id="edge18" class="edge">
+<title>3/pre&#45;&gt;3/bak</title>
+<path fill="none" stroke="black" d="M258.32,-502.33C252.16,-493.41 245.26,-483.42 238.74,-473.98"/>
+<polygon fill="black" stroke="black" points="241.81,-472.27 233.25,-466.03 236.05,-476.25 241.81,-472.27"/>
+</g>
+<!-- 4/mak -->
+<g id="node20" class="node">
+<title>4/mak</title>
+<ellipse fill="none" stroke="black" cx="640" cy="-238.26" rx="73.89" ry="30.05"/>
+<text text-anchor="middle" x="640" y="-242.21" font-family="sans" font-size="14.00">make_dough</text>
+<text text-anchor="middle" x="640" y="-224.96" font-family="sans" font-size="14.00">4</text>
+</g>
+<!-- 4/pur&#45;&gt;4/mak -->
+<g id="edge21" class="edge">
+<title>4/pur&#45;&gt;4/mak</title>
+<path fill="none" stroke="black" d="M627.6,-304.1C629.07,-296.4 630.69,-287.96 632.25,-279.78"/>
+<polygon fill="black" stroke="black" points="635.68,-280.47 634.12,-269.99 628.81,-279.15 635.68,-280.47"/>
+</g>
+<!-- 4/bak -->
+<g id="node21" class="node">
+<title>4/bak</title>
+<ellipse fill="none" stroke="black" cx="533" cy="-142.16" rx="67.53" ry="30.05"/>
+<text text-anchor="middle" x="533" y="-146.11" font-family="sans" font-size="14.00">bake_bread</text>
+<text text-anchor="middle" x="533" y="-128.86" font-family="sans" font-size="14.00">4</text>
+</g>
+<!-- 4/mak&#45;&gt;4/bak -->
+<g id="edge22" class="edge">
+<title>4/mak&#45;&gt;4/bak</title>
+<path fill="none" stroke="black" d="M609.62,-210.55C597.68,-200.04 583.82,-187.85 571.21,-176.76"/>
+<polygon fill="black" stroke="black" points="573.67,-174.26 563.85,-170.29 569.05,-179.52 573.67,-174.26"/>
+</g>
+<!-- 4/sel -->
+<g id="node22" class="node">
+<title>4/sel</title>
+<ellipse fill="none" stroke="black" cx="455" cy="-46.05" rx="60.63" ry="30.05"/>
+<text text-anchor="middle" x="455" y="-50" font-family="sans" font-size="14.00">sell_bread</text>
+<text text-anchor="middle" x="455" y="-32.75" font-family="sans" font-size="14.00">4</text>
+</g>
+<!-- 4/bak&#45;&gt;4/sel -->
+<g id="edge23" class="edge">
+<title>4/bak&#45;&gt;4/sel</title>
+<path fill="none" stroke="black" d="M510.02,-113.43C502.09,-103.87 493.1,-93.02 484.72,-82.91"/>
+<polygon fill="black" stroke="black" points="487.59,-80.89 478.51,-75.42 482.2,-85.35 487.59,-80.89"/>
+</g>
+<!-- 4/cle -->
+<g id="node23" class="node">
+<title>4/cle</title>
+<ellipse fill="none" stroke="black" cx="600" cy="-46.05" rx="65.94" ry="30.05"/>
+<text text-anchor="middle" x="600" y="-50" font-family="sans" font-size="14.00">clean_oven</text>
+<text text-anchor="middle" x="600" y="-32.75" font-family="sans" font-size="14.00">4</text>
+</g>
+<!-- 4/bak&#45;&gt;4/cle -->
+<g id="edge25" class="edge">
+<title>4/bak&#45;&gt;4/cle</title>
+<path fill="none" stroke="black" d="M552.92,-113.18C559.34,-104.16 566.57,-94.01 573.39,-84.42"/>
+<polygon fill="black" stroke="black" points="576.21,-86.5 579.16,-76.32 570.51,-82.44 576.21,-86.5"/>
+</g>
+<!-- 4/pre&#45;&gt;4/bak -->
+<g id="edge24" class="edge">
+<title>4/pre&#45;&gt;4/bak</title>
+<path fill="none" stroke="black" d="M486.28,-208.77C492.64,-199.84 499.75,-189.86 506.47,-180.42"/>
+<polygon fill="black" stroke="black" points="509.19,-182.63 512.14,-172.46 503.49,-178.57 509.19,-182.63"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-ef2dddb2d1e236bd5f1ad509bb4a2ff37c434c50.svg b/nightly_8.3/html/_images/graphviz-ef2dddb2d1e236bd5f1ad509bb4a2ff37c434c50.svg
new file mode 100644
index 00000000000..b2a157c1827
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-ef2dddb2d1e236bd5f1ad509bb4a2ff37c434c50.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Mini_Cylc Pages: 1 -->
+<svg width="186pt" height="116pt"
+ viewBox="0.00 0.00 186.18 116.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)">
+<title>Mini_Cylc</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-112 182.18,-112 182.18,4 -4,4"/>
+<!-- buy_ingredients -->
+<g id="node1" class="node">
+<title>buy_ingredients</title>
+<ellipse fill="none" stroke="black" cx="89.09" cy="-90" rx="89.09" ry="18"/>
+<text text-anchor="middle" x="89.09" y="-85.33" font-family="sans" font-size="14.00">buy_ingredients</text>
+</g>
+<!-- make_dough -->
+<g id="node2" class="node">
+<title>make_dough</title>
+<ellipse fill="none" stroke="black" cx="89.09" cy="-18" rx="73.3" ry="18"/>
+<text text-anchor="middle" x="89.09" y="-13.32" font-family="sans" font-size="14.00">make_dough</text>
+</g>
+<!-- buy_ingredients&#45;&gt;make_dough -->
+<g id="edge1" class="edge">
+<title>buy_ingredients&#45;&gt;make_dough</title>
+<path fill="none" stroke="black" d="M89.09,-71.7C89.09,-64.41 89.09,-55.73 89.09,-47.54"/>
+<polygon fill="black" stroke="black" points="92.59,-47.62 89.09,-37.62 85.59,-47.62 92.59,-47.62"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-f6aacb832331612a9543a5f40d8dc8da04c9400d.svg b/nightly_8.3/html/_images/graphviz-f6aacb832331612a9543a5f40d8dc8da04c9400d.svg
new file mode 100644
index 00000000000..ea308ff667f
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-f6aacb832331612a9543a5f40d8dc8da04c9400d.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: example Pages: 1 -->
+<svg width="180pt" height="92pt"
+ viewBox="0.00 0.00 180.00 91.90" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(0.79221 0.79221) rotate(0) translate(4 112)">
+<title>example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-112 223.21,-112 223.21,4 -4,4"/>
+<!-- forecast -->
+<g id="node1" class="node">
+<title>forecast</title>
+<ellipse fill="none" stroke="black" cx="109.61" cy="-90" rx="50.16" ry="18"/>
+<text text-anchor="middle" x="109.61" y="-85.33" font-family="sans" font-size="14.00">forecast</text>
+</g>
+<!-- post_process_exeter -->
+<g id="node2" class="node">
+<title>post_process_exeter</title>
+<ellipse fill="none" stroke="black" cx="109.61" cy="-18" rx="109.61" ry="18"/>
+<text text-anchor="middle" x="109.61" y="-13.32" font-family="sans" font-size="14.00">post_process_exeter</text>
+</g>
+<!-- forecast&#45;&gt;post_process_exeter -->
+<g id="edge1" class="edge">
+<title>forecast&#45;&gt;post_process_exeter</title>
+<path fill="none" stroke="black" d="M109.61,-71.7C109.61,-64.41 109.61,-55.73 109.61,-47.54"/>
+<polygon fill="black" stroke="black" points="113.11,-47.62 109.61,-37.62 106.11,-47.62 113.11,-47.62"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-fd21ff6d92366e729e6e7bc9abd416eee88993a1.svg b/nightly_8.3/html/_images/graphviz-fd21ff6d92366e729e6e7bc9abd416eee88993a1.svg
new file mode 100644
index 00000000000..9279fae988a
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-fd21ff6d92366e729e6e7bc9abd416eee88993a1.svg
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: example Pages: 1 -->
+<svg width="504pt" height="108pt"
+ viewBox="0.00 0.00 504.00 107.74" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(0.486486 0.486486) rotate(0) translate(4 217.46)">
+<title>example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-217.46 1032,-217.46 1032,4 -4,4"/>
+<g id="clust1" class="cluster">
+<title>cluster_T00</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="8,-104.1 8,-205.46 290,-205.46 290,-104.1 8,-104.1"/>
+<text text-anchor="middle" x="149" y="-188.16" font-family="sans" font-size="14.00">+PT0H</text>
+</g>
+<g id="clust2" class="cluster">
+<title>cluster_T03</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="738,-104.1 738,-205.46 1020,-205.46 1020,-104.1 738,-104.1"/>
+<text text-anchor="middle" x="879" y="-188.16" font-family="sans" font-size="14.00">+PT3H</text>
+</g>
+<g id="clust3" class="cluster">
+<title>cluster_T06</title>
+<polygon fill="none" stroke="black" stroke-dasharray="5,2" points="298,-8 298,-205.46 730,-205.46 730,-8 298,-8"/>
+<text text-anchor="middle" x="514" y="-188.16" font-family="sans" font-size="14.00">+PT6H</text>
+</g>
+<!-- observations.t00 -->
+<g id="node1" class="node">
+<title>observations.t00</title>
+<ellipse fill="none" stroke="black" cx="149" cy="-142.16" rx="133.29" ry="30.05"/>
+<text text-anchor="middle" x="149" y="-146.11" font-family="sans" font-size="14.00">consolidate observations</text>
+<text text-anchor="middle" x="149" y="-128.86" font-family="sans" font-size="14.00">+PT0H</text>
+</g>
+<!-- forecast.t06 -->
+<g id="node3" class="node">
+<title>forecast.t06</title>
+<ellipse fill="none" stroke="black" cx="547" cy="-46.05" rx="50.56" ry="30.05"/>
+<text text-anchor="middle" x="547" y="-50" font-family="sans" font-size="14.00">forecast</text>
+<text text-anchor="middle" x="547" y="-32.75" font-family="sans" font-size="14.00">+PT6H</text>
+</g>
+<!-- observations.t00&#45;&gt;forecast.t06 -->
+<g id="edge1" class="edge">
+<title>observations.t00&#45;&gt;forecast.t06</title>
+<path fill="none" stroke="black" d="M234.77,-118.81C254.22,-113.86 274.8,-108.72 294,-104.1 360.55,-88.1 437.26,-70.99 488.61,-59.73"/>
+<polygon fill="black" stroke="black" points="489.31,-63.16 498.33,-57.6 487.82,-56.32 489.31,-63.16"/>
+</g>
+<!-- observations.t03 -->
+<g id="node2" class="node">
+<title>observations.t03</title>
+<ellipse fill="none" stroke="black" cx="879" cy="-142.16" rx="133.29" ry="30.05"/>
+<text text-anchor="middle" x="879" y="-146.11" font-family="sans" font-size="14.00">consolidate observations</text>
+<text text-anchor="middle" x="879" y="-128.86" font-family="sans" font-size="14.00">+PT3H</text>
+</g>
+<!-- observations.t03&#45;&gt;forecast.t06 -->
+<g id="edge2" class="edge">
+<title>observations.t03&#45;&gt;forecast.t06</title>
+<path fill="none" stroke="black" d="M797.36,-118.02C736.95,-100.89 656.25,-78.02 603,-62.93"/>
+<polygon fill="black" stroke="black" points="604.11,-59.6 593.53,-60.24 602.2,-66.34 604.11,-59.6"/>
+</g>
+<!-- get_rainfall.t06 -->
+<g id="node4" class="node">
+<title>get_rainfall.t06</title>
+<ellipse fill="none" stroke="black" cx="656" cy="-142.16" rx="65.94" ry="30.05"/>
+<text text-anchor="middle" x="656" y="-146.11" font-family="sans" font-size="14.00">get_rainfall</text>
+<text text-anchor="middle" x="656" y="-128.86" font-family="sans" font-size="14.00">+PT6H</text>
+</g>
+<!-- get_rainfall.t06&#45;&gt;forecast.t06 -->
+<g id="edge4" class="edge">
+<title>get_rainfall.t06&#45;&gt;forecast.t06</title>
+<path fill="none" stroke="black" d="M625.93,-115.19C612.78,-103.84 597.23,-90.42 583.43,-78.51"/>
+<polygon fill="black" stroke="black" points="586.11,-76.19 576.25,-72.3 581.53,-81.49 586.11,-76.19"/>
+</g>
+<!-- observations.t06 -->
+<g id="node5" class="node">
+<title>observations.t06</title>
+<ellipse fill="none" stroke="black" cx="439" cy="-142.16" rx="133.29" ry="30.05"/>
+<text text-anchor="middle" x="439" y="-146.11" font-family="sans" font-size="14.00">consolidate observations</text>
+<text text-anchor="middle" x="439" y="-128.86" font-family="sans" font-size="14.00">+PT6H</text>
+</g>
+<!-- observations.t06&#45;&gt;forecast.t06 -->
+<g id="edge3" class="edge">
+<title>observations.t06&#45;&gt;forecast.t06</title>
+<path fill="none" stroke="black" d="M471.7,-112.67C484,-101.94 498.07,-89.69 510.69,-78.69"/>
+<polygon fill="black" stroke="black" points="512.77,-81.52 518.01,-72.31 508.17,-76.24 512.77,-81.52"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/graphviz-fe358295b739cfd9b1c6fb67e74ce961621f9cd7.svg b/nightly_8.3/html/_images/graphviz-fe358295b739cfd9b1c6fb67e74ce961621f9cd7.svg
new file mode 100644
index 00000000000..ac92d98efd8
--- /dev/null
+++ b/nightly_8.3/html/_images/graphviz-fe358295b739cfd9b1c6fb67e74ce961621f9cd7.svg
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 9.0.0 (20231125.0833)
+ -->
+<!-- Title: Example Pages: 1 -->
+<svg width="216pt" height="332pt"
+ viewBox="0.00 0.00 215.75 332.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)">
+<title>Example</title>
+<polygon fill="none" stroke="none" points="-4,4 -4,-328 211.75,-328 211.75,4 -4,4"/>
+<!-- AIRPLANE -->
+<g id="node1" class="node">
+<title>AIRPLANE</title>
+<polygon fill="powderblue" stroke="royalblue" points="85.75,-108 0,-108 0,-72 85.75,-72 85.75,-108"/>
+<text text-anchor="middle" x="42.88" y="-85.33" font-family="sans" font-size="14.00">AIRPLANE</text>
+</g>
+<!-- v22 -->
+<g id="node2" class="node">
+<title>v22</title>
+<polygon fill="powderblue" stroke="royalblue" points="126.88,-36 72.88,-36 72.88,0 126.88,0 126.88,-36"/>
+<text text-anchor="middle" x="99.88" y="-13.32" font-family="sans" font-size="14.00">v22</text>
+</g>
+<!-- AIRPLANE&#45;&gt;v22 -->
+<g id="edge1" class="edge">
+<title>AIRPLANE&#45;&gt;v22</title>
+<path fill="none" stroke="royalblue" d="M56.96,-71.7C63.52,-63.64 71.46,-53.89 78.72,-44.98"/>
+<polygon fill="royalblue" stroke="royalblue" points="81.39,-47.24 84.99,-37.28 75.96,-42.82 81.39,-47.24"/>
+</g>
+<!-- a380 -->
+<g id="node3" class="node">
+<title>a380</title>
+<polygon fill="powderblue" stroke="royalblue" points="54.88,-36 0.88,-36 0.88,0 54.88,0 54.88,-36"/>
+<text text-anchor="middle" x="27.88" y="-13.32" font-family="sans" font-size="14.00">a380</text>
+</g>
+<!-- AIRPLANE&#45;&gt;a380 -->
+<g id="edge2" class="edge">
+<title>AIRPLANE&#45;&gt;a380</title>
+<path fill="none" stroke="royalblue" d="M39.17,-71.7C37.59,-64.32 35.7,-55.52 33.93,-47.25"/>
+<polygon fill="royalblue" stroke="royalblue" points="37.38,-46.63 31.86,-37.58 30.53,-48.1 37.38,-46.63"/>
+</g>
+<!-- HELICOPTER -->
+<g id="node4" class="node">
+<title>HELICOPTER</title>
+<polygon fill="powderblue" stroke="royalblue" points="207.75,-108 104,-108 104,-72 207.75,-72 207.75,-108"/>
+<text text-anchor="middle" x="155.88" y="-85.33" font-family="sans" font-size="14.00">HELICOPTER</text>
+</g>
+<!-- HELICOPTER&#45;&gt;v22 -->
+<g id="edge3" class="edge">
+<title>HELICOPTER&#45;&gt;v22</title>
+<path fill="none" stroke="royalblue" d="M142.03,-71.7C135.59,-63.64 127.79,-53.89 120.66,-44.98"/>
+<polygon fill="royalblue" stroke="royalblue" points="123.48,-42.91 114.5,-37.29 118.02,-47.28 123.48,-42.91"/>
+</g>
+<!-- r44 -->
+<g id="node5" class="node">
+<title>r44</title>
+<polygon fill="powderblue" stroke="royalblue" points="198.88,-36 144.88,-36 144.88,0 198.88,0 198.88,-36"/>
+<text text-anchor="middle" x="171.88" y="-13.32" font-family="sans" font-size="14.00">r44</text>
+</g>
+<!-- HELICOPTER&#45;&gt;r44 -->
+<g id="edge4" class="edge">
+<title>HELICOPTER&#45;&gt;r44</title>
+<path fill="none" stroke="royalblue" d="M159.83,-71.7C161.52,-64.32 163.53,-55.52 165.42,-47.25"/>
+<polygon fill="royalblue" stroke="royalblue" points="168.81,-48.11 167.63,-37.58 161.99,-46.55 168.81,-48.11"/>
+</g>
+<!-- root -->
+<g id="node6" class="node">
+<title>root</title>
+<polygon fill="powderblue" stroke="royalblue" points="125.88,-324 71.88,-324 71.88,-288 125.88,-288 125.88,-324"/>
+<text text-anchor="middle" x="98.88" y="-301.32" font-family="sans" font-size="14.00">root</text>
+</g>
+<!-- VEHICLE -->
+<g id="node7" class="node">
+<title>VEHICLE</title>
+<polygon fill="powderblue" stroke="royalblue" points="136.88,-252 60.88,-252 60.88,-216 136.88,-216 136.88,-252"/>
+<text text-anchor="middle" x="98.88" y="-229.32" font-family="sans" font-size="14.00">VEHICLE</text>
+</g>
+<!-- root&#45;&gt;VEHICLE -->
+<g id="edge5" class="edge">
+<title>root&#45;&gt;VEHICLE</title>
+<path fill="none" stroke="royalblue" d="M98.88,-287.7C98.88,-280.41 98.88,-271.73 98.88,-263.54"/>
+<polygon fill="royalblue" stroke="royalblue" points="102.38,-263.62 98.88,-253.62 95.38,-263.62 102.38,-263.62"/>
+</g>
+<!-- AIR_VEHICLE -->
+<g id="node8" class="node">
+<title>AIR_VEHICLE</title>
+<polygon fill="powderblue" stroke="royalblue" points="152.25,-180 45.5,-180 45.5,-144 152.25,-144 152.25,-180"/>
+<text text-anchor="middle" x="98.88" y="-157.32" font-family="sans" font-size="14.00">AIR_VEHICLE</text>
+</g>
+<!-- VEHICLE&#45;&gt;AIR_VEHICLE -->
+<g id="edge6" class="edge">
+<title>VEHICLE&#45;&gt;AIR_VEHICLE</title>
+<path fill="none" stroke="royalblue" d="M98.88,-215.7C98.88,-208.41 98.88,-199.73 98.88,-191.54"/>
+<polygon fill="royalblue" stroke="royalblue" points="102.38,-191.62 98.88,-181.62 95.38,-191.62 102.38,-191.62"/>
+</g>
+<!-- AIR_VEHICLE&#45;&gt;AIRPLANE -->
+<g id="edge7" class="edge">
+<title>AIR_VEHICLE&#45;&gt;AIRPLANE</title>
+<path fill="none" stroke="royalblue" d="M85.03,-143.7C78.59,-135.64 70.79,-125.89 63.66,-116.98"/>
+<polygon fill="royalblue" stroke="royalblue" points="66.48,-114.91 57.5,-109.29 61.02,-119.28 66.48,-114.91"/>
+</g>
+<!-- AIR_VEHICLE&#45;&gt;HELICOPTER -->
+<g id="edge8" class="edge">
+<title>AIR_VEHICLE&#45;&gt;HELICOPTER</title>
+<path fill="none" stroke="royalblue" d="M112.96,-143.7C119.52,-135.64 127.46,-125.89 134.72,-116.98"/>
+<polygon fill="royalblue" stroke="royalblue" points="137.39,-119.24 140.99,-109.28 131.96,-114.82 137.39,-119.24"/>
+</g>
+</g>
+</svg>
diff --git a/nightly_8.3/html/_images/gui-arch-multi-user.svg b/nightly_8.3/html/_images/gui-arch-multi-user.svg
new file mode 100644
index 00000000000..71dea933f0e
--- /dev/null
+++ b/nightly_8.3/html/_images/gui-arch-multi-user.svg
@@ -0,0 +1,2568 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="5535.0034"
+   height="4195.6626"
+   viewBox="0 0 1464.4696 1110.1024"
+   version="1.1"
+   id="svg8"
+   inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
+   sodipodi:docname="gui-arch-multi-user.svg">
+  <defs
+     id="defs2" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.099375556"
+     inkscape:cx="2700.0908"
+     inkscape:cy="5173.808"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1920"
+     inkscape:window-height="1057"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     units="px"
+     fit-margin-top="10"
+     fit-margin-left="10"
+     fit-margin-right="10"
+     fit-margin-bottom="10" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-505.0826,177.15453)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:5.70935535px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="-667.25873"
+       y="291.20782"
+       id="text4616"><tspan
+         sodipodi:role="line"
+         id="tspan4614"
+         x="-667.25873"
+         y="296.51752"
+         style="stroke-width:0.26458332px" /></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:5.70935535px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="216.32138"
+       y="799.26349"
+       id="text4477"><tspan
+         sodipodi:role="line"
+         id="tspan4475"
+         x="216.32138"
+         y="799.26349"
+         style="stroke-width:0.26458332px">z</tspan></text>
+    <g
+       id="g2058">
+      <path
+         sodipodi:nodetypes="czcc"
+         inkscape:connector-curvature="0"
+         id="path4742"
+         d="m 720.95473,33.714277 c 107.40388,0 317.40637,37.635809 363.77707,83.746843 46.3707,46.11103 36.1199,121.65973 34.9205,186.19214 0,68.72861 -55.8053,75.13336 -149.97639,75.13336"
+         style="fill:none;fill-rule:evenodd;stroke:#70b5ff;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <rect
+         ry="2.3622928"
+         rx="3.0841684"
+         y="157.03456"
+         x="1095.613"
+         height="127.32447"
+         width="39.253654"
+         id="rect4753"
+         style="opacity:1;fill:#ffffff;fill-opacity:0.85826775;fill-rule:evenodd;stroke:none;stroke-width:2.76499987;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <rect
+         style="opacity:0.93999999;fill:none;fill-opacity:0.42519687;fill-rule:evenodd;stroke:#2bff02;stroke-width:3.78800011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:11.36400001, 3.788;stroke-dashoffset:0;stroke-opacity:0.5787402"
+         id="rect1726-5-9"
+         width="477.60324"
+         height="1055.054"
+         x="1487.4092"
+         y="-126.64596"
+         rx="18.812302"
+         ry="15.789135" />
+      <rect
+         ry="12.750971"
+         rx="12.750971"
+         y="-80.515892"
+         x="542.354"
+         height="153.34192"
+         width="166.84509"
+         id="rect1458"
+         style="opacity:0.93999999;fill:none;fill-opacity:0.42519687;fill-rule:evenodd;stroke:#2c2c2c;stroke-width:1.76388884;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.76388888, 1.76388888;stroke-dashoffset:0;stroke-opacity:1" />
+      <circle
+         style="opacity:0.93999999;fill:#00b6fc;fill-opacity:0.60236224;fill-rule:evenodd;stroke:none;stroke-width:0.46267623;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627"
+         id="circle1462"
+         cx="542.47803"
+         cy="-165.45737"
+         r="9.0513277" />
+      <path
+         style="opacity:0.93999999;fill:#00b6fc;fill-opacity:0.60236224;fill-rule:evenodd;stroke:none;stroke-width:0.46267623;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627"
+         d="m 563.37431,-146.2531 c 0,4.19662 -9.35559,7.59865 -20.89628,7.59865 -11.54069,0 -20.89628,-3.40203 -20.89628,-7.59865 0,-4.19661 9.35559,-7.59864 20.89628,-7.59864 11.54069,0 20.89628,3.40203 20.89628,7.59864 z"
+         id="path1464"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="sssss" />
+      <g
+         transform="translate(1188.3375,-49.677825)"
+         id="g1530">
+        <rect
+           ry="2.9980996"
+           rx="2.9980996"
+           y="11.209617"
+           x="-627.78571"
+           height="92.054741"
+           width="127.07557"
+           id="rect1514"
+           style="opacity:0.93999999;fill:#414141;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+        <rect
+           ry="4.783618"
+           rx="4.783618"
+           y="26.510006"
+           x="-623.24652"
+           height="17.305874"
+           width="118.30466"
+           id="rect1516"
+           style="opacity:0.93999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.65472358;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+        <text
+           id="text1520"
+           y="38.62743"
+           x="-617.9187"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:9.83515263px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.45578128px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="stroke-width:0.45578128px"
+             y="38.62743"
+             x="-617.9187"
+             id="tspan1518"
+             sodipodi:role="line">https://&lt;host&gt;:port?token</tspan></text>
+        <circle
+           r="3.640878"
+           cy="18.530861"
+           cx="-619.84326"
+           id="circle1522"
+           style="opacity:0.93999999;fill:#cb2020;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+        <circle
+           r="3.640878"
+           cy="18.365423"
+           cx="-609.14258"
+           id="circle1524"
+           style="opacity:0.93999999;fill:#edec26;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+        <circle
+           r="3.640878"
+           cy="18.24329"
+           cx="-598.76245"
+           id="circle1526"
+           style="opacity:0.93999999;fill:#26ed4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+        <rect
+           ry="3.8522828"
+           rx="3.8522828"
+           y="48.27758"
+           x="-623.01813"
+           height="50.065483"
+           width="117.84793"
+           id="rect1528"
+           style="opacity:0.93999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.11145151;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+      </g>
+      <text
+         id="text1534"
+         y="-52.20639"
+         x="558.07849"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:23.66814995px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.09683108px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1.09683108px"
+           y="-52.20639"
+           x="558.07849"
+           id="tspan1532"
+           sodipodi:role="line">Browser</tspan></text>
+      <g
+         transform="matrix(0.18066669,0,0,0.18066669,583.36687,-10.598097)"
+         id="g1546">
+        <circle
+           r="27.743086"
+           cy="248.39331"
+           cx="-135.70163"
+           transform="scale(-1,1)"
+           id="circle1538"
+           style="fill:#ff5966;fill-opacity:1;stroke:none;stroke-width:1.29467726;stroke-opacity:1" />
+        <circle
+           r="72.85714"
+           cy="216.6479"
+           cx="201.04846"
+           id="circle1540"
+           style="fill:#0dc66e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1" />
+        <circle
+           r="37.37936"
+           cy="136.32114"
+           cx="167.3486"
+           inkscape:export-ydpi="21.58"
+           inkscape:export-xdpi="21.58"
+           inkscape:export-filename="/home/vagrant/website/css/path2987.png"
+           id="circle1542"
+           style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:1.18934333;stroke-opacity:1" />
+        <circle
+           r="49.79998"
+           cy="121.63028"
+           cx="292.31558"
+           id="circle1544"
+           style="fill:#00b4fd;fill-opacity:1;stroke:none;stroke-width:0.91736811;stroke-opacity:1" />
+      </g>
+      <g
+         id="g1610"
+         transform="translate(1490.7238,-81.127553)">
+        <g
+           id="g1608">
+          <rect
+             style="opacity:0.93999999;fill:#e5f7ff;fill-opacity:1;fill-rule:evenodd;stroke:#00b4fd;stroke-width:0.64703256;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1568"
+             width="153.62782"
+             height="131.69955"
+             x="-930.26105"
+             y="613.01501"
+             rx="1.1864237"
+             ry="1.2950182" />
+          <g
+             transform="matrix(0.0947238,0,0,0.0947238,-940.7674,581.6861)"
+             id="g1578">
+            <circle
+               r="27.743086"
+               cy="248.39331"
+               cx="-135.70163"
+               transform="scale(-1,1)"
+               id="circle1570"
+               style="fill:#ff5966;fill-opacity:1;stroke:none;stroke-width:1.29467726;stroke-opacity:1" />
+            <circle
+               r="72.85714"
+               cy="216.6479"
+               cx="201.04846"
+               id="circle1572"
+               style="fill:#0dc66e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1" />
+            <circle
+               r="37.37936"
+               cy="136.32114"
+               cx="167.3486"
+               inkscape:export-ydpi="21.58"
+               inkscape:export-xdpi="21.58"
+               inkscape:export-filename="/home/vagrant/website/css/path2987.png"
+               id="circle1574"
+               style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:1.18934333;stroke-opacity:1" />
+            <circle
+               r="49.79998"
+               cy="121.63028"
+               cx="292.31558"
+               id="circle1576"
+               style="fill:#00b4fd;fill-opacity:1;stroke:none;stroke-width:0.91736811;stroke-opacity:1" />
+          </g>
+          <text
+             xml:space="preserve"
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:19.57343102px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90707344px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             x="-901.95203"
+             y="604.60468"
+             id="text1582"><tspan
+               sodipodi:role="line"
+               id="tspan1580"
+               x="-901.95203"
+               y="604.60468"
+               style="stroke-width:0.90707344px">Cylc Workflow</tspan></text>
+          <g
+             id="g1606"
+             transform="matrix(0.92555837,0,0,0.92555837,-73.537781,50.203309)">
+            <path
+               sodipodi:nodetypes="cc"
+               inkscape:connector-curvature="0"
+               id="path1584"
+               d="m -850.05055,645.58096 -12.43233,21.73272"
+               style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164" />
+            <path
+               sodipodi:nodetypes="cc"
+               inkscape:connector-curvature="0"
+               id="path1586"
+               d="m -838.06403,643.7286 14.276,22.15666"
+               style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164" />
+            <path
+               sodipodi:nodetypes="cc"
+               inkscape:connector-curvature="0"
+               id="path1588"
+               d="m -823.43805,690.57417 -12.43233,21.73272"
+               style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164" />
+            <path
+               sodipodi:nodetypes="cc"
+               inkscape:connector-curvature="0"
+               id="path1590"
+               d="m -863.92449,688.03051 14.27601,22.15666"
+               style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164" />
+            <circle
+               r="13.465862"
+               cy="634.87073"
+               cx="-842.6366"
+               id="circle1592"
+               style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+            <g
+               transform="translate(-4.7718775,4.4885826)"
+               id="g1602">
+              <circle
+                 style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+                 id="circle1594"
+                 cx="-864.26355"
+                 cy="673.63605"
+                 r="13.465863" />
+              <g
+                 id="g1600">
+                <circle
+                   r="13.465863"
+                   cy="674.04419"
+                   cx="-812.84839"
+                   id="circle1596"
+                   style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+                <circle
+                   r="5.5087628"
+                   cy="674.04419"
+                   cx="-812.84839"
+                   id="circle1598"
+                   style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.64022732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+              </g>
+            </g>
+            <circle
+               r="13.465863"
+               cy="722.19482"
+               cx="-842.6366"
+               id="circle1604"
+               style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.76500034;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          </g>
+        </g>
+      </g>
+      <g
+         id="g1650"
+         transform="translate(1482.7912,-64.382075)">
+        <rect
+           style="opacity:0.93999999;fill:#e5f7ff;fill-opacity:1;fill-rule:evenodd;stroke:#00b4fd;stroke-width:0.50009763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="rect1612"
+           width="126.8904"
+           height="95.253891"
+           x="-925.01202"
+           y="862.21106"
+           rx="0.97993821"
+           ry="0.93664342" />
+        <g
+           transform="matrix(0.0947238,0,0,0.0947238,-935.44492,830.95566)"
+           id="g1622">
+          <circle
+             r="27.743086"
+             cy="248.39331"
+             cx="-135.70163"
+             transform="scale(-1,1)"
+             id="circle1614"
+             style="fill:#ff5966;fill-opacity:1;stroke:none;stroke-width:1.29467726;stroke-opacity:1" />
+          <circle
+             r="72.85714"
+             cy="216.6479"
+             cx="201.04846"
+             id="circle1616"
+             style="fill:#0dc66e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1" />
+          <circle
+             r="37.37936"
+             cy="136.32114"
+             cx="167.3486"
+             inkscape:export-ydpi="21.58"
+             inkscape:export-xdpi="21.58"
+             inkscape:export-filename="/home/vagrant/website/css/path2987.png"
+             id="circle1618"
+             style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:1.18934333;stroke-opacity:1" />
+          <circle
+             r="49.79998"
+             cy="121.63028"
+             cx="292.31558"
+             id="circle1620"
+             style="fill:#00b4fd;fill-opacity:1;stroke:none;stroke-width:0.91736811;stroke-opacity:1" />
+        </g>
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:19.57343102px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90707344px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="-896.62952"
+           y="853.87421"
+           id="text1626"><tspan
+             sodipodi:role="line"
+             id="tspan1624"
+             x="-896.62952"
+             y="853.87421"
+             style="stroke-width:0.90707344px">Cylc Jobs</tspan></text>
+        <g
+           transform="matrix(0.8207454,0,0,0.8207454,-235.30795,335.97356)"
+           id="g1632">
+          <circle
+             r="13.465863"
+             cy="674.04419"
+             cx="-812.84839"
+             id="circle1628"
+             style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <circle
+             r="5.5087628"
+             cy="674.04419"
+             cx="-812.84839"
+             id="circle1630"
+             style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.64022732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        </g>
+        <g
+           id="g1638"
+           transform="matrix(0.8207454,0,0,0.8207454,-235.30795,370.07786)">
+          <circle
+             style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1634"
+             cx="-812.84839"
+             cy="674.04419"
+             r="13.465863" />
+          <circle
+             style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.64022732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1636"
+             cx="-812.84839"
+             cy="674.04419"
+             r="5.5087628" />
+        </g>
+        <text
+           id="text1642"
+           y="893.25574"
+           x="-881.30634"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:17.47561073px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#00567c;fill-opacity:1;stroke:none;stroke-width:0.80985588px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="fill:#00567c;fill-opacity:1;stroke-width:0.80985588px"
+             y="893.25574"
+             x="-881.30634"
+             id="tspan1640"
+             sodipodi:role="line">#1234</tspan></text>
+        <text
+           id="text1646"
+           y="927.64062"
+           x="-882.37933"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:17.47561073px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#00567c;fill-opacity:1;stroke:none;stroke-width:0.80985588px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="fill:#00567c;fill-opacity:1;stroke-width:0.80985588px"
+             y="927.64062"
+             x="-882.37933"
+             id="tspan1644"
+             sodipodi:role="line">#2345</tspan></text>
+        <path
+           inkscape:connector-curvature="0"
+           id="path1648"
+           d="m -903.96494,911.6817 -0.48214,10.22681 8.44328,10.42996 2.81444,-4.96664 0.99332,-6.29109 -3.14554,-5.46331 z"
+           style="fill:#00567c;fill-opacity:0.42519687;fill-rule:evenodd;stroke:none;stroke-width:0.23462112px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      </g>
+      <g
+         id="g1696"
+         transform="translate(1490.7238,-81.127553)">
+        <g
+           transform="matrix(0.0947238,0,0,0.0947238,-729.7278,581.6861)"
+           id="g1660">
+          <circle
+             r="27.743086"
+             cy="248.39331"
+             cx="-135.70163"
+             transform="scale(-1,1)"
+             id="circle1652"
+             style="fill:#ff5966;fill-opacity:1;stroke:none;stroke-width:1.29467726;stroke-opacity:1" />
+          <circle
+             r="72.85714"
+             cy="216.6479"
+             cx="201.04846"
+             id="circle1654"
+             style="fill:#0dc66e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1" />
+          <circle
+             r="37.37936"
+             cy="136.32114"
+             cx="167.3486"
+             inkscape:export-ydpi="21.58"
+             inkscape:export-xdpi="21.58"
+             inkscape:export-filename="/home/vagrant/website/css/path2987.png"
+             id="circle1656"
+             style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:1.18934333;stroke-opacity:1" />
+          <circle
+             r="49.79998"
+             cy="121.63028"
+             cx="292.31558"
+             id="circle1658"
+             style="fill:#00b4fd;fill-opacity:1;stroke:none;stroke-width:0.91736811;stroke-opacity:1" />
+        </g>
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:19.57343102px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90707344px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="-690.91241"
+           y="604.60468"
+           id="text1664"><tspan
+             sodipodi:role="line"
+             id="tspan1662"
+             x="-690.91241"
+             y="604.60468"
+             style="stroke-width:0.90707344px">Cylc Workflow</tspan></text>
+        <rect
+           style="opacity:0.93999999;fill:#e5f7ff;fill-opacity:1;fill-rule:evenodd;stroke:#00b4fd;stroke-width:0.64703256;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="rect1666"
+           width="153.62782"
+           height="131.69955"
+           x="-719.22144"
+           y="613.01501"
+           rx="1.1864237"
+           ry="1.2950182" />
+        <g
+           id="g1694">
+          <path
+             style="fill:#00567c;fill-opacity:0.42519687;fill-rule:evenodd;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             d="m -644.12081,678.27754 -0.54372,11.53282 9.52153,11.76192 3.17386,-5.60091 1.12017,-7.09449 -3.54724,-6.161 z"
+             id="path1668"
+             inkscape:connector-curvature="0" />
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path1670"
+             d="m -651.8059,656.97569 -31.26556,24.19209"
+             style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.57344925;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164" />
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path1672"
+             d="m -643.53436,661.22019 -0.58646,17.05735"
+             style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.57344925;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164" />
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path1674"
+             d="M -602.71133,679.17445 -638.3677,654.75386"
+             style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.57344925;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164" />
+          <circle
+             r="12.463442"
+             cy="651.13995"
+             cx="-643.68713"
+             id="circle1676"
+             style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.44849885;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <circle
+             r="12.463443"
+             cy="691.17395"
+             cx="-689.13623"
+             id="circle1678"
+             style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.44849885;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <circle
+             r="12.463443"
+             cy="690.87793"
+             cx="-596.95844"
+             id="circle1680"
+             style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.55916929;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <g
+             id="g1686"
+             transform="matrix(0.92555837,0,0,0.92555837,108.65151,67.684468)">
+            <circle
+               style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="circle1682"
+               cx="-812.84839"
+               cy="674.04419"
+               r="13.465863" />
+            <circle
+               style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.64022732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="circle1684"
+               cx="-812.84839"
+               cy="674.04419"
+               r="5.5087628" />
+          </g>
+          <g
+             id="g1692"
+             transform="matrix(0.92555838,0,0,0.92555838,155.3802,67.010682)">
+            <circle
+               style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="circle1688"
+               cx="-812.84839"
+               cy="674.04419"
+               r="13.465863" />
+            <circle
+               style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.64022732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="circle1690"
+               cx="-812.84839"
+               cy="674.04419"
+               r="5.5087628" />
+          </g>
+        </g>
+      </g>
+      <g
+         id="g1724"
+         transform="translate(1523.1534,-64.062129)">
+        <rect
+           ry="0.93664342"
+           rx="0.97993821"
+           y="861.89111"
+           x="-743.02203"
+           height="95.253891"
+           width="126.8904"
+           id="rect1698"
+           style="opacity:0.93999999;fill:#e5f7ff;fill-opacity:1;fill-rule:evenodd;stroke:#00b4fd;stroke-width:0.50009763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <g
+           id="g1708"
+           transform="matrix(0.0947238,0,0,0.0947238,-753.45498,830.63568)">
+          <circle
+             style="fill:#ff5966;fill-opacity:1;stroke:none;stroke-width:1.29467726;stroke-opacity:1"
+             id="circle1700"
+             transform="scale(-1,1)"
+             cx="-135.70163"
+             cy="248.39331"
+             r="27.743086" />
+          <circle
+             style="fill:#0dc66e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1"
+             id="circle1702"
+             cx="201.04846"
+             cy="216.6479"
+             r="72.85714" />
+          <circle
+             style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:1.18934333;stroke-opacity:1"
+             id="circle1704"
+             inkscape:export-filename="/home/vagrant/website/css/path2987.png"
+             inkscape:export-xdpi="21.58"
+             inkscape:export-ydpi="21.58"
+             cx="167.3486"
+             cy="136.32114"
+             r="37.37936" />
+          <circle
+             style="fill:#00b4fd;fill-opacity:1;stroke:none;stroke-width:0.91736811;stroke-opacity:1"
+             id="circle1706"
+             cx="292.31558"
+             cy="121.63028"
+             r="49.79998" />
+        </g>
+        <text
+           id="text1712"
+           y="853.55426"
+           x="-714.63953"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:19.57343102px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.9070735px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="stroke-width:0.9070735px"
+             y="853.55426"
+             x="-714.63953"
+             id="tspan1710"
+             sodipodi:role="line">Cylc Jobs</tspan></text>
+        <g
+           id="g1718"
+           transform="matrix(0.82074541,0,0,0.82074541,-53.317987,335.65357)">
+          <circle
+             style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1714"
+             cx="-812.84839"
+             cy="674.04419"
+             r="13.465863" />
+          <circle
+             style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.64022732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1716"
+             cx="-812.84839"
+             cy="674.04419"
+             r="5.5087628" />
+        </g>
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:17.47561073px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#00567c;fill-opacity:1;stroke:none;stroke-width:0.80985588px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="-699.31635"
+           y="892.93579"
+           id="text1722"><tspan
+             sodipodi:role="line"
+             id="tspan1720"
+             x="-699.31635"
+             y="892.93579"
+             style="fill:#00567c;fill-opacity:1;stroke-width:0.80985588px">#3456</tspan></text>
+      </g>
+      <rect
+         style="opacity:0.93999999;fill:none;fill-opacity:0.42519687;fill-rule:evenodd;stroke:#00b4fd;stroke-width:3.78800011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:11.36399973, 3.7879999;stroke-dashoffset:0;stroke-opacity:0.38188979"
+         id="rect1726"
+         width="475.26703"
+         height="1055.0537"
+         x="509.62244"
+         y="-126.64586"
+         rx="18.812302"
+         ry="15.789134" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:38.98805237px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#00b6fc;fill-opacity:0.81496067;stroke:none;stroke-width:1.80678713px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="573.00079"
+         y="-142.3633"
+         id="text1730"><tspan
+           sodipodi:role="line"
+           id="tspan1728"
+           x="573.00079"
+           y="-142.3633"
+           style="fill:#00b6fc;fill-opacity:0.81496067;stroke-width:1.80678713px">User 1</tspan></text>
+      <g
+         id="g1754"
+         transform="translate(1389.8659,315.28181)">
+        <path
+           style="fill:none;fill-rule:evenodd;stroke:#70b5ff;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m -778.44174,105.76782 c 0,0 -42.56944,28.68199 -42.56944,79.9608"
+           id="path1750"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cc" />
+        <path
+           sodipodi:type="star"
+           style="opacity:1;fill:#70b5ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699992, 3.51899997;stroke-dashoffset:0;stroke-opacity:1"
+           id="path1752"
+           sodipodi:sides="3"
+           sodipodi:cx="-790.01929"
+           sodipodi:cy="181.19315"
+           sodipodi:r1="8.3909836"
+           sodipodi:r2="4.1954923"
+           sodipodi:arg1="1.2068174"
+           sodipodi:arg2="2.2540149"
+           inkscape:flatsided="true"
+           inkscape:rounded="0"
+           inkscape:randomized="0"
+           d="m -787.03214,189.03442 -11.27146,-9.17496 13.58148,-5.1739 z"
+           inkscape:transform-center-x="0.029048001"
+           inkscape:transform-center-y="2.0725342"
+           transform="rotate(20.457602,-808.6599,97.24106)" />
+      </g>
+      <g
+         id="g1760"
+         transform="translate(1559.9759,315.74736)">
+        <path
+           style="fill:none;fill-rule:evenodd;stroke:#70b5ff;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m -880.48456,105.76782 c 0,0 71.44391,33.2573 91.87667,79.9608"
+           id="path1756"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cc" />
+        <path
+           sodipodi:type="star"
+           style="opacity:1;fill:#70b5ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699992, 3.51899997;stroke-dashoffset:0;stroke-opacity:1"
+           id="path1758"
+           sodipodi:sides="3"
+           sodipodi:cx="-790.01929"
+           sodipodi:cy="181.19315"
+           sodipodi:r1="8.3909836"
+           sodipodi:r2="4.1954923"
+           sodipodi:arg1="1.2068174"
+           sodipodi:arg2="2.2540149"
+           inkscape:flatsided="true"
+           inkscape:rounded="0"
+           inkscape:randomized="0"
+           d="m -787.03214,189.03442 -11.27146,-9.17496 13.58148,-5.1739 z"
+           inkscape:transform-center-x="1.2727956"
+           inkscape:transform-center-y="0.89659761"
+           transform="rotate(3.1940269,-794.9733,171.9393)" />
+      </g>
+      <text
+         id="text1764"
+         y="471.02051"
+         x="625.32117"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172318px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#1e8bff;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="fill:#1e8bff;fill-opacity:1;stroke-width:0.87455451px"
+           y="471.02051"
+           x="625.32117"
+           id="tspan1762"
+           sodipodi:role="line">Connects</tspan></text>
+      <text
+         id="text1768"
+         y="485.22198"
+         x="583.43011"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13.612463px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#1e8bff;fill-opacity:1;stroke:none;stroke-width:0.63082951px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="fill:#1e8bff;fill-opacity:1;stroke-width:0.63082951px"
+           y="485.22198"
+           x="583.43011"
+           id="tspan1766"
+           sodipodi:role="line">(Certificate from filesystem)</tspan></text>
+      <rect
+         ry="8.1896257"
+         rx="7.7842526"
+         y="758.72522"
+         x="541.9826"
+         height="149.26054"
+         width="194.46704"
+         id="rect1772"
+         style="opacity:0.93999999;fill:none;fill-opacity:0.42519687;fill-rule:evenodd;stroke:#2c2c2c;stroke-width:1.68874729;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.68874727, 1.68874727;stroke-dashoffset:0;stroke-opacity:1" />
+      <g
+         transform="translate(1419.0322,-24.287041)"
+         id="g1792">
+        <text
+           id="text1776"
+           y="-66.565994"
+           x="-852.93823"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.18325233px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2974678px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="stroke-width:0.2974678px"
+             y="-66.565994"
+             x="-852.93823"
+             id="tspan1774"
+             sodipodi:role="line">User Machine 1</tspan></text>
+        <g
+           transform="translate(0,2.6458334)"
+           id="g1790">
+          <rect
+             style="opacity:1;fill:#777777;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1778"
+             width="11.574775"
+             height="16.137194"
+             x="-870.29382"
+             y="-84.172989"
+             rx="2.4245193"
+             ry="2.4245193" />
+          <circle
+             style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1780"
+             cx="-867.74268"
+             cy="-81.67128"
+             r="0.57718682" />
+          <rect
+             style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832123;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1782"
+             width="5.8799009"
+             height="1.0290583"
+             x="-866.5448"
+             y="-82.185806"
+             rx="0.45345691"
+             ry="0.45345691" />
+          <rect
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832135;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1784"
+             width="5.8799009"
+             height="1.0290583"
+             x="-866.06396"
+             y="-70.987869"
+             rx="0.45345691"
+             ry="0.45345691" />
+          <rect
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1786"
+             width="4.2088699"
+             height="1.0290583"
+             x="-864.39294"
+             y="-72.42366"
+             rx="0.45345694"
+             ry="0.45345691" />
+          <rect
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1788"
+             width="2.4030781"
+             height="1.0290583"
+             x="-862.58716"
+             y="-73.859497"
+             rx="0.45345691"
+             ry="0.45345691" />
+        </g>
+      </g>
+      <text
+         id="text1796"
+         y="154.3627"
+         x="566.09399"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.18325233px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2974678px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.2974678px"
+           y="154.3627"
+           x="566.09399"
+           id="tspan1794"
+           sodipodi:role="line">Cylc Servers</tspan></text>
+      <g
+         transform="translate(1419.0322,223.57447)"
+         id="g1810">
+        <rect
+           style="opacity:1;fill:#777777;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="rect1798"
+           width="11.574775"
+           height="16.137194"
+           x="-870.29382"
+           y="-84.172989"
+           rx="2.4245193"
+           ry="2.4245193" />
+        <circle
+           style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="circle1800"
+           cx="-867.74268"
+           cy="-81.67128"
+           r="0.57718682" />
+        <rect
+           style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832123;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="rect1802"
+           width="5.8799009"
+           height="1.0290583"
+           x="-866.5448"
+           y="-82.185806"
+           rx="0.45345691"
+           ry="0.45345691" />
+        <rect
+           style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832135;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="rect1804"
+           width="5.8799009"
+           height="1.0290583"
+           x="-866.06396"
+           y="-70.987869"
+           rx="0.45345691"
+           ry="0.45345691" />
+        <rect
+           style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="rect1806"
+           width="4.2088699"
+           height="1.0290583"
+           x="-864.39294"
+           y="-72.42366"
+           rx="0.45345694"
+           ry="0.45345691" />
+        <rect
+           style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="rect1808"
+           width="2.4030781"
+           height="1.0290583"
+           x="-862.58716"
+           y="-73.859497"
+           rx="0.45345691"
+           ry="0.45345691" />
+      </g>
+      <g
+         id="g1830"
+         transform="translate(1414.8419,817.68464)">
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.18325233px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2974678px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="-852.93823"
+           y="-66.565994"
+           id="text1814"><tspan
+             sodipodi:role="line"
+             id="tspan1812"
+             x="-852.93823"
+             y="-66.565994"
+             style="stroke-width:0.2974678px">Job Platform 1</tspan></text>
+        <g
+           id="g1828"
+           transform="translate(0,2.6458334)">
+          <rect
+             ry="2.4245193"
+             rx="2.4245193"
+             y="-84.172989"
+             x="-870.29382"
+             height="16.137194"
+             width="11.574775"
+             id="rect1816"
+             style="opacity:1;fill:#777777;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <circle
+             r="0.57718682"
+             cy="-81.67128"
+             cx="-867.74268"
+             id="circle1818"
+             style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <rect
+             ry="0.45345691"
+             rx="0.45345691"
+             y="-82.185806"
+             x="-866.5448"
+             height="1.0290583"
+             width="5.8799009"
+             id="rect1820"
+             style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832123;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <rect
+             ry="0.45345691"
+             rx="0.45345691"
+             y="-70.987869"
+             x="-866.06396"
+             height="1.0290583"
+             width="5.8799009"
+             id="rect1822"
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832135;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <rect
+             ry="0.45345691"
+             rx="0.45345694"
+             y="-72.42366"
+             x="-864.39294"
+             height="1.0290583"
+             width="4.2088699"
+             id="rect1824"
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <rect
+             ry="0.45345691"
+             rx="0.45345691"
+             y="-73.859497"
+             x="-862.58716"
+             height="1.0290583"
+             width="2.4030781"
+             id="rect1826"
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        </g>
+      </g>
+      <rect
+         style="opacity:0.93999999;fill:none;fill-opacity:0.42519687;fill-rule:evenodd;stroke:#2c2c2c;stroke-width:1.68874729;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.68874727, 1.68874727;stroke-dashoffset:0;stroke-opacity:1"
+         id="rect1832"
+         width="194.46704"
+         height="149.26054"
+         x="764.90057"
+         y="758.72522"
+         rx="7.7842526"
+         ry="8.1896257" />
+      <g
+         transform="translate(1637.7598,817.68464)"
+         id="g1852">
+        <text
+           id="text1836"
+           y="-66.565994"
+           x="-852.93823"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.18325233px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2974678px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="stroke-width:0.2974678px"
+             y="-66.565994"
+             x="-852.93823"
+             id="tspan1834"
+             sodipodi:role="line">Job Platform 2</tspan></text>
+        <g
+           transform="translate(0,2.6458334)"
+           id="g1850">
+          <rect
+             style="opacity:1;fill:#777777;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1838"
+             width="11.574775"
+             height="16.137194"
+             x="-870.29382"
+             y="-84.172989"
+             rx="2.4245193"
+             ry="2.4245193" />
+          <circle
+             style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1840"
+             cx="-867.74268"
+             cy="-81.67128"
+             r="0.57718682" />
+          <rect
+             style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832123;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1842"
+             width="5.8799009"
+             height="1.0290583"
+             x="-866.5448"
+             y="-82.185806"
+             rx="0.45345691"
+             ry="0.45345691" />
+          <rect
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832135;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1844"
+             width="5.8799009"
+             height="1.0290583"
+             x="-866.06396"
+             y="-70.987869"
+             rx="0.45345691"
+             ry="0.45345691" />
+          <rect
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1846"
+             width="4.2088699"
+             height="1.0290583"
+             x="-864.39294"
+             y="-72.42366"
+             rx="0.45345694"
+             ry="0.45345691" />
+          <rect
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1848"
+             width="2.4030781"
+             height="1.0290583"
+             x="-862.58716"
+             y="-73.859497"
+             rx="0.45345691"
+             ry="0.45345691" />
+        </g>
+      </g>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172318px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#1e8bff;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="622.53827"
+         y="710.96674"
+         id="text1862"><tspan
+           sodipodi:role="line"
+           id="tspan1860"
+           x="622.53827"
+           y="710.96674"
+           style="fill:#1e8bff;fill-opacity:1;stroke-width:0.87455451px">Submits</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172508px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#edbe00;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="701.62616"
+         y="711.66901"
+         id="text1866"><tspan
+           sodipodi:role="line"
+           id="tspan1864"
+           x="701.62616"
+           y="711.66901"
+           style="fill:#edbe00;fill-opacity:1;stroke-width:0.87455451px">Updates</tspan></text>
+      <g
+         id="g1886"
+         transform="translate(1420.6197,-24.816207)">
+        <path
+           sodipodi:nodetypes="cc"
+           inkscape:connector-curvature="0"
+           id="path1868"
+           d="m -743.28018,674.17855 c 0,0 41.35149,75.94809 -2.88194,157.97232"
+           style="fill:none;fill-rule:evenodd;stroke:#70b5ff;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+        <g
+           id="g1884">
+          <path
+             style="fill:none;fill-rule:evenodd;stroke:#ffcc00;stroke-width:2.76500034;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+             d="m -740.63433,674.17855 c 0,0 41.35149,75.94809 -2.88194,157.97232"
+             id="path1870"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="cc" />
+          <g
+             id="g1876"
+             transform="rotate(-4.8712683,-827.69718,1198.4758)">
+            <path
+               sodipodi:nodetypes="cccc"
+               inkscape:connector-curvature="0"
+               id="path1872"
+               d="m -718.84172,847.91339 c 4.0455,-6.63264 4.06813,-6.6576 6.64424,-10.69744 4.5222,3.05615 4.73707,3.15632 6.38222,4.25249 z"
+               inkscape:transform-center-y="2.5922389"
+               inkscape:transform-center-x="0.11280333"
+               style="opacity:1;fill:#ffcc00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699981, 3.51899993;stroke-dashoffset:0;stroke-opacity:1" />
+            <path
+               sodipodi:nodetypes="cccc"
+               inkscape:connector-curvature="0"
+               id="path1874"
+               d="m -718.84172,847.91339 0.93174,-14.50371 5.7125,3.80627 c -5.30546,8.4679 -0.56868,0.86042 -6.64424,10.69744 z"
+               inkscape:transform-center-y="2.5922389"
+               inkscape:transform-center-x="0.11280333"
+               style="opacity:1;fill:#70b5ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699993, 3.51899997;stroke-dashoffset:0;stroke-opacity:1" />
+          </g>
+          <g
+             id="g1882">
+            <path
+               style="opacity:1;fill:#70b5ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699981, 3.51899993;stroke-dashoffset:0;stroke-opacity:1"
+               inkscape:transform-center-x="0.11280333"
+               inkscape:transform-center-y="2.5922389"
+               d="m -746.72318,663.70559 c 3.20542,7.07695 3.21331,7.1097 5.10262,11.51279 -5.07137,2.01783 -5.2751,2.13906 -7.1071,2.88193 z"
+               id="path1878"
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="cccc" />
+            <path
+               style="opacity:1;fill:#ffcc00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699993, 3.51899997;stroke-dashoffset:0;stroke-opacity:1"
+               inkscape:transform-center-x="0.11280333"
+               inkscape:transform-center-y="2.5922389"
+               d="m -746.72318,663.70559 11.46395,8.93329 -6.36133,2.5795 c -4.01325,-9.15134 -0.39113,-0.95432 -5.10262,-11.51279 z"
+               id="path1880"
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="cccc" />
+          </g>
+        </g>
+      </g>
+      <circle
+         style="opacity:0.93999999;fill:#fc8900;fill-opacity:0.6732283;fill-rule:evenodd;stroke:none;stroke-width:0.46267623;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627"
+         id="circle1462-2"
+         cx="1097.7966"
+         cy="183.6409"
+         r="9.0513277" />
+      <path
+         style="opacity:0.93999999;fill:#fc8900;fill-opacity:0.6732283;fill-rule:evenodd;stroke:none;stroke-width:0.46267623;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627"
+         d="m 1118.6943,202.84529 c 0,4.19662 -9.3556,7.59865 -20.8963,7.59865 -11.5407,0 -20.8962,-3.40203 -20.8962,-7.59865 0,-4.19661 9.3555,-7.59864 20.8962,-7.59864 11.5407,0 20.8963,3.40203 20.8963,7.59864 z"
+         id="path1464-8"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="sssss" />
+      <rect
+         ry="12.750971"
+         rx="12.750971"
+         y="-80.515892"
+         x="1511.6892"
+         height="153.34192"
+         width="159.85767"
+         id="rect1458-7-1"
+         style="opacity:0.93999999;fill:none;fill-opacity:0.42519687;fill-rule:evenodd;stroke:#2c2c2c;stroke-width:1.76388896;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.7638889, 1.7638889;stroke-dashoffset:0;stroke-opacity:1" />
+      <circle
+         style="opacity:0.93999999;fill:#21cb00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.46267623;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627"
+         id="circle1462-2-2"
+         cx="1511.8132"
+         cy="-165.45737"
+         r="9.0513277" />
+      <path
+         style="opacity:0.93999999;fill:#21cb00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.46267623;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627"
+         d="m 1532.7093,-146.2531 c 0,4.19662 -9.3556,7.59865 -20.8963,7.59865 -11.5407,0 -20.8963,-3.40203 -20.8963,-7.59865 0,-4.19661 9.3556,-7.59864 20.8963,-7.59864 11.5407,0 20.8963,3.40203 20.8963,7.59864 z"
+         id="path1464-8-7"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="sssss" />
+      <g
+         transform="translate(2156.275,-49.677825)"
+         id="g1530-1-0">
+        <rect
+           ry="2.9980996"
+           rx="2.9980996"
+           y="11.209617"
+           x="-627.78571"
+           height="92.054741"
+           width="127.07557"
+           id="rect1514-6-1"
+           style="opacity:0.93999999;fill:#414141;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+        <rect
+           ry="4.783618"
+           rx="4.783618"
+           y="26.510006"
+           x="-623.24652"
+           height="17.305874"
+           width="118.30466"
+           id="rect1516-0-6"
+           style="opacity:0.93999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.65472358;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+        <text
+           id="text1520-1-4"
+           y="38.62743"
+           x="-617.9187"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:9.83515263px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.45578128px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="stroke-width:0.45578128px"
+             y="38.62743"
+             x="-617.9187"
+             id="tspan1518-0-3"
+             sodipodi:role="line">https://&lt;host&gt;:port?token</tspan></text>
+        <circle
+           r="3.640878"
+           cy="18.530861"
+           cx="-619.84326"
+           id="circle1522-0-3"
+           style="opacity:0.93999999;fill:#cb2020;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+        <circle
+           r="3.640878"
+           cy="18.365423"
+           cx="-609.14258"
+           id="circle1524-4-3"
+           style="opacity:0.93999999;fill:#edec26;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+        <circle
+           r="3.640878"
+           cy="18.24329"
+           cx="-598.76245"
+           id="circle1526-5-4"
+           style="opacity:0.93999999;fill:#26ed4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+        <rect
+           ry="3.8522828"
+           rx="3.8522828"
+           y="48.27758"
+           x="-623.01813"
+           height="50.065483"
+           width="117.84793"
+           id="rect1528-1-1"
+           style="opacity:0.93999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.11145151;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+      </g>
+      <text
+         id="text1534-4-5"
+         y="-52.20639"
+         x="1526.0161"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:23.66814995px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.09683108px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1.09683108px"
+           y="-52.20639"
+           x="1526.0161"
+           id="tspan1532-1-8"
+           sodipodi:role="line">Browser</tspan></text>
+      <g
+         transform="matrix(0.18066669,0,0,0.18066669,1551.3043,-10.598097)"
+         id="g1546-3-7">
+        <circle
+           r="27.743086"
+           cy="248.39331"
+           cx="-135.70163"
+           transform="scale(-1,1)"
+           id="circle1538-0-9"
+           style="fill:#ff5966;fill-opacity:1;stroke:none;stroke-width:1.29467726;stroke-opacity:1" />
+        <circle
+           r="72.85714"
+           cy="216.6479"
+           cx="201.04846"
+           id="circle1540-4-7"
+           style="fill:#0dc66e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1" />
+        <circle
+           r="37.37936"
+           cy="136.32114"
+           cx="167.3486"
+           inkscape:export-ydpi="21.58"
+           inkscape:export-xdpi="21.58"
+           inkscape:export-filename="/home/vagrant/website/css/path2987.png"
+           id="circle1542-1-0"
+           style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:1.18934333;stroke-opacity:1" />
+        <circle
+           r="49.79998"
+           cy="121.63028"
+           cx="292.31558"
+           id="circle1544-5-6"
+           style="fill:#00b4fd;fill-opacity:1;stroke:none;stroke-width:0.91736811;stroke-opacity:1" />
+      </g>
+      <rect
+         style="opacity:0.93999999;fill:#e5ffe7;fill-opacity:0.94117647;fill-rule:evenodd;stroke:#10ff22;stroke-width:1.40897501;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.94117647"
+         id="rect1460-7-4"
+         width="399.36176"
+         height="202.9359"
+         x="1508.5275"
+         y="209.47026"
+         rx="3.0841565"
+         ry="2.3622916" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:33.0361557px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5309639px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1538.7578"
+         y="197.27118"
+         id="text1468-1-6"><tspan
+           sodipodi:role="line"
+           id="tspan1466-5-8"
+           x="1538.7578"
+           y="197.27118"
+           style="stroke-width:1.5309639px">Jupyter Server</tspan></text>
+      <rect
+         style="opacity:0.93999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#c87600;stroke-width:0.6551435;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627"
+         id="rect1470-1-7"
+         width="176.70688"
+         height="117.38735"
+         x="1522.8002"
+         y="274.55765"
+         rx="1.3646566"
+         ry="1.1542845" />
+      <rect
+         style="opacity:0.93999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#c87600;stroke-width:0.65514207;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627"
+         id="rect1472-0-2"
+         width="176.70688"
+         height="117.38686"
+         x="1715.1459"
+         y="274.55765"
+         rx="1.3646566"
+         ry="1.1542795" />
+      <image
+         y="251.30545"
+         x="1715.2642"
+         id="image1474-6-2"
+         xlink:href="data:image/png;base64,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  "
+         preserveAspectRatio="none"
+         height="20.724373"
+         width="17.874773" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:19.57343102px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90707338px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1548.3109"
+         y="266.45224"
+         id="text1478-1-4"><tspan
+           sodipodi:role="line"
+           id="tspan1476-4-4"
+           x="1548.3109"
+           y="266.45224"
+           style="stroke-width:0.90707338px">Cylc UI Server</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:19.57343102px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90707344px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1736.1677"
+         y="267.51932"
+         id="text1482-3-9"><tspan
+           sodipodi:role="line"
+           x="1736.1677"
+           y="267.51932"
+           style="stroke-width:0.90707344px"
+           id="tspan1480-6-1">Jupyter Lab</tspan></text>
+      <text
+         id="text1486-5-4"
+         y="320.66516"
+         x="1531.9406"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13.64050865px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.63212949px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.63212949px"
+           y="320.66516"
+           x="1531.9406"
+           id="tspan1484-4-4"
+           sodipodi:role="line">Workflow data services</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13.64050865px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.63212949px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1531.9406"
+         y="344.3642"
+         id="text1490-9-4"><tspan
+           sodipodi:role="line"
+           id="tspan1488-5-5"
+           x="1531.9406"
+           y="344.3642"
+           style="stroke-width:0.63212949px">Workflow control services</tspan></text>
+      <text
+         id="text1494-7-6"
+         y="296.20297"
+         x="1530.9584"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13.64050865px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.63212949px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.63212949px"
+           y="296.20297"
+           x="1530.9584"
+           id="tspan1492-4-2"
+           sodipodi:role="line">User interface</tspan></text>
+      <text
+         id="text1500-4-3"
+         y="293.27139"
+         x="1722.9385"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:11.59993553px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.53756511px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.53756511px"
+           y="293.27139"
+           x="1722.9385"
+           sodipodi:role="line"
+           id="tspan1498-2-4">Optionally any number of</tspan><tspan
+           id="tspan1450"
+           style="stroke-width:0.53756511px"
+           y="307.7713"
+           x="1722.9385"
+           sodipodi:role="line">Jupyter Server extensions</tspan><tspan
+           id="tspan1452"
+           style="stroke-width:0.53756511px"
+           y="322.27124"
+           x="1722.9385"
+           sodipodi:role="line">(e.g. Jupyter Lab) can be run</tspan><tspan
+           id="tspan1454"
+           style="stroke-width:0.53756511px"
+           y="336.77115"
+           x="1722.9385"
+           sodipodi:role="line">within the same Jupyter Server</tspan><tspan
+           id="tspan1456"
+           style="stroke-width:0.53756511px"
+           y="351.27106"
+           x="1722.9385"
+           sodipodi:role="line">instance as the Cylc UI Server.</tspan></text>
+      <image
+         width="26.348694"
+         height="30.549208"
+         preserveAspectRatio="none"
+         xlink:href="data:image/png;base64,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  "
+         id="image1548-9-4"
+         x="1508.3285"
+         y="170.80412" />
+      <g
+         transform="matrix(0.0947238,0,0,0.0947238,1514.6184,242.11753)"
+         id="g1558-0-6">
+        <circle
+           r="27.743086"
+           cy="248.39331"
+           cx="-135.70163"
+           transform="scale(-1,1)"
+           id="circle1550-2-3"
+           style="fill:#ff5966;fill-opacity:1;stroke:none;stroke-width:1.29467726;stroke-opacity:1" />
+        <circle
+           r="72.85714"
+           cy="216.6479"
+           cx="201.04846"
+           id="circle1552-8-2"
+           style="fill:#0dc66e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1" />
+        <circle
+           r="37.37936"
+           cy="136.32114"
+           cx="167.3486"
+           inkscape:export-ydpi="21.58"
+           inkscape:export-xdpi="21.58"
+           inkscape:export-filename="/home/vagrant/website/css/path2987.png"
+           id="circle1554-4-8"
+           style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:1.18934333;stroke-opacity:1" />
+        <circle
+           r="49.79998"
+           cy="121.63028"
+           cx="292.31558"
+           id="circle1556-9-6"
+           style="fill:#00b4fd;fill-opacity:1;stroke:none;stroke-width:0.91736811;stroke-opacity:1" />
+      </g>
+      <text
+         id="text1566-0-7"
+         y="230.71249"
+         x="1523.842"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:14.37772465px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.66629362px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.66629362px"
+           y="230.71249"
+           x="1523.842"
+           id="tspan1564-3-9"
+           sodipodi:role="line">Token / cookie management</tspan></text>
+      <g
+         id="g1610-6-5"
+         transform="translate(2436.2432,-81.127553)">
+        <g
+           id="g1608-5-6">
+          <rect
+             style="opacity:0.93999999;fill:#e5ffe7;fill-opacity:1;fill-rule:evenodd;stroke:#00fd02;stroke-width:0.64703256;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1568-0-5"
+             width="153.62782"
+             height="131.69955"
+             x="-930.26105"
+             y="613.01501"
+             rx="1.1864237"
+             ry="1.2950182" />
+          <g
+             transform="matrix(0.0947238,0,0,0.0947238,-940.7674,581.6861)"
+             id="g1578-2-0">
+            <circle
+               r="27.743086"
+               cy="248.39331"
+               cx="-135.70163"
+               transform="scale(-1,1)"
+               id="circle1570-6-3"
+               style="fill:#ff5966;fill-opacity:1;stroke:none;stroke-width:1.29467726;stroke-opacity:1" />
+            <circle
+               r="72.85714"
+               cy="216.6479"
+               cx="201.04846"
+               id="circle1572-3-7"
+               style="fill:#0dc66e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1" />
+            <circle
+               r="37.37936"
+               cy="136.32114"
+               cx="167.3486"
+               inkscape:export-ydpi="21.58"
+               inkscape:export-xdpi="21.58"
+               inkscape:export-filename="/home/vagrant/website/css/path2987.png"
+               id="circle1574-0-1"
+               style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:1.18934333;stroke-opacity:1" />
+            <circle
+               r="49.79998"
+               cy="121.63028"
+               cx="292.31558"
+               id="circle1576-8-9"
+               style="fill:#00b4fd;fill-opacity:1;stroke:none;stroke-width:0.91736811;stroke-opacity:1" />
+          </g>
+          <text
+             xml:space="preserve"
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:19.57343102px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90707344px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             x="-901.95203"
+             y="604.60468"
+             id="text1582-4-1"><tspan
+               sodipodi:role="line"
+               id="tspan1580-0-7"
+               x="-901.95203"
+               y="604.60468"
+               style="stroke-width:0.90707344px">Cylc Workflow</tspan></text>
+          <g
+             id="g1606-8-2"
+             transform="matrix(-0.92555837,0,0,0.92555837,-1633.3565,50.203309)">
+            <path
+               sodipodi:nodetypes="cc"
+               inkscape:connector-curvature="0"
+               id="path1584-0-6"
+               d="m -850.05055,645.58096 -12.43233,21.73272"
+               style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164" />
+            <path
+               sodipodi:nodetypes="cc"
+               inkscape:connector-curvature="0"
+               id="path1586-6-3"
+               d="m -838.06403,643.7286 14.276,22.15666"
+               style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164" />
+            <path
+               sodipodi:nodetypes="cc"
+               inkscape:connector-curvature="0"
+               id="path1588-9-5"
+               d="m -823.43805,690.57417 -12.43233,21.73272"
+               style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164" />
+            <path
+               sodipodi:nodetypes="cc"
+               inkscape:connector-curvature="0"
+               id="path1590-6-1"
+               d="m -863.92449,688.03051 14.27601,22.15666"
+               style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164" />
+            <circle
+               r="13.465862"
+               cy="634.87073"
+               cx="-842.6366"
+               id="circle1592-9-1"
+               style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+            <g
+               transform="translate(-4.7718775,4.4885826)"
+               id="g1602-4-4">
+              <circle
+                 style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+                 id="circle1594-9-3"
+                 cx="-864.26355"
+                 cy="673.63605"
+                 r="13.465863" />
+              <g
+                 id="g1600-6-1">
+                <circle
+                   r="13.465863"
+                   cy="674.04419"
+                   cx="-812.84839"
+                   id="circle1596-5-4"
+                   style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+                <circle
+                   r="5.5087628"
+                   cy="674.04419"
+                   cx="-812.84839"
+                   id="circle1598-6-1"
+                   style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.64022732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+              </g>
+            </g>
+            <circle
+               r="13.465863"
+               cy="722.19482"
+               cx="-842.6366"
+               id="circle1604-5-7"
+               style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.76500034;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          </g>
+        </g>
+      </g>
+      <g
+         id="g1650-5-1"
+         transform="translate(2445.7532,-64.382075)">
+        <rect
+           style="opacity:0.93999999;fill:#e5ffe7;fill-opacity:1;fill-rule:evenodd;stroke:#00fd08;stroke-width:0.50009763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="rect1612-9-4"
+           width="126.8904"
+           height="95.253891"
+           x="-925.01202"
+           y="862.21106"
+           rx="0.97993821"
+           ry="0.93664342" />
+        <g
+           transform="matrix(0.0947238,0,0,0.0947238,-935.44492,830.95566)"
+           id="g1622-5-9">
+          <circle
+             r="27.743086"
+             cy="248.39331"
+             cx="-135.70163"
+             transform="scale(-1,1)"
+             id="circle1614-9-1"
+             style="fill:#ff5966;fill-opacity:1;stroke:none;stroke-width:1.29467726;stroke-opacity:1" />
+          <circle
+             r="72.85714"
+             cy="216.6479"
+             cx="201.04846"
+             id="circle1616-0-2"
+             style="fill:#0dc66e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1" />
+          <circle
+             r="37.37936"
+             cy="136.32114"
+             cx="167.3486"
+             inkscape:export-ydpi="21.58"
+             inkscape:export-xdpi="21.58"
+             inkscape:export-filename="/home/vagrant/website/css/path2987.png"
+             id="circle1618-7-6"
+             style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:1.18934333;stroke-opacity:1" />
+          <circle
+             r="49.79998"
+             cy="121.63028"
+             cx="292.31558"
+             id="circle1620-7-6"
+             style="fill:#00b4fd;fill-opacity:1;stroke:none;stroke-width:0.91736811;stroke-opacity:1" />
+        </g>
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:19.57343102px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90707344px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="-896.62952"
+           y="853.87421"
+           id="text1626-2-9"><tspan
+             sodipodi:role="line"
+             id="tspan1624-3-7"
+             x="-896.62952"
+             y="853.87421"
+             style="stroke-width:0.90707344px">Cylc Jobs</tspan></text>
+        <g
+           transform="matrix(0.8207454,0,0,0.8207454,-235.30795,335.97356)"
+           id="g1632-6-3">
+          <circle
+             r="13.465863"
+             cy="674.04419"
+             cx="-812.84839"
+             id="circle1628-7-7"
+             style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <circle
+             r="5.5087628"
+             cy="674.04419"
+             cx="-812.84839"
+             id="circle1630-5-2"
+             style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.64022732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        </g>
+        <text
+           id="text1642-1-7"
+           y="893.25574"
+           x="-881.30634"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:17.47561073px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#00567c;fill-opacity:1;stroke:none;stroke-width:0.80985588px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="fill:#00567c;fill-opacity:1;stroke-width:0.80985588px"
+             y="893.25574"
+             x="-881.30634"
+             id="tspan1640-3-9"
+             sodipodi:role="line">#4567</tspan></text>
+      </g>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:38.98805237px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#21cb00;fill-opacity:1;stroke:none;stroke-width:1.80678713px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1542.3361"
+         y="-142.3633"
+         id="text1730-0-1"><tspan
+           sodipodi:role="line"
+           id="tspan1728-8-5"
+           x="1542.3361"
+           y="-142.3633"
+           style="fill:#21cb00;fill-opacity:1;stroke-width:1.80678713px">User 2</tspan></text>
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path1750-0-9"
+         d="m 1556.9436,421.04963 c 0,0 -42.5695,28.68199 -42.5695,79.9608"
+         style="fill:none;fill-rule:evenodd;stroke:#87ff70;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         transform="rotate(20.457602,-514.57868,6725.9794)"
+         inkscape:transform-center-y="2.0725342"
+         inkscape:transform-center-x="0.029048001"
+         d="m -787.03214,189.03442 -11.27146,-9.17496 13.58148,-5.1739 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="2.2540149"
+         sodipodi:arg1="1.2068174"
+         sodipodi:r2="4.1954923"
+         sodipodi:r1="8.3909836"
+         sodipodi:cy="181.19315"
+         sodipodi:cx="-790.01929"
+         sodipodi:sides="3"
+         id="path1752-4-7"
+         style="opacity:1;fill:#87ff70;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699992, 3.51899997;stroke-dashoffset:0;stroke-opacity:1"
+         sodipodi:type="star" />
+      <text
+         id="text1764-3-5"
+         y="458.20544"
+         x="1540.1621"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172318px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#21cb00;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="fill:#21cb00;fill-opacity:1;stroke-width:0.87455451px"
+           y="458.20544"
+           x="1540.1621"
+           id="tspan1762-7-1"
+           sodipodi:role="line">Connects</tspan></text>
+      <text
+         id="text1768-9-9"
+         y="473.96027"
+         x="1525.4546"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13.612463px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#21cb00;fill-opacity:1;stroke:none;stroke-width:0.63082951px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="fill:#21cb00;fill-opacity:1;stroke-width:0.63082951px"
+           y="473.96027"
+           x="1525.4546"
+           id="tspan1766-6-0"
+           sodipodi:role="line">(Certificate from filesystem)</tspan></text>
+      <rect
+         ry="8.1896257"
+         rx="7.7842526"
+         y="758.72522"
+         x="1504.9446"
+         height="149.26054"
+         width="194.46704"
+         id="rect1772-9-6"
+         style="opacity:0.93999999;fill:none;fill-opacity:0.42519687;fill-rule:evenodd;stroke:#2c2c2c;stroke-width:1.68874729;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.68874727, 1.68874727;stroke-dashoffset:0;stroke-opacity:1" />
+      <g
+         transform="translate(2388.3672,-24.287041)"
+         id="g1792-1-1">
+        <text
+           id="text1776-1-6"
+           y="-66.565994"
+           x="-852.93823"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.18325233px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2974678px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="stroke-width:0.2974678px"
+             y="-66.565994"
+             x="-852.93823"
+             id="tspan1774-1-3"
+             sodipodi:role="line">User Machine 2</tspan></text>
+        <g
+           transform="translate(0,2.6458334)"
+           id="g1790-1-1">
+          <rect
+             style="opacity:1;fill:#777777;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1778-5-8"
+             width="11.574775"
+             height="16.137194"
+             x="-870.29382"
+             y="-84.172989"
+             rx="2.4245193"
+             ry="2.4245193" />
+          <circle
+             style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1780-6-1"
+             cx="-867.74268"
+             cy="-81.67128"
+             r="0.57718682" />
+          <rect
+             style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832123;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1782-7-7"
+             width="5.8799009"
+             height="1.0290583"
+             x="-866.5448"
+             y="-82.185806"
+             rx="0.45345691"
+             ry="0.45345691" />
+          <rect
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832135;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1784-2-9"
+             width="5.8799009"
+             height="1.0290583"
+             x="-866.06396"
+             y="-70.987869"
+             rx="0.45345691"
+             ry="0.45345691" />
+          <rect
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1786-8-5"
+             width="4.2088699"
+             height="1.0290583"
+             x="-864.39294"
+             y="-72.42366"
+             rx="0.45345694"
+             ry="0.45345691" />
+          <rect
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1788-7-4"
+             width="2.4030781"
+             height="1.0290583"
+             x="-862.58716"
+             y="-73.859497"
+             rx="0.45345691"
+             ry="0.45345691" />
+        </g>
+      </g>
+      <g
+         id="g1830-4-1"
+         transform="translate(2377.8039,817.68464)">
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.18325233px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2974678px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="-852.93823"
+           y="-66.565994"
+           id="text1814-5-1"><tspan
+             sodipodi:role="line"
+             id="tspan1812-2-3"
+             x="-852.93823"
+             y="-66.565994"
+             style="stroke-width:0.2974678px">Job Platform 1</tspan></text>
+        <g
+           id="g1828-9-3"
+           transform="translate(0,2.6458334)">
+          <rect
+             ry="2.4245193"
+             rx="2.4245193"
+             y="-84.172989"
+             x="-870.29382"
+             height="16.137194"
+             width="11.574775"
+             id="rect1816-4-3"
+             style="opacity:1;fill:#777777;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <circle
+             r="0.57718682"
+             cy="-81.67128"
+             cx="-867.74268"
+             id="circle1818-4-4"
+             style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <rect
+             ry="0.45345691"
+             rx="0.45345691"
+             y="-82.185806"
+             x="-866.5448"
+             height="1.0290583"
+             width="5.8799009"
+             id="rect1820-2-8"
+             style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832123;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <rect
+             ry="0.45345691"
+             rx="0.45345691"
+             y="-70.987869"
+             x="-866.06396"
+             height="1.0290583"
+             width="5.8799009"
+             id="rect1822-3-6"
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832135;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <rect
+             ry="0.45345691"
+             rx="0.45345694"
+             y="-72.42366"
+             x="-864.39294"
+             height="1.0290583"
+             width="4.2088699"
+             id="rect1824-5-3"
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <rect
+             ry="0.45345691"
+             rx="0.45345691"
+             y="-73.859497"
+             x="-862.58716"
+             height="1.0290583"
+             width="2.4030781"
+             id="rect1826-8-1"
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        </g>
+      </g>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172318px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#21cb00;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1586.2721"
+         y="710.96674"
+         id="text1862-8-8"><tspan
+           sodipodi:role="line"
+           id="tspan1860-1-0"
+           x="1586.2721"
+           y="710.96674"
+           style="fill:#21cb00;fill-opacity:1;stroke-width:0.87455451px">Submits</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172508px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#edbe00;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1665.36"
+         y="711.66901"
+         id="text1866-7-9"><tspan
+           sodipodi:role="line"
+           id="tspan1864-8-2"
+           x="1665.36"
+           y="711.66901"
+           style="fill:#edbe00;fill-opacity:1;stroke-width:0.87455451px">Updates</tspan></text>
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#87ff70;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1641.0733,649.36234 c 0,0 41.3515,75.94809 -2.8819,157.97232"
+         id="path1868-0-0"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#ffcc00;stroke-width:2.76500034;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1643.7192,649.36234 c 0,0 41.3515,75.94809 -2.882,157.97232"
+         id="path1870-1-8"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc" />
+      <path
+         style="opacity:1;fill:#ffcc00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699981, 3.51899993;stroke-dashoffset:0;stroke-opacity:1"
+         inkscape:transform-center-x="0.11280333"
+         inkscape:transform-center-y="2.5922389"
+         d="m 1635.3498,815.1197 c 3.4677,-6.95221 3.4881,-6.979 5.7118,-11.22301 4.7654,2.6611 4.988,2.74266 6.7203,3.69517 z"
+         id="path1872-8-3"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccc" />
+      <path
+         style="opacity:1;fill:#87ff70;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699993, 3.51899997;stroke-dashoffset:0;stroke-opacity:1"
+         inkscape:transform-center-x="0.11280333"
+         inkscape:transform-center-y="2.5922389"
+         d="m 1635.3498,815.1197 -0.3032,-14.53044 6.015,3.30743 c -4.5672,8.88784 -0.4935,0.9056 -5.7118,11.22301 z"
+         id="path1874-0-2"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccc" />
+      <path
+         sodipodi:nodetypes="cccc"
+         inkscape:connector-curvature="0"
+         id="path1878-4-7"
+         d="m 1637.6303,638.88938 c 3.2054,7.07695 3.2133,7.1097 5.1026,11.51279 -5.0713,2.01783 -5.2751,2.13906 -7.1071,2.88193 z"
+         inkscape:transform-center-y="2.5922389"
+         inkscape:transform-center-x="0.11280333"
+         style="opacity:1;fill:#87ff70;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699981, 3.51899993;stroke-dashoffset:0;stroke-opacity:1" />
+      <path
+         sodipodi:nodetypes="cccc"
+         inkscape:connector-curvature="0"
+         id="path1880-4-2"
+         d="m 1637.6303,638.88938 11.464,8.93329 -6.3614,2.5795 c -4.0132,-9.15134 -0.3911,-0.95432 -5.1026,-11.51279 z"
+         inkscape:transform-center-y="2.5922389"
+         inkscape:transform-center-x="0.11280333"
+         style="opacity:1;fill:#ffcc00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699993, 3.51899997;stroke-dashoffset:0;stroke-opacity:1" />
+      <rect
+         style="opacity:0.93999999;fill:#e5f6ff;fill-opacity:0.94117647;fill-rule:evenodd;stroke:#0d5f84;stroke-width:1.40897501;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.99607843"
+         id="rect1460-7-4-2"
+         width="399.36176"
+         height="202.9359"
+         x="562.7348"
+         y="210.41371"
+         rx="3.0841565"
+         ry="2.3622916" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:33.0361557px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5309639px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="592.96515"
+         y="197.27118"
+         id="text1468-1-6-7"><tspan
+           sodipodi:role="line"
+           id="tspan1466-5-8-7"
+           x="592.96515"
+           y="197.27118"
+           style="stroke-width:1.5309639px">Jupyter Server</tspan></text>
+      <rect
+         style="opacity:0.93999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#c87600;stroke-width:0.6551435;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627"
+         id="rect1470-1-7-1"
+         width="176.70688"
+         height="117.38735"
+         x="577.00751"
+         y="274.55765"
+         rx="1.3646566"
+         ry="1.1542845" />
+      <rect
+         style="opacity:0.93999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#c87600;stroke-width:0.65514207;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627"
+         id="rect1472-0-2-8"
+         width="176.70688"
+         height="117.38686"
+         x="769.35321"
+         y="274.55765"
+         rx="1.3646566"
+         ry="1.1542795" />
+      <image
+         y="251.30545"
+         x="769.4715"
+         id="image1474-6-2-8"
+         xlink:href="data:image/png;base64,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  "
+         preserveAspectRatio="none"
+         height="20.724373"
+         width="17.874773" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:19.57343102px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90707338px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="602.51825"
+         y="266.45224"
+         id="text1478-1-4-3"><tspan
+           sodipodi:role="line"
+           id="tspan1476-4-4-3"
+           x="602.51825"
+           y="266.45224"
+           style="stroke-width:0.90707338px">Cylc UI Server</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:19.57343102px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90707344px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="790.37506"
+         y="267.51932"
+         id="text1482-3-9-9"><tspan
+           sodipodi:role="line"
+           x="790.37506"
+           y="267.51932"
+           style="stroke-width:0.90707344px"
+           id="tspan1480-6-1-3">Jupyter Lab</tspan></text>
+      <text
+         id="text1486-5-4-4"
+         y="320.66516"
+         x="586.14789"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13.64050865px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.63212949px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.63212949px"
+           y="320.66516"
+           x="586.14789"
+           id="tspan1484-4-4-2"
+           sodipodi:role="line">Workflow data services</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13.64050865px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.63212949px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="586.14789"
+         y="344.3642"
+         id="text1490-9-4-6"><tspan
+           sodipodi:role="line"
+           id="tspan1488-5-5-6"
+           x="586.14789"
+           y="344.3642"
+           style="stroke-width:0.63212949px">Workflow control services</tspan></text>
+      <text
+         id="text1494-7-6-1"
+         y="296.20297"
+         x="585.16571"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13.64050865px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.63212949px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.63212949px"
+           y="296.20297"
+           x="585.16571"
+           id="tspan1492-4-2-3"
+           sodipodi:role="line">User interface</tspan></text>
+      <text
+         id="text1500-4-3-0"
+         y="293.27139"
+         x="777.14581"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:11.59993553px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.53756511px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.53756511px"
+           y="293.27139"
+           x="777.14581"
+           sodipodi:role="line"
+           id="tspan1498-2-4-8">Optionally any number of</tspan><tspan
+           id="tspan1440"
+           style="stroke-width:0.53756511px"
+           y="307.7713"
+           x="777.14581"
+           sodipodi:role="line">Jupyter Server extensions</tspan><tspan
+           id="tspan1442"
+           style="stroke-width:0.53756511px"
+           y="322.27124"
+           x="777.14581"
+           sodipodi:role="line">(e.g. Jupyter Lab) can be run</tspan><tspan
+           id="tspan1444"
+           style="stroke-width:0.53756511px"
+           y="336.77115"
+           x="777.14581"
+           sodipodi:role="line">within the same Jupyter Server</tspan><tspan
+           id="tspan1446"
+           style="stroke-width:0.53756511px"
+           y="351.27106"
+           x="777.14581"
+           sodipodi:role="line">instance as the Cylc UI Server.</tspan></text>
+      <image
+         width="26.348694"
+         height="30.549208"
+         preserveAspectRatio="none"
+         xlink:href="data:image/png;base64,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  "
+         id="image1548-9-4-4"
+         x="562.53583"
+         y="170.80412" />
+      <g
+         transform="matrix(0.0947238,0,0,0.0947238,568.8258,242.11753)"
+         id="g1558-0-6-7">
+        <circle
+           r="27.743086"
+           cy="248.39331"
+           cx="-135.70163"
+           transform="scale(-1,1)"
+           id="circle1550-2-3-4"
+           style="fill:#ff5966;fill-opacity:1;stroke:none;stroke-width:1.29467726;stroke-opacity:1" />
+        <circle
+           r="72.85714"
+           cy="216.6479"
+           cx="201.04846"
+           id="circle1552-8-2-4"
+           style="fill:#0dc66e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1" />
+        <circle
+           r="37.37936"
+           cy="136.32114"
+           cx="167.3486"
+           inkscape:export-ydpi="21.58"
+           inkscape:export-xdpi="21.58"
+           inkscape:export-filename="/home/vagrant/website/css/path2987.png"
+           id="circle1554-4-8-2"
+           style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:1.18934333;stroke-opacity:1" />
+        <circle
+           r="49.79998"
+           cy="121.63028"
+           cx="292.31558"
+           id="circle1556-9-6-5"
+           style="fill:#00b4fd;fill-opacity:1;stroke:none;stroke-width:0.91736811;stroke-opacity:1" />
+      </g>
+      <text
+         id="text1566-0-7-8"
+         y="230.71249"
+         x="578.04938"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:14.37772465px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.66629362px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.66629362px"
+           y="230.71249"
+           x="578.04938"
+           id="tspan1564-3-9-0"
+           sodipodi:role="line">Token / cookie management</tspan></text>
+      <rect
+         style="opacity:0.93999999;fill:#fff7ed;fill-opacity:1;fill-rule:evenodd;stroke:#c87600;stroke-width:1.40897512;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627"
+         id="rect1460-7"
+         width="281.62646"
+         height="110.23692"
+         x="1084.5203"
+         y="448.48468"
+         rx="3.0841565"
+         ry="2.3622913" />
+      <g
+         transform="translate(0,214.7274)"
+         id="g4114">
+        <text
+           id="text1468-1"
+           y="221.55823"
+           x="1114.7507"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:33.0361557px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5309639px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="stroke-width:1.5309639px"
+             y="221.55823"
+             x="1114.7507"
+             id="tspan1466-5"
+             sodipodi:role="line">Jupyter Hub</tspan></text>
+        <image
+           y="195.09117"
+           x="1084.3214"
+           id="image1548-9"
+           xlink:href="data:image/png;base64,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  "
+           preserveAspectRatio="none"
+           height="30.549208"
+           width="26.348694" />
+      </g>
+      <text
+         id="text1562-0"
+         y="478.12579"
+         x="1099.6742"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:23.10583305px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.66629362px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.66629362px"
+           y="478.12579"
+           x="1099.6742"
+           id="tspan1560-8"
+           sodipodi:role="line">Authenticator</tspan></text>
+      <text
+         id="text1566-0"
+         y="510.15466"
+         x="1097.5601"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:23.10583305px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.66629362px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.66629362px"
+           y="510.15466"
+           x="1097.5601"
+           id="tspan1564-3"
+           sodipodi:role="line">Database</tspan></text>
+      <text
+         id="text1566-0-6"
+         y="541.90625"
+         x="1098.9464"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:23.10583305px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.66629362px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.66629362px"
+           y="541.90625"
+           x="1098.9464"
+           id="tspan1564-3-94"
+           sodipodi:role="line">Spawner</tspan></text>
+      <text
+         transform="rotate(37.936377)"
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172318px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#1e8bff;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1073.6943"
+         y="-261.48972"
+         id="text1734-4-3"><tspan
+           sodipodi:role="line"
+           id="tspan1732-6-3"
+           x="1073.6943"
+           y="-261.48972"
+           style="fill:#1e8bff;fill-opacity:1;stroke-width:0.87455451px">Spawns</tspan></text>
+      <g
+         transform="rotate(28.378154,665.0188,323.39428)"
+         id="g4195-2">
+        <path
+           style="fill:none;fill-rule:evenodd;stroke:#70b5ff;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m 1143.5935,303.14011 c 0,0 -112.3109,-17.04962 -165.75189,-34.69762"
+           id="path1750-0-5"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cc" />
+        <path
+           sodipodi:type="star"
+           style="opacity:1;fill:#70b5ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699992, 3.51899997;stroke-dashoffset:0;stroke-opacity:1"
+           id="path1752-4-3"
+           sodipodi:sides="3"
+           sodipodi:cx="-790.01929"
+           sodipodi:cy="181.19315"
+           sodipodi:r1="8.3909836"
+           sodipodi:r2="4.1954923"
+           sodipodi:arg1="1.2068174"
+           sodipodi:arg2="2.2540149"
+           inkscape:flatsided="true"
+           inkscape:rounded="0"
+           inkscape:randomized="0"
+           d="m -787.03214,189.03442 -11.27146,-9.17496 13.58148,-5.1739 z"
+           inkscape:transform-center-x="0.029012824"
+           inkscape:transform-center-y="-2.0725298"
+           transform="matrix(0.24441116,-0.96967169,-0.96967169,-0.24441116,1344.8122,-455.61872)" />
+      </g>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:19.65677643px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#df7900;fill-opacity:0.6732283;stroke:none;stroke-width:1.80678713px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1293.755"
+         y="205.56667"
+         id="text1730-0-7"><tspan
+           style="stroke-width:1.80678713px"
+           y="205.56667"
+           x="1293.755"
+           id="tspan4304"
+           sodipodi:role="line">(privileged)</tspan></text>
+      <text
+         transform="rotate(-30.550767)"
+         id="text4322"
+         y="1129.5229"
+         x="978.22882"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172318px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#21cb00;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="fill:#21cb00;fill-opacity:1;stroke-width:0.87455451px"
+           y="1129.5229"
+           x="978.22882"
+           id="tspan4320"
+           sodipodi:role="line">Spawns</tspan></text>
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#87ff70;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1197.0551,537.17112 c 0,0 220.264,-17.05712 307.2237,-117.50996"
+         id="path4334"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#87ff70;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699992, 3.51899997;stroke-dashoffset:0;stroke-opacity:1"
+         id="path4336"
+         sodipodi:sides="3"
+         sodipodi:cx="-790.01929"
+         sodipodi:cy="181.19315"
+         sodipodi:r1="8.3909836"
+         sodipodi:r2="4.1954923"
+         sodipodi:arg1="1.2068174"
+         sodipodi:arg2="2.2540149"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m -787.03214,189.03442 -11.27146,-9.17496 13.58148,-5.1739 z"
+         inkscape:transform-center-x="2.9268036"
+         inkscape:transform-center-y="-3.4281507"
+         transform="rotate(-125.32942,418.48018,-292.58861)" />
+      <text
+         transform="rotate(23.833662)"
+         id="use4218"
+         y="-253.36502"
+         x="784.11078"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172318px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#1e8bff;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="fill:#1e8bff;fill-opacity:1;stroke-width:0.87455451px"
+           y="-253.36502"
+           x="784.11078"
+           id="tspan4220"
+           sodipodi:role="line">Authenticates</tspan></text>
+      <rect
+         style="opacity:1;fill:#ffffff;fill-opacity:0.85826775;fill-rule:evenodd;stroke:none;stroke-width:2.76499987;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="use4789"
+         width="39.253654"
+         height="59.475307"
+         x="1467.7965"
+         y="127.23027"
+         rx="3.0841684"
+         ry="2.3622928" />
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#87ff70;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1525.8666,37.892618 c 0,0 -80.8224,312.444122 -212.593,403.853332"
+         id="path4395"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#87ff70;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699992, 3.51899997;stroke-dashoffset:0;stroke-opacity:1"
+         id="path4397"
+         sodipodi:sides="3"
+         sodipodi:cx="-790.01929"
+         sodipodi:cy="181.19315"
+         sodipodi:r1="8.3909836"
+         sodipodi:r2="4.1954923"
+         sodipodi:arg1="1.2068174"
+         sodipodi:arg2="2.2540149"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m -787.03214,189.03442 -11.27146,-9.17496 13.58148,-5.1739 z"
+         inkscape:transform-center-x="1.3367994"
+         inkscape:transform-center-y="0.86284045"
+         transform="rotate(71.443974,82.598211,1774.5727)" />
+      <g
+         id="use4704"
+         transform="translate(0,51.006405)">
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:33.0361557px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5309639px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="1114.7507"
+           y="221.55823"
+           id="text4708"><tspan
+             sodipodi:role="line"
+             id="tspan4706"
+             x="1114.7507"
+             y="221.55823"
+             style="stroke-width:1.5309639px">Proxy</tspan></text>
+        <image
+           width="26.348694"
+           height="30.549208"
+           preserveAspectRatio="none"
+           xlink:href="data:image/png;base64,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  "
+           id="image4710"
+           x="1084.3214"
+           y="195.09117" />
+      </g>
+      <text
+         id="use4716"
+         y="385.26486"
+         x="1204.2096"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172318px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ff8e08;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="fill:#ff8e08;fill-opacity:1;stroke-width:0.87455451px"
+           y="385.26486"
+           x="1204.2096"
+           id="tspan4726"
+           sodipodi:role="line">Configures</tspan></text>
+      <path
+         style="fill:none;fill-rule:evenodd;stroke:#ff8e08;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1204.5822,411.86331 c 0,0 -16.9521,-32.2512 6.2453,-65.87196"
+         id="path4720"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cc" />
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#ff8e08;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699992, 3.51899997;stroke-dashoffset:0;stroke-opacity:1"
+         id="path4722"
+         sodipodi:sides="3"
+         sodipodi:cx="-790.01929"
+         sodipodi:cy="181.19315"
+         sodipodi:r1="8.3909836"
+         sodipodi:r2="4.1954923"
+         sodipodi:arg1="1.2068174"
+         sodipodi:arg2="2.2540149"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m -787.03214,189.03442 -11.27146,-9.17496 13.58148,-5.1739 z"
+         inkscape:transform-center-x="0.029048001"
+         inkscape:transform-center-y="2.0725342"
+         transform="matrix(0.96967169,0.24441116,0.24441116,-0.96967169,1933.6305,713.19117)" />
+      <rect
+         style="opacity:1;fill:#ffffff;fill-opacity:0.85826775;fill-rule:evenodd;stroke:none;stroke-width:2.76499963;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="use4755"
+         width="4.6881056"
+         height="45.431267"
+         x="1071.0958"
+         y="318.88116"
+         rx="0"
+         ry="0" />
+      <path
+         sodipodi:nodetypes="cc"
+         inkscape:connector-curvature="0"
+         id="path1750-0-3"
+         d="m 709.19911,72.826031 c 0,0 333.96739,5.992526 378.11059,330.702369"
+         style="fill:none;fill-rule:evenodd;stroke:#70b5ff;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <path
+         transform="matrix(-0.90106615,0.43368167,0.43368167,0.90106615,296.52808,582.35292)"
+         inkscape:transform-center-y="3.1914107"
+         inkscape:transform-center-x="0.28640758"
+         d="m -787.03214,189.03442 -11.27146,-9.17496 13.58148,-5.1739 z"
+         inkscape:randomized="0"
+         inkscape:rounded="0"
+         inkscape:flatsided="true"
+         sodipodi:arg2="2.2540149"
+         sodipodi:arg1="1.2068174"
+         sodipodi:r2="4.1954923"
+         sodipodi:r1="8.3909836"
+         sodipodi:cy="181.19315"
+         sodipodi:cx="-790.01929"
+         sodipodi:sides="3"
+         id="path1752-4-93"
+         style="opacity:1;fill:#70b5ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699992, 3.51899997;stroke-dashoffset:0;stroke-opacity:1"
+         sodipodi:type="star" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172318px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#1e8bff;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="868.914"
+         y="-118.26394"
+         id="use4759"
+         transform="rotate(10.629031)"><tspan
+           sodipodi:role="line"
+           id="tspan4761"
+           x="868.914"
+           y="-118.26394"
+           style="fill:#1e8bff;fill-opacity:1;stroke-width:0.87455451px">Connects</tspan></text>
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#70b5ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699992, 3.51899997;stroke-dashoffset:0;stroke-opacity:1"
+         id="use4785"
+         sodipodi:sides="3"
+         sodipodi:cx="-790.01929"
+         sodipodi:cy="181.19315"
+         sodipodi:r1="8.3909836"
+         sodipodi:r2="4.1954923"
+         sodipodi:arg1="1.2068174"
+         sodipodi:arg2="2.2540149"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m -787.03214,189.03442 -11.27146,-9.17496 13.58148,-5.1739 z"
+         inkscape:transform-center-x="3.4351922"
+         inkscape:transform-center-y="0.0024202218"
+         transform="matrix(-0.33797417,-0.94115539,-0.94115539,0.33797417,875.23607,-426.06084)" />
+      <path
+         sodipodi:nodetypes="czzc"
+         inkscape:connector-curvature="0"
+         id="path4793"
+         d="m 1525.8666,19.900949 c 0,0 -255.4306,-6.112111 -257.5395,87.483251 -2.109,93.59536 -5.0662,102.45038 -5.0661,197.44503 0,94.99466 234.1248,94.2159 234.1248,94.2159"
+         style="fill:none;fill-rule:evenodd;stroke:#87ff70;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <rect
+         ry="2.3622928"
+         rx="3.0841687"
+         y="156.62297"
+         x="1242.5486"
+         height="126.60074"
+         width="39.253654"
+         id="rect4753-8"
+         style="opacity:1;fill:#ffffff;fill-opacity:0.85826775;fill-rule:evenodd;stroke:none;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <rect
+         ry="2.3622913"
+         rx="3.0841565"
+         y="284.7637"
+         x="1084.5203"
+         height="46.694851"
+         width="281.62646"
+         id="use4702"
+         style="opacity:0.93999999;fill:#fff7ed;fill-opacity:1;fill-rule:evenodd;stroke:#c87600;stroke-width:1.40897512;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+      <text
+         id="text1566-0-6-0"
+         y="315.06189"
+         x="1098.6229"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:23.10583305px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.66629362px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.66629362px"
+           y="315.06189"
+           x="1098.6229"
+           id="tspan1564-3-94-5"
+           sodipodi:role="line">Configurable-HTTP-proxy</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:38.98899841px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#df7900;fill-opacity:0.6732283;stroke:none;stroke-width:1.80678713px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1128.3193"
+         y="206.73497"
+         id="text1730-0"><tspan
+           y="206.73497"
+           x="1128.3193"
+           id="tspan3425"
+           sodipodi:role="line">Hub User </tspan></text>
+      <rect
+         ry="20.651239"
+         rx="20.651239"
+         y="163.81117"
+         x="541.94067"
+         height="520.17084"
+         width="1390.3462"
+         id="rect1770"
+         style="opacity:0.93999999;fill:none;fill-opacity:0.42519687;fill-rule:evenodd;stroke:#2c2c2c;stroke-width:1.76388872;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.76388885, 1.76388885;stroke-dashoffset:0;stroke-opacity:1" />
+      <rect
+         style="opacity:0.93999999;fill:none;fill-opacity:0.42519687;fill-rule:evenodd;stroke:#fc8900;stroke-width:3.78800082;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:11.36400063, 3.7880002;stroke-dashoffset:0;stroke-opacity:0.63529412"
+         id="rect1726-5"
+         width="308.19724"
+         height="359.21191"
+         x="1073.5314"
+         y="220.28845"
+         rx="18.812302"
+         ry="15.789138" />
+      <text
+         transform="rotate(-15.029911)"
+         id="text1764-3-5-1"
+         y="381.91608"
+         x="1248.5983"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172508px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#21cb00;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="fill:#21cb00;fill-opacity:1;stroke-width:0.87455451px"
+           y="381.91608"
+           x="1248.5983"
+           id="tspan1762-7-1-6"
+           sodipodi:role="line">Connects</tspan></text>
+      <text
+         transform="rotate(-65.566824)"
+         id="text1764-3-5-1-1"
+         y="1418.4032"
+         x="321.23349"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172508px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#21cb00;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="fill:#21cb00;fill-opacity:1;stroke-width:0.87455451px"
+           y="1418.4032"
+           x="321.23349"
+           id="tspan1762-7-1-6-3"
+           sodipodi:role="line">Authenticates</tspan></text>
+      <path
+         sodipodi:type="star"
+         style="opacity:1;fill:#87ff70;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699992, 3.51899997;stroke-dashoffset:0;stroke-opacity:1"
+         id="path4336-8"
+         sodipodi:sides="3"
+         sodipodi:cx="-790.01929"
+         sodipodi:cy="181.19315"
+         sodipodi:r1="8.3909836"
+         sodipodi:r2="4.1954923"
+         sodipodi:arg1="1.2068174"
+         sodipodi:arg2="2.2540149"
+         inkscape:flatsided="true"
+         inkscape:rounded="0"
+         inkscape:randomized="0"
+         d="m -787.03214,189.03442 -11.27146,-9.17496 13.58148,-5.1739 z"
+         inkscape:transform-center-x="-4.5546467"
+         inkscape:transform-center-y="-3.0115625"
+         transform="rotate(-67.262014,518.16311,-1429.2522)" />
+    </g>
+  </g>
+</svg>
diff --git a/nightly_8.3/html/_images/gui-arch-single-user.svg b/nightly_8.3/html/_images/gui-arch-single-user.svg
new file mode 100644
index 00000000000..0bc174c8fc3
--- /dev/null
+++ b/nightly_8.3/html/_images/gui-arch-single-user.svg
@@ -0,0 +1,1469 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="2005.3871"
+   height="4220.1401"
+   viewBox="0 0 530.59198 1116.5788"
+   version="1.1"
+   id="svg8"
+   inkscape:version="0.92.2 (5c3e80d, 2017-08-06)"
+   sodipodi:docname="gui-arch-single-user.svg">
+  <defs
+     id="defs2" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.099375556"
+     inkscape:cx="4609.0645"
+     inkscape:cy="2770.2256"
+     inkscape:document-units="mm"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1920"
+     inkscape:window-height="1057"
+     inkscape:window-x="0"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     fit-margin-top="10"
+     fit-margin-left="10"
+     fit-margin-right="10"
+     fit-margin-bottom="10"
+     units="px" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(913.94956,177.15453)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:5.70935535px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="-667.25873"
+       y="291.20782"
+       id="text4616"><tspan
+         sodipodi:role="line"
+         id="tspan4614"
+         x="-667.25873"
+         y="296.51752"
+         style="stroke-width:0.26458332px" /></text>
+    <g
+       id="g1676">
+      <rect
+         style="opacity:0.93999999;fill:none;fill-opacity:0.42519687;fill-rule:evenodd;stroke:#2c2c2c;stroke-width:1.76388884;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.76388889, 1.76388889;stroke-dashoffset:0;stroke-opacity:1"
+         id="use25569"
+         width="340.13318"
+         height="153.34192"
+         x="-876.67822"
+         y="-76.78009"
+         rx="12.750971"
+         ry="12.750971" />
+      <rect
+         ry="2.3622916"
+         rx="3.0841565"
+         y="213.20604"
+         x="-856.02423"
+         height="240.23816"
+         width="399.36176"
+         id="rect4509"
+         style="opacity:0.93999999;fill:#e5f6ff;fill-opacity:0.94117647;fill-rule:evenodd;stroke:#04a8ff;stroke-width:1.40897501;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.94117647" />
+      <circle
+         r="9.0513277"
+         cy="-165.45737"
+         cx="-876.5542"
+         id="path4504"
+         style="opacity:0.93999999;fill:#00b6fc;fill-opacity:0.60236224;fill-rule:evenodd;stroke:none;stroke-width:0.46267623;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+      <path
+         sodipodi:nodetypes="sssss"
+         inkscape:connector-curvature="0"
+         id="path4506"
+         d="m -855.65789,-146.2531 c 0,4.19662 -9.35559,7.59865 -20.89628,7.59865 -11.54069,0 -20.89628,-3.40203 -20.89628,-7.59865 0,-4.19661 9.35559,-7.59864 20.89628,-7.59864 11.54069,0 20.89628,3.40203 20.89628,7.59864 z"
+         style="opacity:0.93999999;fill:#00b6fc;fill-opacity:0.60236224;fill-rule:evenodd;stroke:none;stroke-width:0.46267623;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+      <text
+         id="text4513"
+         y="201.00696"
+         x="-825.79382"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:33.0361557px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5309639px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:1.5309639px"
+           y="201.00696"
+           x="-825.79382"
+           id="tspan4511"
+           sodipodi:role="line">Jupyter Server</tspan></text>
+      <rect
+         ry="1.1542845"
+         rx="1.3646566"
+         y="307.3981"
+         x="-841.75146"
+         height="117.38735"
+         width="176.70688"
+         id="rect4509-8"
+         style="opacity:0.93999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#c87600;stroke-width:0.6551435;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+      <rect
+         ry="1.1542795"
+         rx="1.3646566"
+         y="307.3981"
+         x="-649.40576"
+         height="117.38686"
+         width="176.70688"
+         id="rect4509-8-7"
+         style="opacity:0.93999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#c87600;stroke-width:0.65514207;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+      <image
+         width="17.874773"
+         height="20.724373"
+         preserveAspectRatio="none"
+         xlink:href="data:image/png;base64,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  "
+         id="image4553"
+         x="-649.28754"
+         y="284.1459" />
+      <text
+         id="text4513-0"
+         y="299.29269"
+         x="-816.24072"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:19.57343102px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90707338px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.90707338px"
+           y="299.29269"
+           x="-816.24072"
+           id="tspan4511-1"
+           sodipodi:role="line">Cylc UI Server</tspan></text>
+      <text
+         id="text4513-0-2"
+         y="300.35977"
+         x="-628.38391"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:19.57343102px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90707344px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           id="tspan4618"
+           style="stroke-width:0.90707344px"
+           y="300.35977"
+           x="-628.38391"
+           sodipodi:role="line">Jupyter Lab</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13.64050865px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.63212949px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="-832.61115"
+         y="353.50562"
+         id="use4641"><tspan
+           sodipodi:role="line"
+           id="tspan4643"
+           x="-832.61115"
+           y="353.50562"
+           style="stroke-width:0.63212949px">Workflow data services</tspan></text>
+      <text
+         id="use4647"
+         y="377.20465"
+         x="-832.61115"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13.64050865px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.63212949px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="stroke-width:0.63212949px"
+           y="377.20465"
+           x="-832.61115"
+           id="tspan4649"
+           sodipodi:role="line">Workflow control services</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13.64050865px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.63212949px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="-833.59326"
+         y="329.04343"
+         id="use4641-8"><tspan
+           sodipodi:role="line"
+           id="tspan4643-9"
+           x="-833.59326"
+           y="329.04343"
+           style="stroke-width:0.63212949px">User interface</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:11.59993553px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.53756511px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="-641.61322"
+         y="326.11185"
+         id="use4641-8-8"><tspan
+           sodipodi:role="line"
+           id="tspan4643-9-2"
+           x="-641.61322"
+           y="326.11185"
+           style="stroke-width:0.53756511px">Optionally any number of</tspan><tspan
+           id="tspan1417"
+           sodipodi:role="line"
+           x="-641.61322"
+           y="340.61176"
+           style="stroke-width:0.53756511px">Jupyter Server extensions</tspan><tspan
+           id="tspan1419"
+           sodipodi:role="line"
+           x="-641.61322"
+           y="355.11169"
+           style="stroke-width:0.53756511px">(e.g. Jupyter Lab) can be run</tspan><tspan
+           id="tspan1423"
+           sodipodi:role="line"
+           x="-641.61322"
+           y="369.6116"
+           style="stroke-width:0.53756511px">within the same Jupyter Server</tspan><tspan
+           id="tspan4689"
+           sodipodi:role="line"
+           x="-641.61322"
+           y="384.11151"
+           style="stroke-width:0.53756511px">instance as the Cylc UI Server.</tspan></text>
+      <g
+         transform="translate(-56.009083,-45.942021)"
+         id="g23598">
+        <g
+           id="g23561"
+           transform="translate(0,2.3809776)">
+          <rect
+             ry="2.9980996"
+             rx="2.9980996"
+             y="8.828639"
+             x="-796.47357"
+             height="92.054741"
+             width="127.07557"
+             id="rect4695"
+             style="opacity:0.93999999;fill:#303030;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+          <text
+             transform="scale(0.86134788,1.1609711)"
+             id="text4699"
+             y="53.76775"
+             x="-909.01355"
+             style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:64.80175018px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#e5e5e5;fill-opacity:1;stroke:none;stroke-width:3.00306582px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             xml:space="preserve"><tspan
+               style="font-style:normal;font-variant:normal;font-weight:600;font-stretch:normal;font-size:64.80175018px;font-family:Lato;-inkscape-font-specification:'Lato, Semi-Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#e5e5e5;fill-opacity:1;stroke-width:3.00306582px"
+               y="53.76775"
+               x="-909.01355"
+               id="tspan4697"
+               sodipodi:role="line">&gt;</tspan></text>
+        </g>
+        <text
+           id="use4701"
+           y="-2.3392193"
+           x="-797.85815"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:23.66814804px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.09683108px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="stroke-width:1.09683108px"
+             y="-2.3392193"
+             x="-797.85815"
+             id="tspan4703"
+             sodipodi:role="line">CLI</tspan></text>
+        <g
+           id="g23556">
+          <rect
+             ry="2.9980996"
+             rx="2.9980996"
+             y="11.209617"
+             x="-627.78571"
+             height="92.054741"
+             width="127.07557"
+             id="rect4695-6"
+             style="opacity:0.93999999;fill:#414141;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+          <rect
+             ry="4.783618"
+             rx="4.783618"
+             y="26.510006"
+             x="-623.24652"
+             height="17.305874"
+             width="118.30466"
+             id="rect4695-6-3"
+             style="opacity:0.93999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.65472358;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+          <text
+             id="text4739"
+             y="38.62743"
+             x="-617.9187"
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:9.83515263px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.45578128px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             xml:space="preserve"><tspan
+               style="stroke-width:0.45578128px"
+               y="38.62743"
+               x="-617.9187"
+               id="tspan4737"
+               sodipodi:role="line">https://&lt;host&gt;:port?token</tspan></text>
+          <circle
+             r="3.640878"
+             cy="18.530861"
+             cx="-619.84326"
+             id="path23501"
+             style="opacity:0.93999999;fill:#cb2020;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+          <circle
+             r="3.640878"
+             cy="18.365423"
+             cx="-609.14258"
+             id="path23501-2"
+             style="opacity:0.93999999;fill:#edec26;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+          <circle
+             r="3.640878"
+             cy="18.24329"
+             cx="-598.76245"
+             id="path23501-2-8"
+             style="opacity:0.93999999;fill:#26ed4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+          <rect
+             ry="3.8522828"
+             rx="3.8522828"
+             y="48.27758"
+             x="-623.01813"
+             height="50.065483"
+             width="117.84793"
+             id="rect4695-6-3-0"
+             style="opacity:0.93999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.11145151;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.61568627" />
+        </g>
+        <text
+           id="use4701-7"
+           y="-2.5285633"
+           x="-630.25903"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:23.66814995px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.09683108px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="stroke-width:1.09683108px"
+             y="-2.5285633"
+             x="-630.25903"
+             id="tspan4703-2"
+             sodipodi:role="line">Browser</tspan></text>
+      </g>
+      <g
+         id="g24584"
+         transform="matrix(0.18066669,0,0,0.18066669,-660.97975,-6.8622939)">
+        <circle
+           style="fill:#ff5966;fill-opacity:1;stroke:none;stroke-width:1.29467726;stroke-opacity:1"
+           id="path2991"
+           transform="scale(-1,1)"
+           cx="-135.70163"
+           cy="248.39331"
+           r="27.743086" />
+        <circle
+           style="fill:#0dc66e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1"
+           id="path2985"
+           cx="201.04846"
+           cy="216.6479"
+           r="72.85714" />
+        <circle
+           style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:1.18934333;stroke-opacity:1"
+           id="path2987"
+           inkscape:export-filename="/home/vagrant/website/css/path2987.png"
+           inkscape:export-xdpi="21.58"
+           inkscape:export-ydpi="21.58"
+           cx="167.3486"
+           cy="136.32114"
+           r="37.37936" />
+        <circle
+           style="fill:#00b4fd;fill-opacity:1;stroke:none;stroke-width:0.91736811;stroke-opacity:1"
+           id="path2989"
+           cx="292.31558"
+           cy="121.63028"
+           r="49.79998" />
+      </g>
+      <image
+         y="174.5399"
+         x="-856.22314"
+         id="use24613"
+         xlink:href="data:image/png;base64,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  "
+         preserveAspectRatio="none"
+         height="30.549208"
+         width="26.348694" />
+      <g
+         id="g24584-0"
+         transform="matrix(0.0947238,0,0,0.0947238,-849.93322,274.9577)">
+        <circle
+           style="fill:#ff5966;fill-opacity:1;stroke:none;stroke-width:1.29467726;stroke-opacity:1"
+           id="path2991-0"
+           transform="scale(-1,1)"
+           cx="-135.70163"
+           cy="248.39331"
+           r="27.743086" />
+        <circle
+           style="fill:#0dc66e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1"
+           id="path2985-5"
+           cx="201.04846"
+           cy="216.6479"
+           r="72.85714" />
+        <circle
+           style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:1.18934333;stroke-opacity:1"
+           id="path2987-5"
+           inkscape:export-filename="/home/vagrant/website/css/path2987.png"
+           inkscape:export-xdpi="21.58"
+           inkscape:export-ydpi="21.58"
+           cx="167.3486"
+           cy="136.32114"
+           r="37.37936" />
+        <circle
+           style="fill:#00b4fd;fill-opacity:1;stroke:none;stroke-width:0.91736811;stroke-opacity:1"
+           id="path2989-3"
+           cx="292.31558"
+           cy="121.63028"
+           r="49.79998" />
+      </g>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:14.37772465px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.66629362px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="-840.70959"
+         y="236.49741"
+         id="use4641-8-0"><tspan
+           sodipodi:role="line"
+           id="tspan4643-9-7"
+           x="-840.70959"
+           y="236.49741"
+           style="stroke-width:0.66629362px">Authentication services</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:14.37772465px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.66629362px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="-840.70959"
+         y="258.26117"
+         id="use4641-8-0-7"><tspan
+           sodipodi:role="line"
+           id="tspan4643-9-7-9"
+           x="-840.70959"
+           y="258.26117"
+           style="stroke-width:0.66629362px">Token / cookie management</tspan></text>
+      <g
+         transform="translate(71.691626,-77.391749)"
+         id="g25391">
+        <g
+           id="g24928">
+          <rect
+             ry="1.2950182"
+             rx="1.1864237"
+             y="613.01501"
+             x="-930.26105"
+             height="131.69955"
+             width="153.62782"
+             id="rect4509-3"
+             style="opacity:0.93999999;fill:#e5f7ff;fill-opacity:1;fill-rule:evenodd;stroke:#00b4fd;stroke-width:0.64703256;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <g
+             id="g24584-0-4"
+             transform="matrix(0.0947238,0,0,0.0947238,-940.7674,581.6861)">
+            <circle
+               style="fill:#ff5966;fill-opacity:1;stroke:none;stroke-width:1.29467726;stroke-opacity:1"
+               id="path2991-0-4"
+               transform="scale(-1,1)"
+               cx="-135.70163"
+               cy="248.39331"
+               r="27.743086" />
+            <circle
+               style="fill:#0dc66e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1"
+               id="path2985-5-0"
+               cx="201.04846"
+               cy="216.6479"
+               r="72.85714" />
+            <circle
+               style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:1.18934333;stroke-opacity:1"
+               id="path2987-5-5"
+               inkscape:export-filename="/home/vagrant/website/css/path2987.png"
+               inkscape:export-xdpi="21.58"
+               inkscape:export-ydpi="21.58"
+               cx="167.3486"
+               cy="136.32114"
+               r="37.37936" />
+            <circle
+               style="fill:#00b4fd;fill-opacity:1;stroke:none;stroke-width:0.91736811;stroke-opacity:1"
+               id="path2989-3-5"
+               cx="292.31558"
+               cy="121.63028"
+               r="49.79998" />
+          </g>
+          <text
+             id="text4513-0-1"
+             y="604.60468"
+             x="-901.95203"
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:19.57343102px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90707344px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+             xml:space="preserve"><tspan
+               style="stroke-width:0.90707344px"
+               y="604.60468"
+               x="-901.95203"
+               id="tspan4511-1-1"
+               sodipodi:role="line">Cylc Workflow</tspan></text>
+          <g
+             transform="matrix(0.92555837,0,0,0.92555837,-73.537781,50.203309)"
+             id="g24906">
+            <path
+               style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164"
+               d="m -850.05055,645.58096 -12.43233,21.73272"
+               id="path24842"
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="cc" />
+            <path
+               style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164"
+               d="m -838.06403,643.7286 14.276,22.15666"
+               id="path24842-9"
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="cc" />
+            <path
+               style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164"
+               d="m -823.43805,690.57417 -12.43233,21.73272"
+               id="path24842-1-4"
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="cc" />
+            <path
+               style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164"
+               d="m -863.92449,688.03051 14.27601,22.15666"
+               id="path24842-9-3"
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="cc" />
+            <circle
+               style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path24764"
+               cx="-842.6366"
+               cy="634.87073"
+               r="13.465862" />
+            <g
+               id="g24840"
+               transform="translate(-4.7718775,4.4885826)">
+              <circle
+                 r="13.465863"
+                 cy="673.63605"
+                 cx="-864.26355"
+                 id="path24764-3"
+                 style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.56500006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+              <g
+                 id="g24834">
+                <circle
+                   style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+                   id="path24764-3-9"
+                   cx="-812.84839"
+                   cy="674.04419"
+                   r="13.465863" />
+                <circle
+                   style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.64022732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+                   id="path24764-3-5"
+                   cx="-812.84839"
+                   cy="674.04419"
+                   r="5.5087628" />
+              </g>
+            </g>
+            <circle
+               style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.76500034;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+               id="path24764-3-9-9"
+               cx="-842.6366"
+               cy="722.19482"
+               r="13.465863" />
+          </g>
+        </g>
+      </g>
+      <g
+         transform="translate(63.759043,-60.646271)"
+         id="g25325">
+        <rect
+           ry="0.93664342"
+           rx="0.97993821"
+           y="862.21106"
+           x="-925.01202"
+           height="95.253891"
+           width="126.8904"
+           id="rect25028"
+           style="opacity:0.93999999;fill:#e5f7ff;fill-opacity:1;fill-rule:evenodd;stroke:#00b4fd;stroke-width:0.50009763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <g
+           id="g25038"
+           transform="matrix(0.0947238,0,0,0.0947238,-935.44492,830.95566)">
+          <circle
+             style="fill:#ff5966;fill-opacity:1;stroke:none;stroke-width:1.29467726;stroke-opacity:1"
+             id="circle25030"
+             transform="scale(-1,1)"
+             cx="-135.70163"
+             cy="248.39331"
+             r="27.743086" />
+          <circle
+             style="fill:#0dc66e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1"
+             id="circle25032"
+             cx="201.04846"
+             cy="216.6479"
+             r="72.85714" />
+          <circle
+             style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:1.18934333;stroke-opacity:1"
+             id="circle25034"
+             inkscape:export-filename="/home/vagrant/website/css/path2987.png"
+             inkscape:export-xdpi="21.58"
+             inkscape:export-ydpi="21.58"
+             cx="167.3486"
+             cy="136.32114"
+             r="37.37936" />
+          <circle
+             style="fill:#00b4fd;fill-opacity:1;stroke:none;stroke-width:0.91736811;stroke-opacity:1"
+             id="circle25036"
+             cx="292.31558"
+             cy="121.63028"
+             r="49.79998" />
+        </g>
+        <text
+           id="text25042"
+           y="853.87421"
+           x="-896.62952"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:19.57343102px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90707344px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="stroke-width:0.90707344px"
+             y="853.87421"
+             x="-896.62952"
+             id="tspan25040"
+             sodipodi:role="line">Cylc Jobs</tspan></text>
+        <g
+           id="g25060"
+           transform="matrix(0.8207454,0,0,0.8207454,-235.30795,335.97356)">
+          <circle
+             style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle25056"
+             cx="-812.84839"
+             cy="674.04419"
+             r="13.465863" />
+          <circle
+             style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.64022732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle25058"
+             cx="-812.84839"
+             cy="674.04419"
+             r="5.5087628" />
+        </g>
+        <g
+           transform="matrix(0.8207454,0,0,0.8207454,-235.30795,370.07786)"
+           id="use25105">
+          <circle
+             r="13.465863"
+             cy="674.04419"
+             cx="-812.84839"
+             id="circle25107"
+             style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <circle
+             r="5.5087628"
+             cy="674.04419"
+             cx="-812.84839"
+             id="circle25109"
+             style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.64022732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        </g>
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:17.47561073px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#00567c;fill-opacity:1;stroke:none;stroke-width:0.80985588px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="-881.30634"
+           y="893.25574"
+           id="text25115"><tspan
+             sodipodi:role="line"
+             id="tspan25113"
+             x="-881.30634"
+             y="893.25574"
+             style="fill:#00567c;fill-opacity:1;stroke-width:0.80985588px">#1234</tspan></text>
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:17.47561073px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#00567c;fill-opacity:1;stroke:none;stroke-width:0.80985588px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="-882.37933"
+           y="927.64062"
+           id="text25115-2"><tspan
+             sodipodi:role="line"
+             id="tspan25113-9"
+             x="-882.37933"
+             y="927.64062"
+             style="fill:#00567c;fill-opacity:1;stroke-width:0.80985588px">#2345</tspan></text>
+        <path
+           style="fill:#00567c;fill-opacity:0.42519687;fill-rule:evenodd;stroke:none;stroke-width:0.23462112px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           d="m -903.96494,911.6817 -0.48214,10.22681 8.44328,10.42996 2.81444,-4.96664 0.99332,-6.29109 -3.14554,-5.46331 z"
+           id="path25135-4"
+           inkscape:connector-curvature="0" />
+      </g>
+      <g
+         transform="translate(71.691626,-77.391749)"
+         id="g25415">
+        <g
+           id="g24942"
+           transform="matrix(0.0947238,0,0,0.0947238,-729.7278,581.6861)">
+          <circle
+             style="fill:#ff5966;fill-opacity:1;stroke:none;stroke-width:1.29467726;stroke-opacity:1"
+             id="circle24934"
+             transform="scale(-1,1)"
+             cx="-135.70163"
+             cy="248.39331"
+             r="27.743086" />
+          <circle
+             style="fill:#0dc66e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1"
+             id="circle24936"
+             cx="201.04846"
+             cy="216.6479"
+             r="72.85714" />
+          <circle
+             style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:1.18934333;stroke-opacity:1"
+             id="circle24938"
+             inkscape:export-filename="/home/vagrant/website/css/path2987.png"
+             inkscape:export-xdpi="21.58"
+             inkscape:export-ydpi="21.58"
+             cx="167.3486"
+             cy="136.32114"
+             r="37.37936" />
+          <circle
+             style="fill:#00b4fd;fill-opacity:1;stroke:none;stroke-width:0.91736811;stroke-opacity:1"
+             id="circle24940"
+             cx="292.31558"
+             cy="121.63028"
+             r="49.79998" />
+        </g>
+        <text
+           id="text24946"
+           y="604.60468"
+           x="-690.91241"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:19.57343102px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.90707344px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="stroke-width:0.90707344px"
+             y="604.60468"
+             x="-690.91241"
+             id="tspan24944"
+             sodipodi:role="line">Cylc Workflow</tspan></text>
+        <rect
+           ry="1.2950182"
+           rx="1.1864237"
+           y="613.01501"
+           x="-719.22144"
+           height="131.69955"
+           width="153.62782"
+           id="rect24932"
+           style="opacity:0.93999999;fill:#e5f7ff;fill-opacity:1;fill-rule:evenodd;stroke:#00b4fd;stroke-width:0.64703256;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <g
+           id="g25231">
+          <path
+             inkscape:connector-curvature="0"
+             id="path25135"
+             d="m -644.12081,678.27754 -0.54372,11.53282 9.52153,11.76192 3.17386,-5.60091 1.12017,-7.09449 -3.54724,-6.161 z"
+             style="fill:#00567c;fill-opacity:0.42519687;fill-rule:evenodd;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+          <path
+             style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.57344925;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164"
+             d="m -651.8059,656.97569 -31.26556,24.19209"
+             id="path24948"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="cc" />
+          <path
+             style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.57344925;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164"
+             d="m -643.53436,661.22019 -0.58646,17.05735"
+             id="path24950"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="cc" />
+          <path
+             style="fill:none;fill-rule:evenodd;stroke:#0090d1;stroke-width:1.57344925;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.32677164"
+             d="M -602.71133,679.17445 -638.3677,654.75386"
+             id="path24952"
+             inkscape:connector-curvature="0"
+             sodipodi:nodetypes="cc" />
+          <circle
+             style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.44849885;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle24956"
+             cx="-643.68713"
+             cy="651.13995"
+             r="12.463442" />
+          <circle
+             style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.44849885;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle24958"
+             cx="-689.13623"
+             cy="691.17395"
+             r="12.463443" />
+          <circle
+             style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.55916929;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle24968"
+             cx="-596.95844"
+             cy="690.87793"
+             r="12.463443" />
+          <g
+             transform="matrix(0.92555837,0,0,0.92555837,108.65151,67.684468)"
+             id="g24964">
+            <circle
+               r="13.465863"
+               cy="674.04419"
+               cx="-812.84839"
+               id="circle24960"
+               style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+            <circle
+               r="5.5087628"
+               cy="674.04419"
+               cx="-812.84839"
+               id="circle24962"
+               style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.64022732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          </g>
+          <g
+             transform="matrix(0.92555838,0,0,0.92555838,155.3802,67.010682)"
+             id="g24964-8">
+            <circle
+               r="13.465863"
+               cy="674.04419"
+               cx="-812.84839"
+               id="circle24960-0"
+               style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+            <circle
+               r="5.5087628"
+               cy="674.04419"
+               cx="-812.84839"
+               id="circle24962-6"
+               style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.64022732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          </g>
+        </g>
+      </g>
+      <g
+         transform="translate(104.12121,-60.326325)"
+         id="g25368">
+        <rect
+           style="opacity:0.93999999;fill:#e5f7ff;fill-opacity:1;fill-rule:evenodd;stroke:#00b4fd;stroke-width:0.50009763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           id="rect25028-4"
+           width="126.8904"
+           height="95.253891"
+           x="-743.02203"
+           y="861.89111"
+           rx="0.97993821"
+           ry="0.93664342" />
+        <g
+           transform="matrix(0.0947238,0,0,0.0947238,-753.45498,830.63568)"
+           id="g25038-2">
+          <circle
+             r="27.743086"
+             cy="248.39331"
+             cx="-135.70163"
+             transform="scale(-1,1)"
+             id="circle25030-4"
+             style="fill:#ff5966;fill-opacity:1;stroke:none;stroke-width:1.29467726;stroke-opacity:1" />
+          <circle
+             r="72.85714"
+             cy="216.6479"
+             cx="201.04846"
+             id="circle25032-1"
+             style="fill:#0dc66e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1" />
+          <circle
+             r="37.37936"
+             cy="136.32114"
+             cx="167.3486"
+             inkscape:export-ydpi="21.58"
+             inkscape:export-xdpi="21.58"
+             inkscape:export-filename="/home/vagrant/website/css/path2987.png"
+             id="circle25034-3"
+             style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:1.18934333;stroke-opacity:1" />
+          <circle
+             r="49.79998"
+             cy="121.63028"
+             cx="292.31558"
+             id="circle25036-0"
+             style="fill:#00b4fd;fill-opacity:1;stroke:none;stroke-width:0.91736811;stroke-opacity:1" />
+        </g>
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:19.57343102px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.9070735px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="-714.63953"
+           y="853.55426"
+           id="text25042-1"><tspan
+             sodipodi:role="line"
+             id="tspan25040-5"
+             x="-714.63953"
+             y="853.55426"
+             style="stroke-width:0.9070735px">Cylc Jobs</tspan></text>
+        <g
+           transform="matrix(0.82074541,0,0,0.82074541,-53.317987,335.65357)"
+           id="g25060-5">
+          <circle
+             r="13.465863"
+             cy="674.04419"
+             cx="-812.84839"
+             id="circle25056-2"
+             style="opacity:0.93999999;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#00567c;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <circle
+             r="5.5087628"
+             cy="674.04419"
+             cx="-812.84839"
+             id="circle25058-5"
+             style="opacity:0.93999999;fill:#00567c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.64022732;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:0.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        </g>
+        <text
+           id="text25115-25"
+           y="892.93579"
+           x="-699.31635"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:17.47561073px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#00567c;fill-opacity:1;stroke:none;stroke-width:0.80985588px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="fill:#00567c;fill-opacity:1;stroke-width:0.80985588px"
+             y="892.93579"
+             x="-699.31635"
+             id="tspan25113-4"
+             sodipodi:role="line">#3456</tspan></text>
+      </g>
+      <rect
+         ry="15.789135"
+         rx="18.812302"
+         y="-126.64586"
+         x="-909.40973"
+         height="1061.5303"
+         width="521.51233"
+         id="rect25417"
+         style="opacity:0.93999999;fill:none;fill-opacity:0.42519687;fill-rule:evenodd;stroke:#00b4fd;stroke-width:3.78800011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:11.36400001, 3.78800001;stroke-dashoffset:0;stroke-opacity:0.38188979" />
+      <text
+         id="text4513-2"
+         y="-142.3633"
+         x="-846.03143"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:38.98805237px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#00b6fc;fill-opacity:0.81496067;stroke:none;stroke-width:1.80678713px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="fill:#00b6fc;fill-opacity:0.81496067;stroke-width:1.80678713px"
+           y="-142.3633"
+           x="-846.03143"
+           id="tspan4511-6"
+           sodipodi:role="line">User</tspan></text>
+      <text
+         id="text25447"
+         y="118.59985"
+         x="-798.89221"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172127px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#1e8bff;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="fill:#1e8bff;fill-opacity:1;stroke-width:0.87455451px"
+           y="118.59985"
+           x="-798.89221"
+           id="tspan25445"
+           sodipodi:role="line">Spawns</tspan></text>
+      <g
+         id="g25443-6"
+         transform="matrix(-1,0,0,1,-1402.6745,-24.255404)">
+        <path
+           style="fill:none;fill-rule:evenodd;stroke:#70b5ff;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m -787.86108,86.405846 c 0,0 -26.88436,39.579754 -0.74681,99.322774"
+           id="path25437-1"
+           inkscape:connector-curvature="0" />
+        <path
+           sodipodi:type="star"
+           style="opacity:1;fill:#70b5ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699992, 3.51899997;stroke-dashoffset:0;stroke-opacity:1"
+           id="path25439-9"
+           sodipodi:sides="3"
+           sodipodi:cx="-790.01929"
+           sodipodi:cy="181.19315"
+           sodipodi:r1="8.3909836"
+           sodipodi:r2="4.1954923"
+           sodipodi:arg1="1.2068174"
+           sodipodi:arg2="2.2540149"
+           inkscape:flatsided="true"
+           inkscape:rounded="0"
+           inkscape:randomized="0"
+           d="m -787.03214,189.03442 -11.27146,-9.17496 13.58148,-5.1739 z"
+           inkscape:transform-center-x="1.2727956"
+           inkscape:transform-center-y="0.89659761"
+           transform="rotate(3.1940269,-794.9733,171.9393)" />
+      </g>
+      <text
+         id="text25447-4"
+         y="117.22427"
+         x="-685.75244"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172318px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#1e8bff;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="fill:#1e8bff;fill-opacity:1;stroke-width:0.87455451px"
+           y="117.22427"
+           x="-685.75244"
+           id="tspan25445-5"
+           sodipodi:role="line">Connects</tspan></text>
+      <text
+         id="text25447-4-5"
+         y="131.01886"
+         x="-681.49292"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13.612463px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#1e8bff;fill-opacity:1;stroke:none;stroke-width:0.63082951px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="fill:#1e8bff;fill-opacity:1;stroke-width:0.63082951px"
+           y="131.01886"
+           x="-681.49292"
+           id="tspan25445-5-5"
+           sodipodi:role="line">(URL token)</tspan></text>
+      <g
+         transform="translate(-29.166297,319.01763)"
+         id="use25526">
+        <path
+           sodipodi:nodetypes="cc"
+           inkscape:connector-curvature="0"
+           id="path25528"
+           d="m -778.44174,105.76782 c 0,0 -42.56944,28.68199 -42.56944,79.9608"
+           style="fill:none;fill-rule:evenodd;stroke:#70b5ff;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+        <path
+           transform="rotate(20.457602,-808.6599,97.24106)"
+           inkscape:transform-center-y="2.0725342"
+           inkscape:transform-center-x="0.029048001"
+           d="m -787.03214,189.03442 -11.27146,-9.17496 13.58148,-5.1739 z"
+           inkscape:randomized="0"
+           inkscape:rounded="0"
+           inkscape:flatsided="true"
+           sodipodi:arg2="2.2540149"
+           sodipodi:arg1="1.2068174"
+           sodipodi:r2="4.1954923"
+           sodipodi:r1="8.3909836"
+           sodipodi:cy="181.19315"
+           sodipodi:cx="-790.01929"
+           sodipodi:sides="3"
+           id="path25530"
+           style="opacity:1;fill:#70b5ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699992, 3.51899997;stroke-dashoffset:0;stroke-opacity:1"
+           sodipodi:type="star" />
+      </g>
+      <g
+         transform="translate(140.9437,319.48318)"
+         id="use25526-1">
+        <path
+           sodipodi:nodetypes="cc"
+           inkscape:connector-curvature="0"
+           id="path25528-1"
+           d="m -880.48456,105.76782 c 0,0 71.44391,33.2573 91.87667,79.9608"
+           style="fill:none;fill-rule:evenodd;stroke:#70b5ff;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+        <path
+           transform="rotate(3.1940269,-794.9733,171.9393)"
+           inkscape:transform-center-y="0.89659761"
+           inkscape:transform-center-x="1.2727956"
+           d="m -787.03214,189.03442 -11.27146,-9.17496 13.58148,-5.1739 z"
+           inkscape:randomized="0"
+           inkscape:rounded="0"
+           inkscape:flatsided="true"
+           sodipodi:arg2="2.2540149"
+           sodipodi:arg1="1.2068174"
+           sodipodi:r2="4.1954923"
+           sodipodi:r1="8.3909836"
+           sodipodi:cy="181.19315"
+           sodipodi:cx="-790.01929"
+           sodipodi:sides="3"
+           id="path25530-9"
+           style="opacity:1;fill:#70b5ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699992, 3.51899997;stroke-dashoffset:0;stroke-opacity:1"
+           sodipodi:type="star" />
+      </g>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172318px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#1e8bff;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="-793.71106"
+         y="474.75635"
+         id="use25555"><tspan
+           sodipodi:role="line"
+           id="tspan25563"
+           x="-793.71106"
+           y="474.75635"
+           style="fill:#1e8bff;fill-opacity:1;stroke-width:0.87455451px">Connects</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13.612463px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#1e8bff;fill-opacity:1;stroke:none;stroke-width:0.63082951px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="-835.60211"
+         y="488.95782"
+         id="use25557"><tspan
+           sodipodi:role="line"
+           id="tspan25559"
+           x="-835.60211"
+           y="488.95782"
+           style="fill:#1e8bff;fill-opacity:1;stroke-width:0.63082951px">(Certificate from filesystem)</tspan></text>
+      <rect
+         style="opacity:0.93999999;fill:none;fill-opacity:0.42519687;fill-rule:evenodd;stroke:#2c2c2c;stroke-width:1.76388872;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.76388886, 1.76388886;stroke-dashoffset:0;stroke-opacity:1"
+         id="use25569-4"
+         width="455.36365"
+         height="520.17084"
+         x="-877.09155"
+         y="167.54695"
+         rx="20.651239"
+         ry="20.651239" />
+      <rect
+         style="opacity:0.93999999;fill:none;fill-opacity:0.42519687;fill-rule:evenodd;stroke:#2c2c2c;stroke-width:1.68874729;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.68874727, 1.68874727;stroke-dashoffset:0;stroke-opacity:1"
+         id="use25569-4-4"
+         width="194.46704"
+         height="149.26054"
+         x="-877.04962"
+         y="762.46106"
+         rx="7.7842526"
+         ry="8.1896257" />
+      <g
+         transform="translate(0,-20.551237)"
+         id="g1012">
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.18325233px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2974678px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="-852.93823"
+           y="-66.565994"
+           id="text25620"><tspan
+             sodipodi:role="line"
+             id="tspan25618"
+             x="-852.93823"
+             y="-66.565994"
+             style="stroke-width:0.2974678px">User Machine</tspan></text>
+        <g
+           id="g25704"
+           transform="translate(0,2.6458334)">
+          <rect
+             ry="2.4245193"
+             rx="2.4245193"
+             y="-84.172989"
+             x="-870.29382"
+             height="16.137194"
+             width="11.574775"
+             id="rect25624"
+             style="opacity:1;fill:#777777;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <circle
+             r="0.57718682"
+             cy="-81.67128"
+             cx="-867.74268"
+             id="path25626"
+             style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <rect
+             ry="0.45345691"
+             rx="0.45345691"
+             y="-82.185806"
+             x="-866.5448"
+             height="1.0290583"
+             width="5.8799009"
+             id="rect25660"
+             style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832123;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <rect
+             ry="0.45345691"
+             rx="0.45345691"
+             y="-70.987869"
+             x="-866.06396"
+             height="1.0290583"
+             width="5.8799009"
+             id="rect25660-2"
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832135;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <rect
+             ry="0.45345691"
+             rx="0.45345694"
+             y="-72.42366"
+             x="-864.39294"
+             height="1.0290583"
+             width="4.2088699"
+             id="rect25660-2-1"
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <rect
+             ry="0.45345691"
+             rx="0.45345691"
+             y="-73.859497"
+             x="-862.58716"
+             height="1.0290583"
+             width="2.4030781"
+             id="rect25660-2-3"
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        </g>
+      </g>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.18325233px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2974678px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="-852.93823"
+         y="158.09848"
+         id="use25706"><tspan
+           sodipodi:role="line"
+           id="tspan25724"
+           x="-852.93823"
+           y="158.09848"
+           style="stroke-width:0.2974678px">Cylc Servers</tspan></text>
+      <g
+         id="use25708"
+         transform="translate(0,227.31029)">
+        <rect
+           ry="2.4245193"
+           rx="2.4245193"
+           y="-84.172989"
+           x="-870.29382"
+           height="16.137194"
+           width="11.574775"
+           id="rect25710"
+           style="opacity:1;fill:#777777;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <circle
+           r="0.57718682"
+           cy="-81.67128"
+           cx="-867.74268"
+           id="circle25712"
+           style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <rect
+           ry="0.45345691"
+           rx="0.45345691"
+           y="-82.185806"
+           x="-866.5448"
+           height="1.0290583"
+           width="5.8799009"
+           id="rect25714"
+           style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832123;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <rect
+           ry="0.45345691"
+           rx="0.45345691"
+           y="-70.987869"
+           x="-866.06396"
+           height="1.0290583"
+           width="5.8799009"
+           id="rect25716"
+           style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832135;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <rect
+           ry="0.45345691"
+           rx="0.45345694"
+           y="-72.42366"
+           x="-864.39294"
+           height="1.0290583"
+           width="4.2088699"
+           id="rect25718"
+           style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        <rect
+           ry="0.45345691"
+           rx="0.45345691"
+           y="-73.859497"
+           x="-862.58716"
+           height="1.0290583"
+           width="2.4030781"
+           id="rect25720"
+           style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      </g>
+      <g
+         transform="translate(-4.1903481,821.42046)"
+         id="use1014">
+        <text
+           id="text1018"
+           y="-66.565994"
+           x="-852.93823"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.18325233px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2974678px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           xml:space="preserve"><tspan
+             style="stroke-width:0.2974678px"
+             y="-66.565994"
+             x="-852.93823"
+             id="tspan1016"
+             sodipodi:role="line">Job Platform 1</tspan></text>
+        <g
+           transform="translate(0,2.6458334)"
+           id="g1032">
+          <rect
+             style="opacity:1;fill:#777777;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1020"
+             width="11.574775"
+             height="16.137194"
+             x="-870.29382"
+             y="-84.172989"
+             rx="2.4245193"
+             ry="2.4245193" />
+          <circle
+             style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="circle1022"
+             cx="-867.74268"
+             cy="-81.67128"
+             r="0.57718682" />
+          <rect
+             style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832123;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1024"
+             width="5.8799009"
+             height="1.0290583"
+             x="-866.5448"
+             y="-82.185806"
+             rx="0.45345691"
+             ry="0.45345691" />
+          <rect
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832135;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1026"
+             width="5.8799009"
+             height="1.0290583"
+             x="-866.06396"
+             y="-70.987869"
+             rx="0.45345691"
+             ry="0.45345691" />
+          <rect
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1028"
+             width="4.2088699"
+             height="1.0290583"
+             x="-864.39294"
+             y="-72.42366"
+             rx="0.45345694"
+             ry="0.45345691" />
+          <rect
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+             id="rect1030"
+             width="2.4030781"
+             height="1.0290583"
+             x="-862.58716"
+             y="-73.859497"
+             rx="0.45345691"
+             ry="0.45345691" />
+        </g>
+      </g>
+      <rect
+         ry="8.1896257"
+         rx="7.7842526"
+         y="762.46106"
+         x="-654.13165"
+         height="149.26054"
+         width="194.46704"
+         id="use1036"
+         style="opacity:0.93999999;fill:none;fill-opacity:0.42519687;fill-rule:evenodd;stroke:#2c2c2c;stroke-width:1.68874729;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.68874727, 1.68874727;stroke-dashoffset:0;stroke-opacity:1" />
+      <g
+         id="use1038"
+         transform="translate(218.72759,821.42046)">
+        <text
+           xml:space="preserve"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.18325233px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2974678px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           x="-852.93823"
+           y="-66.565994"
+           id="text1042"><tspan
+             sodipodi:role="line"
+             id="tspan1040"
+             x="-852.93823"
+             y="-66.565994"
+             style="stroke-width:0.2974678px">Job Platform 2</tspan></text>
+        <g
+           id="g1056"
+           transform="translate(0,2.6458334)">
+          <rect
+             ry="2.4245193"
+             rx="2.4245193"
+             y="-84.172989"
+             x="-870.29382"
+             height="16.137194"
+             width="11.574775"
+             id="rect1044"
+             style="opacity:1;fill:#777777;fill-opacity:1;fill-rule:evenodd;stroke:#4b4b4b;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <circle
+             r="0.57718682"
+             cy="-81.67128"
+             cx="-867.74268"
+             id="circle1046"
+             style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.0095011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <rect
+             ry="0.45345691"
+             rx="0.45345691"
+             y="-82.185806"
+             x="-866.5448"
+             height="1.0290583"
+             width="5.8799009"
+             id="rect1048"
+             style="opacity:1;fill:#a6a6a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832123;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <rect
+             ry="0.45345691"
+             rx="0.45345691"
+             y="-70.987869"
+             x="-866.06396"
+             height="1.0290583"
+             width="5.8799009"
+             id="rect1050"
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832135;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <rect
+             ry="0.45345691"
+             rx="0.45345694"
+             y="-72.42366"
+             x="-864.39294"
+             height="1.0290583"
+             width="4.2088699"
+             id="rect1052"
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <rect
+             ry="0.45345691"
+             rx="0.45345691"
+             y="-73.859497"
+             x="-862.58716"
+             height="1.0290583"
+             width="2.4030781"
+             id="rect1054"
+             style="opacity:1;fill:#6a6a6a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06832147;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        </g>
+      </g>
+      <g
+         id="g25443-6-8"
+         transform="matrix(-1,0,0,1,-1531.7336,-24.255404)">
+        <path
+           style="fill:none;fill-rule:evenodd;stroke:#70b5ff;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m -787.86108,86.405846 c 0,0 -26.88436,39.579754 -0.74681,99.322774"
+           id="path25437-1-0"
+           inkscape:connector-curvature="0" />
+        <path
+           sodipodi:type="star"
+           style="opacity:1;fill:#70b5ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699992, 3.51899997;stroke-dashoffset:0;stroke-opacity:1"
+           id="path25439-9-4"
+           sodipodi:sides="3"
+           sodipodi:cx="-790.01929"
+           sodipodi:cy="181.19315"
+           sodipodi:r1="8.3909836"
+           sodipodi:r2="4.1954923"
+           sodipodi:arg1="1.2068174"
+           sodipodi:arg2="2.2540149"
+           inkscape:flatsided="true"
+           inkscape:rounded="0"
+           inkscape:randomized="0"
+           d="m -787.03214,189.03442 -11.27146,-9.17496 13.58148,-5.1739 z"
+           inkscape:transform-center-x="1.2727956"
+           inkscape:transform-center-y="0.89659761"
+           transform="rotate(3.1940269,-794.9733,171.9393)" />
+      </g>
+      <text
+         id="use1091"
+         y="714.70258"
+         x="-796.49396"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172318px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#1e8bff;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="fill:#1e8bff;fill-opacity:1;stroke-width:0.87455451px"
+           y="714.70258"
+           x="-796.49396"
+           id="tspan1093"
+           sodipodi:role="line">Submits</tspan></text>
+      <text
+         id="use1091-0"
+         y="715.40485"
+         x="-717.40607"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:18.87172508px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#edbe00;fill-opacity:1;stroke:none;stroke-width:0.87455451px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         xml:space="preserve"><tspan
+           style="fill:#edbe00;fill-opacity:1;stroke-width:0.87455451px"
+           y="715.40485"
+           x="-717.40607"
+           id="tspan1093-3"
+           sodipodi:role="line">Updates</tspan></text>
+      <g
+         transform="translate(1.5875,-21.080403)"
+         id="g1235">
+        <path
+           style="fill:none;fill-rule:evenodd;stroke:#70b5ff;stroke-width:2.7650001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+           d="m -743.28018,674.17855 c 0,0 41.35149,75.94809 -2.88194,157.97232"
+           id="path1085"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cc" />
+        <g
+           id="g1224">
+          <path
+             sodipodi:nodetypes="cc"
+             inkscape:connector-curvature="0"
+             id="path1085-3"
+             d="m -740.63433,674.17855 c 0,0 41.35149,75.94809 -2.88194,157.97232"
+             style="fill:none;fill-rule:evenodd;stroke:#ffcc00;stroke-width:2.76500034;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+          <g
+             transform="rotate(-4.8712683,-827.69718,1198.4758)"
+             id="g1201">
+            <path
+               style="opacity:1;fill:#ffcc00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699981, 3.51899993;stroke-dashoffset:0;stroke-opacity:1"
+               inkscape:transform-center-x="0.11280333"
+               inkscape:transform-center-y="2.5922389"
+               d="m -718.84172,847.91339 c 4.0455,-6.63264 4.06813,-6.6576 6.64424,-10.69744 4.5222,3.05615 4.73707,3.15632 6.38222,4.25249 z"
+               id="path1087-0"
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="cccc" />
+            <path
+               style="opacity:1;fill:#70b5ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699993, 3.51899997;stroke-dashoffset:0;stroke-opacity:1"
+               inkscape:transform-center-x="0.11280333"
+               inkscape:transform-center-y="2.5922389"
+               d="m -718.84172,847.91339 0.93174,-14.50371 5.7125,3.80627 c -5.30546,8.4679 -0.56868,0.86042 -6.64424,10.69744 z"
+               id="path1087-0-8"
+               inkscape:connector-curvature="0"
+               sodipodi:nodetypes="cccc" />
+          </g>
+          <g
+             id="g1215">
+            <path
+               sodipodi:nodetypes="cccc"
+               inkscape:connector-curvature="0"
+               id="path1205"
+               d="m -746.72318,663.70559 c 3.20542,7.07695 3.21331,7.1097 5.10262,11.51279 -5.07137,2.01783 -5.2751,2.13906 -7.1071,2.88193 z"
+               inkscape:transform-center-y="2.5922389"
+               inkscape:transform-center-x="0.11280333"
+               style="opacity:1;fill:#70b5ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699981, 3.51899993;stroke-dashoffset:0;stroke-opacity:1" />
+            <path
+               sodipodi:nodetypes="cccc"
+               inkscape:connector-curvature="0"
+               id="path1207"
+               d="m -746.72318,663.70559 11.46395,8.93329 -6.36133,2.5795 c -4.01325,-9.15134 -0.39113,-0.95432 -5.10262,-11.51279 z"
+               inkscape:transform-center-y="2.5922389"
+               inkscape:transform-center-x="0.11280333"
+               style="opacity:1;fill:#ffcc00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.51900005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:10.55699993, 3.51899997;stroke-dashoffset:0;stroke-opacity:1" />
+          </g>
+        </g>
+      </g>
+    </g>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:5.70935535px;line-height:1.25;font-family:Lato;-inkscape-font-specification:'Lato, Light';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="216.32138"
+       y="799.26349"
+       id="text4477"><tspan
+         sodipodi:role="line"
+         id="tspan4475"
+         x="216.32138"
+         y="799.26349"
+         style="stroke-width:0.26458332px">z</tspan></text>
+  </g>
+</svg>
diff --git a/nightly_8.3/html/_images/hub.png b/nightly_8.3/html/_images/hub.png
new file mode 100644
index 00000000000..49f9511d47a
Binary files /dev/null and b/nightly_8.3/html/_images/hub.png differ
diff --git a/nightly_8.3/html/_images/initial-start-stop-final-cp.svg b/nightly_8.3/html/_images/initial-start-stop-final-cp.svg
new file mode 100644
index 00000000000..b89348a5220
--- /dev/null
+++ b/nightly_8.3/html/_images/initial-start-stop-final-cp.svg
@@ -0,0 +1,421 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   sodipodi:docname="icp-scp-fcp.svg"
+   inkscape:version="1.0 (4035a4f, 2020-05-01)"
+   id="svg8"
+   version="1.1"
+   viewBox="0 0 145.02065 87.01239"
+   height="87.01239mm"
+   width="145.02065mm">
+  <defs
+     id="defs2" />
+  <sodipodi:namedview
+     fit-margin-bottom="0"
+     fit-margin-right="0"
+     fit-margin-left="0"
+     fit-margin-top="0"
+     inkscape:window-maximized="0"
+     inkscape:window-y="0"
+     inkscape:window-x="0"
+     inkscape:window-height="1120"
+     inkscape:window-width="1792"
+     showgrid="false"
+     inkscape:document-rotation="0"
+     inkscape:current-layer="layer1"
+     inkscape:document-units="mm"
+     inkscape:cy="174.55531"
+     inkscape:cx="117.10938"
+     inkscape:zoom="1.325222"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base" />
+  <metadata
+     id="metadata5">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(0.28716961)"
+     id="layer1"
+     inkscape:groupmode="layer"
+     inkscape:label="Layer 1">
+    <rect
+       y="0"
+       x="-0.28716961"
+       height="87.01239"
+       width="145.02065"
+       id="rect1583"
+       style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;" />
+    <g
+       id="g1326-6-6-4-7"
+       transform="translate(38.799868,-91.857535)">
+      <path
+         style="fill:none;stroke:#ececec;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         d="m 36.364685,104.77026 v 66.89737"
+         id="path1304-0-2-5-1" />
+      <rect
+         y="138.02646"
+         x="31.410593"
+         height="7.7638903"
+         width="9.2595644"
+         id="rect1306-3-2-1-4-1"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.949193;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+      <rect
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.85114;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+         id="rect1306-6-9-7-0"
+         width="9.2595644"
+         height="29.529055"
+         x="31.722586"
+         y="100.95392" />
+    </g>
+    <g
+       id="g1326-6-6"
+       transform="translate(59.227188,-91.537609)">
+      <path
+         style="fill:none;stroke:#ececec;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;"
+         d="m 36.364683,104.77026 v 67.592"
+         id="path1304-0-2" />
+      <rect
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.980116;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;"
+         id="rect1306-6-9"
+         width="9.2595644"
+         height="8.2780066"
+         x="31.722586"
+         y="122.20496" />
+    </g>
+    <g
+       transform="translate(79.135449,-92.007684)"
+       id="g1326-6-6-4">
+      <path
+         id="path1304-0-2-5"
+         d="m 36.364684,104.77026 v 67.12891"
+         style="fill:none;stroke:#ececec;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;" />
+      <rect
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.949193;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;"
+         id="rect1306-3-2-1-4"
+         width="9.2595644"
+         height="7.7638903"
+         x="31.950865"
+         y="138.02646" />
+      <rect
+         y="122.20496"
+         x="31.722586"
+         height="8.2780066"
+         width="9.2595644"
+         id="rect1306-6-9-7"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.980116;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;" />
+    </g>
+    <g
+       transform="translate(17.78917,-91.776189)"
+       id="g1326-6">
+      <path
+         id="path1304-0"
+         d="m 36.364685,104.77026 v 69.05846"
+         style="fill:none;stroke:#ececec;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;" />
+      <rect
+         y="122.20496"
+         x="31.722586"
+         height="8.2780066"
+         width="9.2595644"
+         id="rect1306-6"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.980116;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;" />
+    </g>
+    <g
+       transform="translate(-3.1588656,-91.894272)"
+       id="g1326">
+      <path
+         style="fill:none;stroke:#ececec;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;"
+         d="m 36.364686,104.77026 v 69.21283"
+         id="path1304" />
+      <rect
+         y="138.0703"
+         x="31.642138"
+         height="7.7638903"
+         width="9.2595644"
+         id="rect1306-3"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.949193;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;" />
+      <rect
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.980116;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;"
+         id="rect1306"
+         width="9.2595644"
+         height="8.2780066"
+         x="31.722586"
+         y="122.20496" />
+      <rect
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.949193;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;"
+         id="rect1306-3-2"
+         width="9.2595644"
+         height="7.7638903"
+         x="31.568474"
+         y="151.33061" />
+      <rect
+         y="137.82381"
+         x="52.947826"
+         height="7.7638903"
+         width="9.2595644"
+         id="rect1306-3-2-1"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.949193;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;" />
+      <rect
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.949193;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;"
+         id="rect1306-3-2-1-3"
+         width="9.2595644"
+         height="7.7638903"
+         x="72.70636"
+         y="151.33061" />
+      <rect
+         y="137.36072"
+         x="94.240082"
+         height="7.7638903"
+         width="9.2595644"
+         id="rect1306-3-2-1-3-7"
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.949193;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;" />
+      <rect
+         style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.949193;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;"
+         id="rect1306-3-2-1-3-7-2"
+         width="9.2595644"
+         height="7.7638903"
+         x="114.46171"
+         y="151.02188" />
+    </g>
+    <text
+       id="text995"
+       y="10.179717"
+       x="26.103868"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.97716012px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#df8228;fill-opacity:1;stroke-width:0.264583;"
+       xml:space="preserve"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.97716012px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#df8228;fill-opacity:1;stroke-width:0.264583;"
+         y="10.179717"
+         x="26.103868"
+         id="tspan993"
+         sodipodi:role="line">initial</tspan></text>
+    <text
+       id="text999"
+       y="10.179717"
+       x="109.01593"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.97716012px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#df8228;fill-opacity:1;stroke-width:0.264583;"
+       xml:space="preserve"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.97716012px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#df8228;fill-opacity:1;stroke-width:0.264583;"
+         y="10.179717"
+         x="109.01593"
+         id="tspan997"
+         sodipodi:role="line">final</tspan></text>
+    <text
+       id="text1003"
+       y="10.361381"
+       x="47.084221"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.97716012px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#286fdf;fill-opacity:1;stroke-width:0.264583;"
+       xml:space="preserve"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.97716012px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#286fdf;fill-opacity:1;stroke-width:0.264583;"
+         y="10.361381"
+         x="47.084221"
+         id="tspan1001"
+         sodipodi:role="line">start</tspan></text>
+    <text
+       id="text1007"
+       y="9.7686834"
+       x="89.158707"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.97716012px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#286fdf;fill-opacity:1;stroke-width:0.264583;"
+       xml:space="preserve"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:6.97716012px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#286fdf;fill-opacity:1;stroke-width:0.264583;"
+         y="9.7686834"
+         x="89.158707"
+         id="tspan1005"
+         sodipodi:role="line">stop</tspan></text>
+    <circle
+       style="fill:#454545;fill-opacity:0.4;stroke-width:0.880695;"
+       id="path12-92"
+       cx="33.205818"
+       cy="50.057968"
+       r="3.1939092" />
+    <circle
+       style="fill:#454545;fill-opacity:1;stroke-width:0.880695;"
+       id="path12-9-7-0"
+       cx="75.004753"
+       cy="50.057968"
+       r="3.1939092" />
+    <text
+       xml:space="preserve"
+       style="font-weight:normal;font-size:6.97716012px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:center;text-anchor:middle;fill:#df8228;fill-opacity:1;stroke-width:0.209195;font-style:normal;font-stretch:normal;font-variant:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;"
+       x="33.120377"
+       y="37.459"
+       id="text79-3"><tspan
+         sodipodi:role="line"
+         id="tspan77-6"
+         x="33.120377"
+         y="37.459"
+         style="text-align:center;text-anchor:middle;fill:#df8228;fill-opacity:1;stroke-width:0.209195;-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:6.97716012px;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;">1</tspan></text>
+    <text
+       id="text79-8-8"
+       y="37.500824"
+       x="54.161602"
+       style="font-weight:normal;font-size:6.97716012px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:center;text-anchor:middle;fill:#286fdf;fill-opacity:1;stroke-width:0.209195;font-style:normal;font-stretch:normal;font-variant:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;"
+       xml:space="preserve"><tspan
+         style="text-align:center;text-anchor:middle;fill:#286fdf;fill-opacity:1;stroke-width:0.209195;-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:6.97716012px;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;"
+         y="37.500824"
+         x="54.161602"
+         id="tspan77-7-2"
+         sodipodi:role="line">2</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-weight:normal;font-size:6.97716012px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:center;text-anchor:middle;fill:#286fdf;fill-opacity:1;stroke-width:0.209195;font-style:normal;font-stretch:normal;font-variant:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;"
+       x="74.643784"
+       y="37.433884"
+       id="text79-8-1-7"><tspan
+         sodipodi:role="line"
+         id="tspan77-7-3-4"
+         x="74.643784"
+         y="37.433884"
+         style="text-align:center;text-anchor:middle;fill:#286fdf;fill-opacity:1;stroke-width:0.209195;-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:6.97716012px;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;">3</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-weight:normal;font-size:6.97716012px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:center;text-anchor:middle;fill:#286fdf;fill-opacity:1;stroke-width:0.209195;font-style:normal;font-stretch:normal;font-variant:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;"
+       x="95.113403"
+       y="37.433884"
+       id="text79-8-9-3"><tspan
+         sodipodi:role="line"
+         id="tspan77-7-7-9"
+         x="95.113403"
+         y="37.433884"
+         style="text-align:center;text-anchor:middle;fill:#286fdf;fill-opacity:1;stroke-width:0.209195;-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:6.97716012px;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;">4</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-weight:normal;font-size:6.97716012px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:center;text-anchor:middle;fill:#df8228;fill-opacity:1;stroke-width:0.209195;font-style:normal;font-stretch:normal;font-variant:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;"
+       x="115.57259"
+       y="37.500824"
+       id="text79-8-19-4"><tspan
+         sodipodi:role="line"
+         id="tspan77-7-71-0"
+         x="115.57259"
+         y="37.500824"
+         style="text-align:center;text-anchor:middle;fill:#df8228;fill-opacity:1;stroke-width:0.209195;-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:6.97716012px;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;">5</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-weight:normal;font-size:6.97716012px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:center;text-anchor:middle;fill:#454545;fill-opacity:0.4;stroke-width:0.209195;font-style:normal;font-stretch:normal;font-variant:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;"
+       x="135.95634"
+       y="37.459"
+       id="text79-8-5-6"><tspan
+         sodipodi:role="line"
+         id="tspan77-7-9-7"
+         x="135.95634"
+         y="37.459"
+         style="text-align:center;text-anchor:middle;fill:#454545;fill-opacity:0.4;stroke-width:0.209195;-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:6.97716012px;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;">6</tspan></text>
+    <circle
+       r="3.1939092"
+       cy="49.95636"
+       cx="115.39671"
+       id="path12-9-7-0-3"
+       style="fill:#454545;fill-opacity:0.4;stroke-width:0.880695;" />
+    <text
+       id="text79-3-9"
+       y="37.459"
+       x="13.101022"
+       style="font-weight:normal;font-size:6.97716012px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';text-align:center;text-anchor:middle;fill:#454545;fill-opacity:0.4;stroke-width:0.209195;font-style:normal;font-stretch:normal;font-variant:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;"
+       xml:space="preserve"><tspan
+         style="text-align:center;text-anchor:middle;fill:#454545;fill-opacity:0.4;stroke-width:0.209195;-inkscape-font-specification:'Arial, Normal';font-family:Arial;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:6.97716012px;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;"
+         y="37.459"
+         x="13.101022"
+         id="tspan77-6-9"
+         sodipodi:role="line">0</tspan></text>
+    <text
+       id="text1238"
+       y="51.826851"
+       x="5.0792108"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93889px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.186619"
+       xml:space="preserve"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93889px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.186619"
+         y="51.826851"
+         x="5.0792108"
+         id="tspan1236"
+         sodipodi:role="line">P1=foo</tspan></text>
+    <path
+       sodipodi:nodetypes="czc"
+       id="path1240"
+       d="m 57.712987,31.487108 c 0,0 8.09292,-3.75797 17.309847,-3.6618 9.216927,0.0962 17.514441,3.90038 17.514441,3.90038"
+       style="fill:none;stroke:#286fdf;stroke-width:0.26458300000000001px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" />
+    <path
+       sodipodi:nodetypes="czc"
+       id="path1242"
+       d="m 36.873327,30.072818 c 0,0 12.656843,-10.11157 36.025853,-10.11157 23.36901,0 39.49547,11.7523 39.49547,11.7523"
+       style="fill:none;stroke:#df8228;stroke-width:0.26458300000000001px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" />
+    <text
+       id="text1246"
+       y="18.453714"
+       x="74.585953"
+       style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.92513px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Italic';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;fill:#df8228;fill-opacity:1;stroke-width:0.0649674"
+       xml:space="preserve"><tspan
+         style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.92513px;font-family:Arial;-inkscape-font-specification:'Arial, Italic';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;fill:#df8228;fill-opacity:1;stroke-width:0.0649674"
+         y="18.453714"
+         x="74.585953"
+         id="tspan1244"
+         sodipodi:role="line">tasks are scheduled in this range</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.92513px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Italic';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;fill:#286fdf;fill-opacity:1;stroke-width:0.0649674"
+       x="75.079132"
+       y="26.532423"
+       id="text1246-7"><tspan
+         sodipodi:role="line"
+         id="tspan1244-7"
+         x="75.079132"
+         y="26.532423"
+         style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.92513px;font-family:Arial;-inkscape-font-specification:'Arial, Italic';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;fill:#286fdf;fill-opacity:1;stroke-width:0.0649674">the scheduler is run in this range</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93889px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.186619"
+       x="4.8151445"
+       y="64.966156"
+       id="text1238-2"><tspan
+         sodipodi:role="line"
+         id="tspan1236-8"
+         x="4.8151445"
+         y="64.966156"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93889px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.186619">P2=bar</tspan></text>
+    <circle
+       style="fill:#454545;fill-opacity:1;stroke-width:0.880695;"
+       id="path12-9-7-0-0-0"
+       cx="95.487862"
+       cy="49.334381"
+       r="3.1939092" />
+    <circle
+       r="3.1939092"
+       cy="49.815338"
+       cx="54.140305"
+       id="path12-9-7-0-0-0-0"
+       style="fill:#454545;fill-opacity:1;stroke-width:0.880695;" />
+    <circle
+       r="3.1939092"
+       cy="63.220184"
+       cx="33.341923"
+       id="path12-92-8"
+       style="fill:#454545;fill-opacity:0.4;stroke-width:0.880695;" />
+    <circle
+       r="3.1939092"
+       cy="63.220184"
+       cx="75.140862"
+       id="path12-9-7-0-4"
+       style="fill:#454545;fill-opacity:1;stroke-width:0.880695;" />
+    <circle
+       style="fill:#454545;fill-opacity:0.4;stroke-width:0.880695;"
+       id="path12-9-7-0-3-4"
+       cx="115.53281"
+       cy="63.118576"
+       r="3.1939092" />
+  </g>
+</svg>
diff --git a/nightly_8.3/html/_images/iso8601-dates.svg b/nightly_8.3/html/_images/iso8601-dates.svg
new file mode 100644
index 00000000000..83b561be6aa
--- /dev/null
+++ b/nightly_8.3/html/_images/iso8601-dates.svg
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="1209.17"
+   height="301.79999"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="iso8601-dates.svg">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective10" />
+    <inkscape:perspective
+       id="perspective3630"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="0.49497475"
+     inkscape:cx="719.50093"
+     inkscape:cy="279.57735"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1241"
+     inkscape:window-height="1105"
+     inkscape:window-x="665"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-125.11608,-81.191059)">
+    <g
+       id="g3741"
+       transform="matrix(2.653345,0,0,2.653345,-178.28661,-174.33873)">
+      <text
+         id="text2816"
+         y="166.45996"
+         x="113.42857"
+         style="font-size:40px;font-style:normal;font-weight:normal;fill:#505dce;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:Times New Roman"
+         xml:space="preserve"><tspan
+           y="166.45996"
+           x="113.42857"
+           id="tspan2818"
+           sodipodi:role="line">1985-04-12 </tspan></text>
+      <text
+         id="text2820"
+         y="166.45996"
+         x="343.29651"
+         style="font-size:40px;font-style:normal;font-weight:normal;fill:#ce5055;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:Times New Roman"
+         xml:space="preserve"><tspan
+           y="166.45996"
+           x="343.29651"
+           id="tspan2822"
+           sodipodi:role="line">23:20:30Z</tspan></text>
+      <text
+         id="text2824"
+         y="167.00684"
+         x="309.71429"
+         style="font-size:40px;font-style:normal;font-weight:normal;fill:#414141;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:Times New Roman"
+         xml:space="preserve"><tspan
+           y="167.00684"
+           x="309.71429"
+           id="tspan2826"
+           sodipodi:role="line">T</tspan></text>
+      <text
+         id="text3600"
+         y="111.29256"
+         x="136.27867"
+         style="font-size:40px;font-style:normal;font-weight:normal;opacity:0.7;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+         xml:space="preserve"><tspan
+           style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#505dce;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial"
+           y="111.29256"
+           x="136.27867"
+           id="tspan3602"
+           sodipodi:role="line">Date Components</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-size:40px;font-style:normal;font-weight:normal;opacity:0.7;fill:#ce5055;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+         x="353.29016"
+         y="111.29256"
+         id="use3604"><tspan
+           sodipodi:role="line"
+           id="tspan3608"
+           x="353.29016"
+           y="111.29256"
+           style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ce5055;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">Time Components</tspan></text>
+      <path
+         sodipodi:nodetypes="csscssc"
+         id="path3616"
+         d="m 120.26721,132.68737 c 0,0 1.35096,-5.77167 7.67188,-5.64202 17.35249,0.3559 50.98641,0.0706 72.20593,0.0706 4.1646,0 9.02574,-7.57143 9.02574,-7.57143 0,0 5.25208,7.57143 9.02574,7.57143 23.34124,0 56.37024,0.3036 72.20593,-0.14995 4.4142,-0.12643 7.67188,5.72138 7.67188,5.72138"
+         style="opacity:0.7;fill:none;stroke:#505dce;stroke-width:0.67838895;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         style="opacity:0.7;fill:none;stroke:#ce5055;stroke-width:0.67838895;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 347.59995,132.68737 c 0,0 1.19747,-5.77167 6.80018,-5.64202 15.38084,0.3559 45.19316,0.0706 64.00165,0.0706 3.6914,0 8.0002,-7.57143 8.0002,-7.57143 0,0 4.65532,7.57143 8.00021,7.57143 20.68912,0 49.96526,0.3036 64.00164,-0.14995 3.91265,-0.12643 6.80017,5.72138 6.80017,5.72138"
+         id="use3618"
+         sodipodi:nodetypes="csscssc" />
+      <path
+         sodipodi:nodetypes="csscssc"
+         id="path3616-4"
+         d="m 119.01607,174.55195 c 0,0 0.54892,5.77167 3.11722,5.64202 7.05062,-0.3559 20.71668,-0.0706 29.33854,-0.0706 1.69215,0 3.66732,7.57143 3.66732,7.57143 0,0 2.13401,-7.57143 3.66732,-7.57143 9.48395,0 22.90422,-0.3036 29.33854,0.14995 1.79357,0.12643 3.11722,-5.72138 3.11722,-5.72138"
+         style="opacity:0.7;fill:none;stroke:#505dce;stroke-width:0.67838895;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         style="opacity:0.7;fill:none;stroke:#505dce;stroke-width:0.67838895;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 207.40442,174.55195 c 0,0 0.29564,5.77167 1.67891,5.64202 3.7974,-0.3559 11.15781,-0.0706 15.80147,-0.0706 0.91137,0 1.97518,7.57143 1.97518,7.57143 0,0 1.14936,-7.57143 1.97519,-7.57143 5.10797,0 12.336,-0.3036 15.80147,0.14995 0.966,0.12643 1.67891,-5.72138 1.67891,-5.72138"
+         id="use3644"
+         sodipodi:nodetypes="csscssc" />
+      <path
+         sodipodi:nodetypes="csscssc"
+         id="use3648"
+         d="m 263.97296,174.55195 c 0,0 0.29564,5.77167 1.67891,5.64202 3.7974,-0.3559 11.15781,-0.0706 15.80147,-0.0706 0.91137,0 1.97518,7.57143 1.97518,7.57143 0,0 1.14936,-7.57143 1.97519,-7.57143 5.10797,0 12.336,-0.3036 15.80147,0.14995 0.966,0.12643 1.67891,-5.72138 1.67891,-5.72138"
+         style="opacity:0.7;fill:none;stroke:#505dce;stroke-width:0.67838895;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         style="opacity:0.7;fill:none;stroke:#ce5055;stroke-width:0.67838895;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 344.76486,174.55195 c 0,0 0.26878,5.77167 1.52636,5.64202 3.45236,-0.3559 10.14399,-0.0706 14.36572,-0.0706 0.82856,0 1.79571,7.57143 1.79571,7.57143 0,0 1.04493,-7.57143 1.79573,-7.57143 4.64385,0 11.21512,-0.3036 14.36572,0.14995 0.87822,0.12643 1.52636,-5.72138 1.52636,-5.72138"
+         id="use3652"
+         sodipodi:nodetypes="csscssc" />
+      <path
+         sodipodi:nodetypes="csscssc"
+         id="use3656"
+         d="m 396.30294,174.55195 c 0,0 0.26878,5.77167 1.52636,5.64202 3.45236,-0.3559 10.14399,-0.0706 14.36572,-0.0706 0.82856,0 1.79571,7.57143 1.79571,7.57143 0,0 1.04493,-7.57143 1.79573,-7.57143 4.64385,0 11.21512,-0.3036 14.36572,0.14995 0.87822,0.12643 1.52636,-5.72138 1.52636,-5.72138"
+         style="opacity:0.7;fill:none;stroke:#ce5055;stroke-width:0.67838895;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         style="opacity:0.7;fill:none;stroke:#ce5055;stroke-width:0.67838895;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         d="m 446.79026,174.55195 c 0,0 0.26878,5.77167 1.52636,5.64202 3.45236,-0.3559 10.14399,-0.0706 14.36572,-0.0706 0.82856,0 1.79571,7.57143 1.79571,7.57143 0,0 1.04493,-7.57143 1.79573,-7.57143 4.64385,0 11.21512,-0.3036 14.36572,0.14995 0.87822,0.12643 1.52636,-5.72138 1.52636,-5.72138"
+         id="use3660"
+         sodipodi:nodetypes="csscssc" />
+      <path
+         sodipodi:nodetypes="csscssc"
+         id="use3664"
+         d="m 490.69129,174.55195 c 0,0 0.15338,5.77167 0.87103,5.64202 1.97012,-0.3559 5.78876,-0.0706 8.19794,-0.0706 0.47282,0 1.02473,7.57143 1.02473,7.57143 0,0 0.5963,-7.57143 1.02475,-7.57143 2.65006,0 6.40001,-0.3036 8.19794,0.14995 0.50116,0.12643 0.87103,-5.72138 0.87103,-5.72138"
+         style="opacity:0.7;fill:none;stroke:#ce5055;stroke-width:0.67838901;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <path
+         sodipodi:nodetypes="csscssc"
+         id="use3668"
+         d="m 308.70909,132.68737 c 0,0 0.20355,-5.77167 1.15589,-5.64202 2.61441,0.3559 7.68186,0.0706 10.8789,0.0706 0.62746,0 1.35986,-7.57143 1.35986,-7.57143 0,0 0.79131,7.57143 1.35987,7.57143 3.5167,0 8.49302,0.3036 10.8789,-0.14995 0.66507,-0.12643 1.15588,5.72138 1.15588,5.72138"
+         style="opacity:0.7;fill:none;stroke:#414141;stroke-width:0.67838895;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+      <text
+         id="use3672"
+         y="111.29256"
+         x="295.58963"
+         style="font-size:12px;font-style:normal;font-weight:normal;opacity:0.7;fill:#414141;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+         xml:space="preserve"><tspan
+           style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#414141;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial"
+           y="111.29256"
+           x="295.58963"
+           id="tspan3676"
+           sodipodi:role="line">Separator</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-size:15px;font-style:normal;font-weight:normal;opacity:0.7;fill:#505dce;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+         x="139.73248"
+         y="205.00684"
+         id="use3678"><tspan
+           sodipodi:role="line"
+           id="tspan3682"
+           x="139.73248"
+           y="205.00684"
+           style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#505dce;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">Year</tspan></text>
+      <text
+         id="use3684"
+         y="205.00684"
+         x="205.73248"
+         style="font-size:15px;font-style:normal;font-weight:normal;opacity:0.7;fill:#505dce;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+         xml:space="preserve"><tspan
+           style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#505dce;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial"
+           y="205.00684"
+           x="205.73248"
+           id="tspan3688"
+           sodipodi:role="line">Month</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-size:15px;font-style:normal;font-weight:normal;opacity:0.7;fill:#505dce;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+         x="269.73248"
+         y="205.00684"
+         id="use3690"><tspan
+           sodipodi:role="line"
+           id="tspan3694"
+           x="269.73248"
+           y="205.00684"
+           style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#505dce;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">Day</tspan></text>
+      <text
+         id="use3696"
+         y="205.00684"
+         x="345.73248"
+         style="font-size:15px;font-style:normal;font-weight:normal;opacity:0.7;fill:#ce5055;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+         xml:space="preserve"><tspan
+           style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ce5055;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial"
+           y="205.00684"
+           x="345.73248"
+           id="tspan3700"
+           sodipodi:role="line">Hour</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-size:15px;font-style:normal;font-weight:normal;opacity:0.7;fill:#ce5055;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+         x="391.73248"
+         y="205.00684"
+         id="use3702"><tspan
+           sodipodi:role="line"
+           id="tspan3706"
+           x="391.73248"
+           y="205.00684"
+           style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ce5055;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">Minute</tspan></text>
+      <text
+         id="use3708"
+         y="205.00684"
+         x="439.73248"
+         style="font-size:15px;font-style:normal;font-weight:normal;opacity:0.7;fill:#ce5055;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+         xml:space="preserve"><tspan
+           style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ce5055;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial"
+           y="205.00684"
+           x="439.73248"
+           id="tspan3712"
+           sodipodi:role="line">Second</tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-size:15px;font-style:normal;font-weight:normal;opacity:0.7;fill:#ce5055;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+         x="495.73248"
+         y="205.00684"
+         id="use3714"><tspan
+           sodipodi:role="line"
+           id="tspan3718"
+           x="495.73248"
+           y="205.00684"
+           style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ce5055;fill-opacity:1;font-family:Arial;-inkscape-font-specification:Arial">Time Zone</tspan></text>
+    </g>
+  </g>
+</svg>
diff --git a/nightly_8.3/html/_images/jinja2-ensemble-graph.png b/nightly_8.3/html/_images/jinja2-ensemble-graph.png
new file mode 100644
index 00000000000..55f8fe9a1e2
Binary files /dev/null and b/nightly_8.3/html/_images/jinja2-ensemble-graph.png differ
diff --git a/nightly_8.3/html/_images/jinja2-workflow-graph.png b/nightly_8.3/html/_images/jinja2-workflow-graph.png
new file mode 100644
index 00000000000..8772afbf272
Binary files /dev/null and b/nightly_8.3/html/_images/jinja2-workflow-graph.png differ
diff --git a/nightly_8.3/html/_images/job-failed.png b/nightly_8.3/html/_images/job-failed.png
new file mode 100644
index 00000000000..57b42de1a4d
Binary files /dev/null and b/nightly_8.3/html/_images/job-failed.png differ
diff --git a/nightly_8.3/html/_images/job-running.png b/nightly_8.3/html/_images/job-running.png
new file mode 100644
index 00000000000..32d08b54ace
Binary files /dev/null and b/nightly_8.3/html/_images/job-running.png differ
diff --git a/nightly_8.3/html/_images/job-submit-failed.png b/nightly_8.3/html/_images/job-submit-failed.png
new file mode 100644
index 00000000000..1be29f87753
Binary files /dev/null and b/nightly_8.3/html/_images/job-submit-failed.png differ
diff --git a/nightly_8.3/html/_images/job-submitted.png b/nightly_8.3/html/_images/job-submitted.png
new file mode 100644
index 00000000000..e16aef0b6b5
Binary files /dev/null and b/nightly_8.3/html/_images/job-submitted.png differ
diff --git a/nightly_8.3/html/_images/job-succeeded.png b/nightly_8.3/html/_images/job-succeeded.png
new file mode 100644
index 00000000000..657e5c48406
Binary files /dev/null and b/nightly_8.3/html/_images/job-succeeded.png differ
diff --git a/nightly_8.3/html/_images/log-view-screenshot.png b/nightly_8.3/html/_images/log-view-screenshot.png
new file mode 100644
index 00000000000..1e5dac9ed63
Binary files /dev/null and b/nightly_8.3/html/_images/log-view-screenshot.png differ
diff --git a/nightly_8.3/html/_images/n-window.png b/nightly_8.3/html/_images/n-window.png
new file mode 100644
index 00000000000..0a98ab44baa
Binary files /dev/null and b/nightly_8.3/html/_images/n-window.png differ
diff --git a/nightly_8.3/html/_images/new-flow-n.png b/nightly_8.3/html/_images/new-flow-n.png
new file mode 100644
index 00000000000..0f74647a325
Binary files /dev/null and b/nightly_8.3/html/_images/new-flow-n.png differ
diff --git a/nightly_8.3/html/_images/no-flow-n.png b/nightly_8.3/html/_images/no-flow-n.png
new file mode 100644
index 00000000000..efe0cb53eec
Binary files /dev/null and b/nightly_8.3/html/_images/no-flow-n.png differ
diff --git a/nightly_8.3/html/_images/param-1.png b/nightly_8.3/html/_images/param-1.png
new file mode 100644
index 00000000000..6f839b0bd28
Binary files /dev/null and b/nightly_8.3/html/_images/param-1.png differ
diff --git a/nightly_8.3/html/_images/param-2.png b/nightly_8.3/html/_images/param-2.png
new file mode 100644
index 00000000000..5c5245176f4
Binary files /dev/null and b/nightly_8.3/html/_images/param-2.png differ
diff --git a/nightly_8.3/html/_images/params1.png b/nightly_8.3/html/_images/params1.png
new file mode 100644
index 00000000000..8ec5cd73588
Binary files /dev/null and b/nightly_8.3/html/_images/params1.png differ
diff --git a/nightly_8.3/html/_images/recurrence-sections.svg b/nightly_8.3/html/_images/recurrence-sections.svg
new file mode 100644
index 00000000000..05d0223f231
--- /dev/null
+++ b/nightly_8.3/html/_images/recurrence-sections.svg
@@ -0,0 +1,416 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg158"
+   version="1.1"
+   viewBox="401 182 695.52212 183.69713"
+   height="9.2310114cm"
+   width="35.252491cm">
+  <metadata
+     id="metadata164">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs162" />
+  <g
+     transform="translate(-17.208629,-9.529445)"
+     id="g46">
+    <line
+       id="line2"
+       y2="351.33301"
+       x2="420"
+       y1="347"
+       x1="420"
+       style="fill:none;fill-opacity:0;stroke:#000000;stroke-width:1" />
+    <line
+       id="line4"
+       y2="351.33301"
+       x2="535.33301"
+       y1="347"
+       x1="535.33301"
+       style="fill:none;fill-opacity:0;stroke:#000000;stroke-width:1" />
+    <line
+       id="line6"
+       y2="351.33301"
+       x2="650.66699"
+       y1="347"
+       x1="650.66699"
+       style="fill:none;fill-opacity:0;stroke:#000000;stroke-width:1" />
+    <line
+       id="line8"
+       y2="351.33301"
+       x2="766"
+       y1="347"
+       x1="766"
+       style="fill:none;fill-opacity:0;stroke:#000000;stroke-width:1" />
+    <line
+       id="line10"
+       y2="351.33301"
+       x2="881.33301"
+       y1="347"
+       x1="881.33301"
+       style="fill:none;fill-opacity:0;stroke:#000000;stroke-width:1" />
+    <line
+       id="line12"
+       y2="351.33301"
+       x2="996.66699"
+       y1="347"
+       x1="996.66699"
+       style="fill:none;fill-opacity:0;stroke:#000000;stroke-width:1" />
+    <line
+       id="line14"
+       y2="351.33301"
+       x2="1112"
+       y1="347"
+       x1="1112"
+       style="fill:none;fill-opacity:0;stroke:#000000;stroke-width:1" />
+    <line
+       id="line16"
+       y2="360"
+       x2="420"
+       y1="347"
+       x1="420"
+       style="fill:none;fill-opacity:0;stroke:#000000;stroke-width:2" />
+    <text
+       id="text18"
+       y="375"
+       x="420"
+       style="font-style:normal;font-weight:normal;font-size:16px;font-family:sans-serif;text-anchor:middle;fill:#000000"
+       font-size="16">1</text>
+    <line
+       id="line20"
+       y2="360"
+       x2="535.33301"
+       y1="347"
+       x1="535.33301"
+       style="fill:none;fill-opacity:0;stroke:#000000;stroke-width:2" />
+    <text
+       id="text22"
+       y="375"
+       x="535.33301"
+       style="font-style:normal;font-weight:normal;font-size:16px;font-family:sans-serif;text-anchor:middle;fill:#000000"
+       font-size="16">2</text>
+    <line
+       id="line24"
+       y2="360"
+       x2="650.66699"
+       y1="347"
+       x1="650.66699"
+       style="fill:none;fill-opacity:0;stroke:#000000;stroke-width:2" />
+    <text
+       id="text26"
+       y="375"
+       x="650.66699"
+       style="font-style:normal;font-weight:normal;font-size:16px;font-family:sans-serif;text-anchor:middle;fill:#000000"
+       font-size="16">3</text>
+    <line
+       id="line28"
+       y2="360"
+       x2="766"
+       y1="347"
+       x1="766"
+       style="fill:none;fill-opacity:0;stroke:#000000;stroke-width:2" />
+    <text
+       id="text30"
+       y="375"
+       x="766"
+       style="font-style:normal;font-weight:normal;font-size:16px;font-family:sans-serif;text-anchor:middle;fill:#000000"
+       font-size="16">4</text>
+    <line
+       id="line32"
+       y2="360"
+       x2="881.33301"
+       y1="347"
+       x1="881.33301"
+       style="fill:none;fill-opacity:0;stroke:#000000;stroke-width:2" />
+    <text
+       id="text34"
+       y="375"
+       x="881.33301"
+       style="font-style:normal;font-weight:normal;font-size:16px;font-family:sans-serif;text-anchor:middle;fill:#000000"
+       font-size="16">5</text>
+    <line
+       id="line36"
+       y2="360"
+       x2="996.66699"
+       y1="347"
+       x1="996.66699"
+       style="fill:none;fill-opacity:0;stroke:#000000;stroke-width:2" />
+    <text
+       id="text38"
+       y="375"
+       x="996.66699"
+       style="font-style:normal;font-weight:normal;font-size:16px;font-family:sans-serif;text-anchor:middle;fill:#000000"
+       font-size="16">6</text>
+    <line
+       id="line40"
+       y2="360"
+       x2="1112"
+       y1="347"
+       x1="1112"
+       style="fill:none;fill-opacity:0;stroke:#000000;stroke-width:2" />
+    <text
+       id="text42"
+       y="375"
+       x="1112"
+       style="font-style:normal;font-weight:normal;font-size:16px;font-family:sans-serif;text-anchor:middle;fill:#000000"
+       font-size="16">7</text>
+    <line
+       id="line44"
+       y2="347"
+       x2="1112"
+       y1="347"
+       x1="420"
+       style="fill:none;fill-opacity:0;stroke:#000000;stroke-width:2" />
+  </g>
+  <g
+     transform="translate(-17.208629,-9.529445)"
+     id="g54">
+    <path
+       id="path48"
+       d="M 527.16,338.374 A 74.053,74.053 0 0 0 420,347"
+       style="fill:none;fill-opacity:0;stroke:#ffa500;stroke-width:4" />
+    <polygon
+       id="polygon50"
+       points="531.699,334.518 523.912,340.792 534.079,345.443 "
+       style="fill:#ffa500" />
+    <polygon
+       id="polygon52"
+       points="531.699,334.518 523.912,340.792 534.079,345.443 "
+       style="fill:none;fill-opacity:0;stroke:#ffa500;stroke-width:4" />
+  </g>
+  <g
+     transform="translate(-17.208629,-9.529445)"
+     id="g62">
+    <path
+       id="path56"
+       d="M 642.492,338.374 A 74.0509,74.0509 0 0 0 535.334,347"
+       style="fill:none;fill-opacity:0;stroke:#ffa500;stroke-width:4" />
+    <polygon
+       id="polygon58"
+       points="647.031,334.518 639.244,340.792 649.411,345.443 "
+       style="fill:#ffa500" />
+    <polygon
+       id="polygon60"
+       points="647.031,334.518 639.244,340.792 649.411,345.443 "
+       style="fill:none;fill-opacity:0;stroke:#ffa500;stroke-width:4" />
+  </g>
+  <g
+     transform="translate(-17.208629,-9.529445)"
+     id="g70">
+    <path
+       id="path64"
+       d="M 757.826,338.374 A 74.053,74.053 0 0 0 650.666,347"
+       style="fill:none;fill-opacity:0;stroke:#ffa500;stroke-width:4" />
+    <polygon
+       id="polygon66"
+       points="762.365,334.518 754.578,340.792 764.745,345.443 "
+       style="fill:#ffa500" />
+    <polygon
+       id="polygon68"
+       points="762.365,334.518 754.578,340.792 764.745,345.443 "
+       style="fill:none;fill-opacity:0;stroke:#ffa500;stroke-width:4" />
+  </g>
+  <g
+     transform="translate(-17.208629,-9.529445)"
+     id="g78">
+    <path
+       id="path72"
+       d="M 873.16,338.374 A 74.053,74.053 0 0 0 766,347"
+       style="fill:none;fill-opacity:0;stroke:#ffa500;stroke-width:4" />
+    <polygon
+       id="polygon74"
+       points="877.699,334.518 869.912,340.792 880.079,345.443 "
+       style="fill:#ffa500" />
+    <polygon
+       id="polygon76"
+       points="877.699,334.518 869.912,340.792 880.079,345.443 "
+       style="fill:none;fill-opacity:0;stroke:#ffa500;stroke-width:4" />
+  </g>
+  <g
+     transform="translate(-17.208629,-9.529445)"
+     id="g86">
+    <path
+       id="path80"
+       d="M 988.492,338.374 A 74.0509,74.0509 0 0 0 881.334,347"
+       style="fill:none;fill-opacity:0;stroke:#ffa500;stroke-width:4" />
+    <polygon
+       id="polygon82"
+       points="993.031,334.518 985.244,340.792 995.411,345.443 "
+       style="fill:#ffa500" />
+    <polygon
+       id="polygon84"
+       points="993.031,334.518 985.244,340.792 995.411,345.443 "
+       style="fill:none;fill-opacity:0;stroke:#ffa500;stroke-width:4" />
+  </g>
+  <g
+     transform="translate(-17.208629,-9.529445)"
+     id="g94">
+    <path
+       id="path88"
+       d="M 1103.83,338.374 A 74.053,74.053 0 0 0 996.666,347"
+       style="fill:none;fill-opacity:0;stroke:#ffa500;stroke-width:4" />
+    <polygon
+       id="polygon90"
+       points="1108.37,334.518 1100.58,340.792 1110.75,345.443 "
+       style="fill:#ffa500" />
+    <polygon
+       id="polygon92"
+       points="1108.37,334.518 1100.58,340.792 1110.75,345.443 "
+       style="fill:none;fill-opacity:0;stroke:#ffa500;stroke-width:4" />
+  </g>
+  <g
+     transform="translate(-17.208629,-9.529445)"
+     id="g102">
+    <path
+       id="path96"
+       d="M 645.175,336.375 A 126.876,126.876 0 0 0 420,347"
+       style="fill:none;fill-opacity:0;stroke:#dc0782;stroke-width:4" />
+    <polygon
+       id="polygon98"
+       points="650.21,334.008 641.12,338.176 649.832,345.182 "
+       style="fill:#dc0782" />
+    <polygon
+       id="polygon100"
+       points="650.21,334.008 641.12,338.176 649.832,345.182 "
+       style="fill:none;fill-opacity:0;stroke:#dc0782;stroke-width:4" />
+  </g>
+  <g
+     transform="translate(-17.208629,-9.529445)"
+     id="g110">
+    <path
+       id="path104"
+       d="M 875.843,336.375 A 126.878,126.878 0 0 0 650.666,347"
+       style="fill:none;fill-opacity:0;stroke:#dc0782;stroke-width:4" />
+    <polygon
+       id="polygon106"
+       points="880.878,334.008 871.788,338.176 880.5,345.182 "
+       style="fill:#dc0782" />
+    <polygon
+       id="polygon108"
+       points="880.878,334.008 871.788,338.176 880.5,345.182 "
+       style="fill:none;fill-opacity:0;stroke:#dc0782;stroke-width:4" />
+  </g>
+  <g
+     transform="translate(-17.208629,-9.529445)"
+     id="g118">
+    <path
+       id="path112"
+       d="M 1106.51,336.375 A 126.876,126.876 0 0 0 881.334,347"
+       style="fill:none;fill-opacity:0;stroke:#dc0782;stroke-width:4" />
+    <polygon
+       id="polygon114"
+       points="1111.54,334.008 1102.45,338.176 1111.17,345.182 "
+       style="fill:#dc0782" />
+    <polygon
+       id="polygon116"
+       points="1111.54,334.008 1102.45,338.176 1111.17,345.182 "
+       style="fill:none;fill-opacity:0;stroke:#dc0782;stroke-width:4" />
+  </g>
+  <g
+     transform="translate(-17.208629,-9.529445)"
+     id="g126">
+    <path
+       id="path120"
+       d="M 762.472,335.551 A 180.306,180.306 0 0 0 417,351"
+       style="fill:none;fill-opacity:0;stroke:#0000ff;stroke-width:4" />
+    <polygon
+       id="polygon122"
+       points="767.674,334.108 758.025,336.734 765.475,345.07 "
+       style="fill:#0000ff" />
+    <polygon
+       id="polygon124"
+       points="767.674,334.108 758.025,336.734 765.475,345.07 "
+       style="fill:none;fill-opacity:0;stroke:#0000ff;stroke-width:4" />
+  </g>
+  <g
+     transform="translate(-17.208629,-9.529445)"
+     id="g134">
+    <path
+       id="path128"
+       d="M 1108.7,335.485 A 178.36,178.36 0 0 0 766,347"
+       style="fill:none;fill-opacity:0;stroke:#0000ff;stroke-width:4" />
+    <polygon
+       id="polygon130"
+       points="1113.93,334.144 1104.23,336.577 1111.51,345.06 "
+       style="fill:#0000ff" />
+    <polygon
+       id="polygon132"
+       points="1113.93,334.144 1104.23,336.577 1111.51,345.06 "
+       style="fill:none;fill-opacity:0;stroke:#0000ff;stroke-width:4" />
+  </g>
+  <text
+     id="text138"
+     y="274.47055"
+     x="493.79138"
+     style="font-style:normal;font-weight:700;font-size:17.88159943px;font-family:sans-serif;text-anchor:start;fill:#000000"
+     font-size="17.8816">
+    <tspan
+       id="tspan136"
+       y="274.47055"
+       x="493.79138" />
+  </text>
+  <text
+     id="text146"
+     y="195.03575"
+     x="688.9505"
+     style="font-style:normal;font-weight:700;font-size:17.88159943px;font-family:sans-serif;text-anchor:start;fill:#000000"
+     font-size="17.8816">
+    <tspan
+       id="tspan140"
+       y="195.03575"
+       x="688.9505">Foo</tspan>
+    <tspan
+       id="tspan142"
+       y="217.38774"
+       x="688.9505">Bar</tspan>
+    <tspan
+       id="tspan144"
+       y="239.73975"
+       x="688.9505">Baz</tspan>
+  </text>
+  <line
+     id="line148"
+     y2="188.36176"
+     x2="807.28247"
+     y1="189.35974"
+     x1="745.28247"
+     style="fill:none;fill-opacity:0;stroke:#ffa500;stroke-width:4" />
+  <line
+     id="line150"
+     y2="211.36176"
+     x2="807.28247"
+     y1="212.35974"
+     x1="745.28247"
+     style="fill:none;fill-opacity:0;stroke:#dc0782;stroke-width:4" />
+  <line
+     id="line152"
+     y2="233.36176"
+     x2="807.28247"
+     y1="234.35974"
+     x1="745.28247"
+     style="fill:none;fill-opacity:0;stroke:#0000ff;stroke-width:4" />
+  <text
+     id="text156"
+     y="190.47055"
+     x="727.79138"
+     style="font-style:normal;font-weight:normal;font-size:12.79979992px;font-family:sans-serif;text-anchor:start;fill:#000000"
+     font-size="12.7998">
+    <tspan
+       id="tspan154"
+       y="190.47055"
+       x="727.79138" />
+  </text>
+</svg>
diff --git a/nightly_8.3/html/_images/same-flow-behind.png b/nightly_8.3/html/_images/same-flow-behind.png
new file mode 100644
index 00000000000..94de228370e
Binary files /dev/null and b/nightly_8.3/html/_images/same-flow-behind.png differ
diff --git a/nightly_8.3/html/_images/same-flow-n.png b/nightly_8.3/html/_images/same-flow-n.png
new file mode 100644
index 00000000000..9aa0be6d2f4
Binary files /dev/null and b/nightly_8.3/html/_images/same-flow-n.png differ
diff --git a/nightly_8.3/html/_images/same-flow-wait-n.png b/nightly_8.3/html/_images/same-flow-wait-n.png
new file mode 100644
index 00000000000..b54aaa96416
Binary files /dev/null and b/nightly_8.3/html/_images/same-flow-wait-n.png differ
diff --git a/nightly_8.3/html/_images/task-expired.png b/nightly_8.3/html/_images/task-expired.png
new file mode 100644
index 00000000000..b4344ac41b8
Binary files /dev/null and b/nightly_8.3/html/_images/task-expired.png differ
diff --git a/nightly_8.3/html/_images/task-failed.png b/nightly_8.3/html/_images/task-failed.png
new file mode 100644
index 00000000000..fb628682fba
Binary files /dev/null and b/nightly_8.3/html/_images/task-failed.png differ
diff --git a/nightly_8.3/html/_images/task-isHeld.png b/nightly_8.3/html/_images/task-isHeld.png
new file mode 100644
index 00000000000..cd37e27c930
Binary files /dev/null and b/nightly_8.3/html/_images/task-isHeld.png differ
diff --git a/nightly_8.3/html/_images/task-isQueued.png b/nightly_8.3/html/_images/task-isQueued.png
new file mode 100644
index 00000000000..77f2a7fd192
Binary files /dev/null and b/nightly_8.3/html/_images/task-isQueued.png differ
diff --git a/nightly_8.3/html/_images/task-isRunahead.png b/nightly_8.3/html/_images/task-isRunahead.png
new file mode 100644
index 00000000000..59bdbc5f80b
Binary files /dev/null and b/nightly_8.3/html/_images/task-isRunahead.png differ
diff --git a/nightly_8.3/html/_images/task-job.png b/nightly_8.3/html/_images/task-job.png
new file mode 100644
index 00000000000..7f79ea734e4
Binary files /dev/null and b/nightly_8.3/html/_images/task-job.png differ
diff --git a/nightly_8.3/html/_images/task-preparing.png b/nightly_8.3/html/_images/task-preparing.png
new file mode 100644
index 00000000000..e4ea5699c92
Binary files /dev/null and b/nightly_8.3/html/_images/task-preparing.png differ
diff --git a/nightly_8.3/html/_images/task-running-0.png b/nightly_8.3/html/_images/task-running-0.png
new file mode 100644
index 00000000000..ca51f50524d
Binary files /dev/null and b/nightly_8.3/html/_images/task-running-0.png differ
diff --git a/nightly_8.3/html/_images/task-running-100.png b/nightly_8.3/html/_images/task-running-100.png
new file mode 100644
index 00000000000..1a2f80f1f35
Binary files /dev/null and b/nightly_8.3/html/_images/task-running-100.png differ
diff --git a/nightly_8.3/html/_images/task-running-25.png b/nightly_8.3/html/_images/task-running-25.png
new file mode 100644
index 00000000000..da231a1ea0c
Binary files /dev/null and b/nightly_8.3/html/_images/task-running-25.png differ
diff --git a/nightly_8.3/html/_images/task-running-50.png b/nightly_8.3/html/_images/task-running-50.png
new file mode 100644
index 00000000000..2354d2b0d01
Binary files /dev/null and b/nightly_8.3/html/_images/task-running-50.png differ
diff --git a/nightly_8.3/html/_images/task-running-75.png b/nightly_8.3/html/_images/task-running-75.png
new file mode 100644
index 00000000000..0f4e332e7f3
Binary files /dev/null and b/nightly_8.3/html/_images/task-running-75.png differ
diff --git a/nightly_8.3/html/_images/task-submit-failed.png b/nightly_8.3/html/_images/task-submit-failed.png
new file mode 100644
index 00000000000..09e3e999da8
Binary files /dev/null and b/nightly_8.3/html/_images/task-submit-failed.png differ
diff --git a/nightly_8.3/html/_images/task-submitted.png b/nightly_8.3/html/_images/task-submitted.png
new file mode 100644
index 00000000000..e4ea5699c92
Binary files /dev/null and b/nightly_8.3/html/_images/task-submitted.png differ
diff --git a/nightly_8.3/html/_images/task-succeeded.png b/nightly_8.3/html/_images/task-succeeded.png
new file mode 100644
index 00000000000..04751161280
Binary files /dev/null and b/nightly_8.3/html/_images/task-succeeded.png differ
diff --git a/nightly_8.3/html/_images/task-waiting.png b/nightly_8.3/html/_images/task-waiting.png
new file mode 100644
index 00000000000..20914633329
Binary files /dev/null and b/nightly_8.3/html/_images/task-waiting.png differ
diff --git a/nightly_8.3/html/_images/test1.png b/nightly_8.3/html/_images/test1.png
new file mode 100644
index 00000000000..06a4bdf07f7
Binary files /dev/null and b/nightly_8.3/html/_images/test1.png differ
diff --git a/nightly_8.3/html/_images/test2.png b/nightly_8.3/html/_images/test2.png
new file mode 100644
index 00000000000..4ea60b9dd07
Binary files /dev/null and b/nightly_8.3/html/_images/test2.png differ
diff --git a/nightly_8.3/html/_images/test4.png b/nightly_8.3/html/_images/test4.png
new file mode 100644
index 00000000000..8cd8a9c0a23
Binary files /dev/null and b/nightly_8.3/html/_images/test4.png differ
diff --git a/nightly_8.3/html/_images/test5.png b/nightly_8.3/html/_images/test5.png
new file mode 100644
index 00000000000..f0940ea6820
Binary files /dev/null and b/nightly_8.3/html/_images/test5.png differ
diff --git a/nightly_8.3/html/_images/ui-view-selector.jpg b/nightly_8.3/html/_images/ui-view-selector.jpg
new file mode 100644
index 00000000000..f39bb446f7a
Binary files /dev/null and b/nightly_8.3/html/_images/ui-view-selector.jpg differ
diff --git a/nightly_8.3/html/_images/vip-vr.gif b/nightly_8.3/html/_images/vip-vr.gif
new file mode 100644
index 00000000000..3785db19cf3
Binary files /dev/null and b/nightly_8.3/html/_images/vip-vr.gif differ
diff --git a/nightly_8.3/html/_images/websocket-communication.png b/nightly_8.3/html/_images/websocket-communication.png
new file mode 100644
index 00000000000..7c5586e6829
Binary files /dev/null and b/nightly_8.3/html/_images/websocket-communication.png differ
diff --git a/nightly_8.3/html/_images/websocket-graphql-ws-protocol.png b/nightly_8.3/html/_images/websocket-graphql-ws-protocol.png
new file mode 100644
index 00000000000..70f36175380
Binary files /dev/null and b/nightly_8.3/html/_images/websocket-graphql-ws-protocol.png differ
diff --git a/nightly_8.3/html/_sources/7-to-8/caveats.rst.txt b/nightly_8.3/html/_sources/7-to-8/caveats.rst.txt
new file mode 100644
index 00000000000..eb6d5d626ab
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/caveats.rst.txt
@@ -0,0 +1,84 @@
+Cylc |version| Caveats
+======================
+
+There are a few Cylc 7 features which do not yet have direct replacements in
+Cylc 8. These features will be re-implemented in future releases.
+
+
+Cylc Flow
+---------
+
+Multiple Flows
+   The new :term:`scheduler` can manage multiple flows in the workflow graph.
+   Commands and options for interacting with flows are still being refined.
+
+
+Browser Based UI
+----------------
+
+The old "GUI" has been replaced by the new browser-based "UI".
+
+Static Graph Visualization
+   Not yet reimplemented for Cylc 8. As an interim measure the
+   ``cylc graph`` command can generate a basic PNG image of a workflow
+   graph if Graphviz is installed in the Cylc environment.
+
+Multiple Selection
+   Multiple selection is yet to be implemented, however, it is possible
+   to issue action for multiple tasks (e.g. ``kill``) without using
+   multiple selection:
+
+   * From the UI click on a workflow/cycle/task/job.
+   * Find the action you want to call (e.g. kill).
+   * Click the pencil symbol next to this action.
+   * Edit the workflows/cycles/tasks/jobs in the form and press submit.
+
+   * https://github.com/cylc/cylc-ui/issues/434
+Installing Workflows
+   At present there is no way to view or install
+   :term:`source workflows <source directory>` in the UI.
+Rose Edit
+   Rose Edit is awaiting reimplementation in the UI.
+Xtrigger Visibility
+   Xtriggers are not yet visible in the UI.
+
+   * https://github.com/cylc/cylc-ui/issues/331
+Documentation / Orientation Guide
+   Some form of documentation will be provided within the UI itself.
+
+   * https://github.com/cylc/cylc-ui/issues/155
+
+
+Terminal User Interface
+-----------------------
+
+The ``cylc tui`` command (Tui) replaces the old ``cylc monitor``. It provides a
+tree view that is very similar to the Cylc UI and supports some control
+functionality.
+
+Performance
+   TUI currently refreshes its display every second. Large workflows which
+   change rapidly may evolve faster than TUI is able to keep pace with which
+   will cause TUI to freeze.
+
+   A more performant implementation which does not rely on a scheduled global
+   update will follow in due course.
+
+   * https://github.com/cylc/cylc-flow/issues/3527
+GScan
+   The old ``cylc gscan`` GUI has been removed. You can now find the gscan
+   display on the left-hand side of the Cylc UI.
+
+   In a future release ``cylc tui`` will be able to list workflows in a similar
+   way.
+
+   * https://github.com/cylc/cylc-flow/issues/3464
+
+
+UI Server
+---------
+
+CLI via UIS
+   The ability to route Cylc commands via the UIS is planned for a future release
+
+   * https://github.com/cylc/cylc-flow/issues/3528
diff --git a/nightly_8.3/html/_sources/7-to-8/cheat-sheet.rst.txt b/nightly_8.3/html/_sources/7-to-8/cheat-sheet.rst.txt
new file mode 100644
index 00000000000..56de58b99ad
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/cheat-sheet.rst.txt
@@ -0,0 +1,283 @@
+.. _728.cheat_sheet:
+
+Cheat Sheet
+===========
+
+Quick summary of the command line changes between Cylc 7 / Rose 2019 and Cylc 8.
+
+.. highlight:: sub
+
+
+Validating
+----------
+
+Check the workflow configuration for errors:
+
+.. list-table::
+   :class: grid-table
+
+   * - **Cylc 7**
+     - **Rose 2019**
+     - **Cylc 8** (Rose 2)
+   * - ::
+
+         cylc validate <name/path>
+     - ::
+
+         # validate from $PWD
+         rose suite-run --validate
+     - ::
+
+         cylc validate <name/path>
+
+Installing & Running
+--------------------
+
+Install a workflow from source and run it:
+
+.. list-table::
+   :class: grid-table
+
+   * - **Cylc 7**
+     - **Rose 2019**
+     - **Cylc 8** (Rose 2)
+   * - ::
+
+         # no installation capability
+         # run from source
+         cylc run <name>
+     - ::
+
+         # install from $PWD
+         # then run
+         rose suite-run
+     - ::
+
+         # validate, install & play
+         cylc vip <name>
+         cylc vip # use $PWD
+
+
+Reloading
+---------
+
+To update a running workflow with changes from the source directory:
+
+.. list-table::
+   :class: grid-table
+
+   * - **Cylc 7**
+     - **Rose 2019**
+     - **Cylc 8** (Rose 2)
+   * - ::
+
+         # update the live source
+         # directly, then
+         cylc reload <name>
+     - ::
+
+         # re-install from source
+         # and do ``cylc reload``
+         rose suite-run --reload
+     - ::
+
+         # Validate against source;
+         # Reinstall;
+         # Reload or Play
+         cylc vr <name>
+
+
+Pausing & Unpausing
+-------------------
+
+Tell a workflow not to submit any new jobs:
+
+.. list-table::
+   :class: grid-table
+
+   * - **Cylc 7** & Rose 2019
+     - **Cylc 8** (Rose 2)
+   * - ::
+
+         cylc hold <name>
+
+         cylc unhold <name>
+     - ::
+
+         cylc pause <name>
+
+         cylc play <name>
+
+Stopping
+--------
+
+Stop a running workflow::
+
+   cylc stop <name>
+
+Restarting
+----------
+
+Restart a stopped workflow and pick up where it left off:
+
+.. list-table::
+   :class: grid-table
+
+   * - **Cylc 7**
+     - **Rose 2019**
+     - **Cylc 8** (Rose 2)
+   * - ::
+
+         # no installation capability
+         # restart from source
+         cylc restart <name>
+     - ::
+
+         # regular restart
+         rose suite-restart
+
+       Or alternatively::
+
+         # reinstall and restart
+         rose suite-run --restart
+     - ::
+
+         # optionally reinstall
+         cylc reinstall <name>
+
+         # restart
+         cylc play <name>
+
+Deleting
+--------
+
+Delete the workflow :term:`run directory` (leave source files untouched):
+
+.. list-table::
+   :class: grid-table
+
+   * - **Cylc 7**
+     - **Rose 2019**
+     - **Cylc 8** (Rose 2)
+   * - ::
+
+         rm -rf ~/cylc-run/<name>
+     - ::
+
+         rose suite-clean <name>
+     - ::
+
+         cylc clean <name>
+
+Scanning
+--------
+
+List all running workflows::
+
+   cylc scan
+
+View A Workflow's Configuration
+-------------------------------
+
+View the parsed workflow configuration:
+
+.. list-table::
+   :class: grid-table
+
+   * - **Cylc 7**
+     - **Rose 2019**
+     - **Cylc 8** (Rose 2)
+   * - ::
+
+         cylc get-config --sparse \
+             <name/path>
+     - ::
+
+         # install workflow
+         rose suite-run -l
+
+         # view installed config
+         cylc get-config --sparse \
+             <name/path>
+     - ::
+
+         cylc config <name/path>
+
+Opening User Interfaces
+-----------------------
+
+Opening the graphical user interface (GUI) or terminal user interface (TUI)
+for monitoring / controlling running workflows:
+
+.. list-table::
+   :class: grid-table
+
+   * -
+     - **Cylc 7** & Rose 2019
+     - **Cylc 8** (Rose 2)
+   * - Terminal
+     - ::
+
+         cylc monitor <name>
+     - ::
+
+         cylc tui <name>
+   * - Graphical
+     - ::
+
+         cylc gui <name>
+     - ::
+
+         cylc gui
+
+   * - Web Server
+     - ::
+
+         cylc review start
+
+     - ::
+
+         cylc hub
+
+Static Graph Visualisation
+--------------------------
+
+Generate a visualisation for a workflow without running it:
+
+.. list-table::
+   :class: grid-table
+
+   * - **Cylc 7** & Rose 2019
+     - **Cylc 8** (Rose 2)
+   * - ::
+
+         cylc graph <name>
+     - ::
+
+         cylc graph <name>
+
+       This generates a basic image file if Graphviz is installed.
+
+       The web UI will have full graph vis. in a future release.
+
+Rose Stem
+---------
+
+Run a :ref:`rose:Rose Stem` test suite.
+
+.. list-table::
+   :class: grid-table
+
+   * - **Rose 2019**
+     - **Rose 2** (Cylc 8)
+   * - ::
+
+         # install and start
+         rose stem
+     - ::
+
+         # install
+         rose stem
+
+         # start
+         cylc play <name>
diff --git a/nightly_8.3/html/_sources/7-to-8/index.rst.txt b/nightly_8.3/html/_sources/7-to-8/index.rst.txt
new file mode 100644
index 00000000000..a589a85f936
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/index.rst.txt
@@ -0,0 +1,22 @@
+Cylc 8 Migration Guide
+======================
+
+**A quick guide for Cylc 7 (and Rose 2019) users upgrading to Cylc 8.**
+
+.. tip::
+
+   If you need help using or understanding Cylc 8 please post questions to the
+   `Cylc 8 Migration category <https://cylc.discourse.group/c/cylc/7-to-8/13>`_
+   on the `Cylc Forum <https://cylc.discourse.group/>`_
+
+
+Cylc 8 differs from Cylc 7 in many ways: architecture, scheduling
+algorithm, security, UIs, working practices, and more.
+
+.. toctree::
+   :maxdepth: 1
+
+   summary
+   cheat-sheet
+   major-changes/index
+   caveats
diff --git a/nightly_8.3/html/_sources/7-to-8/major-changes/cli.rst.txt b/nightly_8.3/html/_sources/7-to-8/major-changes/cli.rst.txt
new file mode 100644
index 00000000000..9ddae9b342d
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/major-changes/cli.rst.txt
@@ -0,0 +1,188 @@
+.. _MajorChangesCLI:
+
+Command Line Interface
+======================
+
+.. admonition:: Does This Change Affect Me?
+   :class: tip
+
+   This will affect you if you use the Cylc command line interface.
+
+
+Overview
+--------
+
+* Some commands have been renamed e.g. ``cylc run`` -> ``cylc play``.
+* Some tools have been added or removed.
+* A new task ID format has been introduced.
+
+For a quick side by side comparison see the :ref:`728.cheat_sheet`.
+
+
+Full List Of Command Changes
+----------------------------
+
+The command line has been simplified from Cylc 7 with some commands being
+renamed or removed.
+
+.. _license: https://github.com/cylc/cylc-flow/blob/master/COPYING
+
+.. rubric:: Commands that have been removed entirely:
+
+``cylc checkpoint``
+  - Database checkpoints are no longer needed.
+  - All task state changes are written to the database when they occur.
+  - Remaining use cases can be handled by starting a new :term:`flow`
+    which allow a new execution of the graph to be started from an
+    arbitrary point in the graph.
+``cylc documentation``
+  - We no longer include a command for locating this documentation.
+``cylc edit``
+  - Use a text editor to edit the workflow configuration file.
+``cylc jobscript``
+  - It is no longer possible generate a jobscript from outside of a workflow.
+``cylc nudge``
+  - No longer required.
+``cylc register``
+  - Registration is no longer required, all workflows in the ``~/cylc-run``
+    directory are "registered" automatically.
+  - To install a workflow from a working copy use ``cylc install``.
+``cylc review``
+  - The read-only ``cylc review`` web GUI has been removed.
+  - The latest Cylc 7 version of ``cylc review`` is Cylc 8 compatible
+    so can still be used to monitor both Cylc 7 and Cylc 8 workflows
+    side by side.
+``cylc search``
+  - Use ``grep`` or a text editor to search the workflow configuration or
+    source directory.
+``cylc submit``
+  - It is no longer possible to submit a job from outside of a workflow.
+``cylc warranty``
+  - The Cylc license remains unchanged from Cylc 7.
+
+.. rubric:: Commands that have been replaced:
+
+``cylc conditions``
+  - See the `license`_ file for conditions of usage, or ``cylc help license``
+  - The Cylc license remains unchanged from Cylc 7.
+``cylc get-config``,
+  - Replaced by ``cylc config``.
+``cylc get-*-config``
+  - (Where ``*`` is ``site``, ``suite`` or ``global``)
+  - Replaced by ``cylc config``.
+``cylc graph-diff``
+  - Replaced by ``cylc graph <flow1> --diff <flow2>``
+``cylc insert``
+  - Task insertion is now automatic, use ``cylc trigger``.
+``cylc monitor``
+  - There is now a new more powerful terminal user interface (TUI).
+  - Try ``cylc tui``.
+``cylc print``
+  - Equivalent to ``cylc scan --states=all``.
+``cylc reset``
+  - It is no longer possible to manually change a task's state.
+  - You can, however, override the outputs the task generated which has a
+    similar effect with ``cylc set-outputs``.
+``cylc restart``
+  - Replaced by ``cylc play``.
+``cylc run``
+  - Replaced by ``cylc play``.
+``cylc spawn``
+  - Spawning is now performed automatically, on demand. Use ``cylc trigger`` to run
+    a task, or ``cylc set-outputs`` to spawn tasks that depend on specified outputs.
+``cylc suite-state``
+  - Renamed as ``cylc workflow-state``.
+
+.. rubric:: Commands that have changed:
+
+``cylc hold``
+  - Now used on tasks only; use ``cylc pause`` to pause an entire workflow
+    (i.e. to halt all job submissions).
+``cylc release``
+  - Now used only to release held tasks; use ``cylc play`` to resume a paused workflow.
+
+.. rubric:: Graphical User Interfaces (GUIs):
+
+The GTK based GUI based GUIs have been removed, please use the new web based
+GUI. Consequently the following commands have also been removed:
+
+- ``cylc gpanel``
+- ``cylc gscan``
+- ``cylc gcylc``
+
+The ``cylc gui`` command remains, it launches a standalone version of the
+web GUI (providing the `Cylc UI Server`_ is installed).
+
+.. seealso::
+
+   :ref:`CompoundCommands` - For your convenience we have
+    provided commands which represent common working practices. For
+    example ``cylc vip`` (Validate-Install-Play) which runs
+    ``cylc validate``, ``cylc install`` and ``cylc play``.
+
+
+Cylc 8 Standardised IDs
+-----------------------
+
+In Cylc 7 there were two ways to specify a task:
+
+.. code-block:: none
+
+   task.cycle
+   cycle/task
+
+In Cylc 8 the former is now deprecated, and the latter has been extended to
+provide a unique identifier for all workflows, cycles, tasks and jobs using a
+standard format:
+
+.. code-block:: none
+
+   ~user/workflow//cycle/task/job
+
+Consequently task IDs have changed:
+
+.. code-block:: none
+
+   # old
+   cycle.task
+
+   # new
+   cycle/task
+
+An example using ``cylc trigger``:
+
+.. code-block:: bash
+
+   # old
+   cylc trigger workflow task.cycle
+
+   # new
+   cylc trigger workflow//cycle/task
+
+Cylc 8 still supports the old format, however, the new format unlocks extra
+functionality e.g:
+
+.. code-block:: bash
+
+   # stop all running workflows
+   cylc stop '*'
+
+   # pause all running workflows
+   cylc pause '*'
+
+   # (re-)trigger all failed tasks in all running workflows
+   cylc trigger '*//*:failed'
+
+   # hold all tasks in the cycle "2000" in workflows with IDs
+    # beginning with "model"
+   cylc hold 'model*//2000'
+
+   # delete the run directories for all workflows with IDs
+   # beginning with "model_a/"
+   cylc clean 'model_a/*'
+
+For more information run ``cylc help id``.
+
+.. _ID post on Discourse: https://cylc.discourse.group/t/cylc-8-id-changes/425
+
+For a quick overview of the motivation see the `ID post on Discourse`_.
diff --git a/nightly_8.3/html/_sources/7-to-8/major-changes/compatibility-mode.rst.txt b/nightly_8.3/html/_sources/7-to-8/major-changes/compatibility-mode.rst.txt
new file mode 100644
index 00000000000..3f61e8c9ea1
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/major-changes/compatibility-mode.rst.txt
@@ -0,0 +1,236 @@
+.. _cylc_7_compat_mode:
+
+Cylc 7 Compatibility Mode
+=========================
+
+.. admonition:: Does This Change Affect Me?
+   :class: tip
+
+   This will affect you if you want to run Cylc 7 (``suite.rc``) workflows
+   using Cylc 8.
+
+Overview
+--------
+
+Cylc 8 can run most Cylc 7 workflows "as is".
+The ``suite.rc`` filename triggers a backward compatibility mode in which:
+
+- :term:`implicit tasks <implicit task>` are allowed by default
+
+  - (unless a ``rose-suite.conf`` file is found in the :term:`run directory`
+    for consistency with ``rose suite-run`` behaviour)
+  - (Cylc 8 does not allow implicit tasks by default)
+
+- :term:`cycle point time zone` defaults to the local time zone
+
+  - (Cylc 8 defaults to UTC)
+
+- waiting tasks are pre-spawned to mimic the Cylc 7 scheduling algorithm and
+  stall behaviour, and these require
+  :term:`suicide triggers <suicide trigger>`
+  for alternate :term:`graph branching`
+
+  - (Cylc 8 spawns tasks on demand, and suicide triggers are not needed for
+    branching)
+
+- only ``succeeded`` task outputs are :ref:`*required* <User Guide Required Outputs>`,
+  meaning the scheduler will retain tasks that do not succeed as incomplete
+
+  - (in Cylc 8, **all** outputs are *required* unless marked as
+    :ref:`*optional* <User Guide Optional Outputs>` by the new ``?`` syntax)
+
+
+.. _compat_required_changes:
+
+Required Changes
+----------------
+
+Providing your Cylc 7 workflow does not use syntax that was deprecated at Cylc 7,
+you may be able to run it using Cylc 8 without any modifications while in
+compatibility mode.
+
+First, run ``cylc validate`` **with Cylc 7** on your ``suite.rc`` workflow
+to check for deprecation warnings and fix those before validating with Cylc 8.
+See :ref:`below <compat.eg.c7val>` for an example.
+
+.. warning::
+
+   ``cylc validate`` operates on the processed ``suite.rc``, which
+   means it will not detect any deprecated syntax that is inside a
+   currently-unused Jinja2/EmPy ``if...else`` branch.
+
+Some workflows may require modifications to either upgrade to Cylc 8 or make
+interoperable with Cylc 8 backward compatibility mode. Read on for more details.
+
+
+Cylc commands in task scripts
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Check for any use of Cylc commands in task scripting. Some Cylc 7 commands
+have been removed and some others now behave differently.
+However, ``cylc message`` and ``cylc broadcast`` have *not* changed.
+See the :ref:`full list of command line interface changes<MajorChangesCLI>`
+and see :ref:`below <compat.eg.cylc-commands>` for an example.
+
+
+Python 2 to 3
+^^^^^^^^^^^^^
+
+Whereas Cylc 7 runs using Python 2, Cylc 8 runs using Python 3. This affects:
+- modules imported in Jinja2
+- Jinja2 filters, tests and globals
+- custom xtrigger functions
+
+Note that task scripts are not affected - they run in an independent
+environment.
+
+See :ref:`py23` for more information and examples of how to implement
+interoperability if your workflows extend Cylc or Jinja2 with custom Python scripts.
+
+
+Other caveats
+^^^^^^^^^^^^^
+
+- Cylc 8 cannot *restart* a partially completed Cylc 7 workflow in-place. If
+  possible, complete the run with Cylc 7. Otherwise, see
+  :ref:`compat_continuing_c7_with_c8`.
+
+- Cylc 8 only transfers certain files and directories by default during
+  remote installation. See :ref:`728.remote-install` for more information.
+
+- Cylc 8 does not support
+  :ref:`excluding/including tasks at start-up<MajorChangesExcludingTasksAtStartup>`.
+  If your workflow used this old functionality, it may have been used in
+  combination with the ``cylc insert`` command (which has been removed from
+  Cylc 8) and ``cylc remove`` (which still exists but is much less needed).
+
+- Cylc 8 does not support :ref:`specifying remote usernames <728.remote_owner>`
+  using :cylc:conf:`flow.cylc[runtime][<namespace>][remote]owner`.
+
+
+Examples
+--------
+
+.. _compat.eg.c7val:
+
+Validating with Cylc 7
+^^^^^^^^^^^^^^^^^^^^^^
+
+Consider this configuration:
+
+.. code-block:: cylc
+   :caption: ``suite.rc``
+
+   [scheduling]
+       initial cycle point = 11000101T00
+       [[dependencies]]
+           [[[R1]]]
+               graph = task
+
+   [runtime]
+       [[task]]
+           pre-command scripting = echo "Hello World"
+
+Running ``cylc validate`` at **Cylc 7** we see that the
+workflow is valid, but we are warned that ``pre-command scripting``
+was replaced by ``pre-script`` at 6.4.0:
+
+.. code-block:: console
+   :caption: Cylc 7 validation
+
+   $ cylc validate .
+   WARNING - deprecated items were automatically upgraded in 'suite definition':
+   WARNING -  * (6.4.0) [runtime][task][pre-command scripting] -> [runtime][task][pre-script] - value unchanged
+   Valid for cylc-7.8.7
+
+.. note::
+
+   **Cylc 7** has handled this deprecation for us, but at **Cylc 8** this
+   workflow will fail validation.
+
+   .. code-block:: console
+      :caption: Cylc 8 validation
+
+      $ cylc validate .
+      IllegalItemError: [runtime][task]pre-command scripting
+
+You must change the configuration yourself. In this case:
+
+.. code-block:: diff
+
+   -     pre-command scripting = echo "Hello World"
+   +     pre-script = echo "Hello World"
+
+Validation will now succeed.
+
+
+.. _compat.eg.cylc-commands:
+
+Cylc commands in task scripts
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+You might have a task script that calls a Cylc command like so:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[foo]]
+           script = cylc hold "$CYLC_SUITE_NAME"
+
+The ``cylc hold`` command has changed in Cylc 8. It is now used for holding
+tasks only; use ``cylc pause`` for entire workflows.
+(Additionally, ``$CYLC_SUITE_NAME`` is deprecated in favour of
+``$CYLC_WORKFLOW_ID``, though still supported.)
+
+In order to make this interoperable, so that you can run it with both Cylc 7
+and Cylc 8 backward compatibility mode, you could do something like this
+in the bash script:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[foo]]
+           script = """
+               if [[ "${CYLC_VERSION:0:1}" == 7 ]]; then
+                   cylc hold "$CYLC_SUITE_NAME"
+               else
+                   cylc pause "$CYLC_WORKFLOW_ID"
+               fi
+           """
+
+Note this logic (and the ``$CYLC_VERSION`` environment variable) is executed
+at runtime on the :term:`job host`.
+
+Alternatively, you could use :ref:`Jinja` like so:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[foo]]
+           {% if CYLC_VERSION is defined and CYLC_VERSION[0] == '8' %}
+               script = cylc pause "$CYLC_WORKFLOW_ID"
+           {% else %}
+               script = cylc hold "$CYLC_SUITE_NAME"
+           {% endif %}
+
+Note this logic (and the ``CYLC_VERSION`` Jinja2 variable) is executed locally
+prior to Cylc parsing the workflow configuration.
+
+
+Renaming to ``flow.cylc``
+-------------------------
+
+When your workflow runs successfully in backward compatibility mode, it is
+ready for renaming ``suite.rc`` to ``flow.cylc``. Doing this will turn off
+backward compatibility mode, and validation in Cylc 8 will show
+deprecation warnings.
+
+.. seealso::
+
+   :ref:`configuration-changes`
+
+.. important::
+
+   More complex workflows (e.g. those with suicide triggers) may
+   fail validation once backward compatibility is off - see
+   :ref:`728.optional_outputs`
diff --git a/nightly_8.3/html/_sources/7-to-8/major-changes/config-changes.rst.txt b/nightly_8.3/html/_sources/7-to-8/major-changes/config-changes.rst.txt
new file mode 100644
index 00000000000..ea304c2c28a
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/major-changes/config-changes.rst.txt
@@ -0,0 +1,124 @@
+.. _configuration-changes:
+
+Configuration Changes at Cylc 8
+===============================
+
+Some configurations have moved or been renamed at Cylc 8.
+
+The old configurations are now deprecated, but still supported.
+These will be highlighted upon ``cylc validate`` after renaming ``suite.rc``
+to ``flow.cylc``.
+
+Because some workflows use Jinja2 or EmPy branches which may not be switched on at
+the time of the initial ``cylc validate`` we have also provided
+a script, :ref:`cylc lint -r 728 <cylc_lint_script>` to check for Cylc 7
+syntax which may be deprecated.
+
+There are some examples below of how to upgrade:
+
+
+.. _7-to-8.graph_syntax:
+
+Graph
+-----
+
+Cylc 7 had unnecessarily deep nesting of graph config sections:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = now
+       [[dependencies]]
+           [[[R1]]]
+               graph = "prep => foo"
+           [[[R/^/P1D]]]
+               graph = "foo => bar => baz"
+
+Cylc 8 cleans this up:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = now
+       [[graph]]
+           R1 = "prep => foo"
+           R/^/P1D = "foo => bar => baz"
+
+
+Fixing deprecation warnings
+---------------------------
+
+Take the following example ``flow.cylc`` file:
+
+.. code-block:: cylc
+
+   [cylc]
+      UTC mode = True
+   [scheduling]
+       initial cycle point = 2000-01-01
+       [[dependencies]]
+           [[[R1]]]
+               graph = foo => bar
+   [runtime]
+       [[foo, bar]]
+
+This workflow will pass validation at Cylc 8, but will give warnings:
+
+.. code-block:: console
+
+   $ cylc validate .
+   WARNING - deprecated items were automatically upgraded in "workflow definition"
+   WARNING -  * (8.0.0) [cylc] -> [scheduler] - value unchanged
+   WARNING - deprecated graph items were automatically upgraded in "workflow definition":
+      * (8.0.0) [scheduling][dependencies][X]graph -> [scheduling][graph]X - for X in:
+            R1
+   Valid for cylc-8.0.0
+
+The warnings explain what needs to be fixed. After making the following changes,
+the workflow will validate without any warnings:
+
+.. code-block:: diff
+
+   -[cylc]
+   +[scheduler]
+        UTC mode = True
+    [scheduling]
+        initial cycle point = 2000-01-01
+   -    [[dependencies]]
+   -        [[[R1]]]
+   -            graph = foo => bar
+   +    [[graph]]
+   +        R1 = foo => bar
+    [runtime]
+        [[foo, bar]]
+
+.. tip::
+
+   Later Cylc releases will not be able to upgrade obsolete Cylc 7
+   configurations. It's a good idea to address warnings as part of routine
+   workflow review and maintenance to avoid problems later on.
+
+
+Platforms
+---------
+
+.. seealso::
+
+   - :ref:`Platforms at Cylc 8. <majorchangesplatforms>`
+   - :ref:`System admin's guide to writing platforms. <AdminGuide.PlatformConfigs>`
+
+At Cylc 7, job hosts were defined to indicate where a job should run.
+At Cylc 8, this has been replaced by Platforms.
+
+.. code-block:: diff
+
+    [runtime]
+        [[foo]]
+   -        [[[job]]]
+   -            batch system = slurm
+   -        [[[remote]]]
+   -            host = hpc1.login.1
+   +        platform = hpc1
+
+For a comprehensive list of valid configuration, see: :ref:`workflow-configuration`
+and :ref:`global-configuration`.
diff --git a/nightly_8.3/html/_sources/7-to-8/major-changes/continuing-c7-c8.rst.txt b/nightly_8.3/html/_sources/7-to-8/major-changes/continuing-c7-c8.rst.txt
new file mode 100644
index 00000000000..1e074aad4f8
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/major-changes/continuing-c7-c8.rst.txt
@@ -0,0 +1,46 @@
+.. _compat_continuing_c7_with_c8:
+
+Continuing a Cylc 7 Workflow with Cylc 8
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. admonition:: Does This Change Affect Me?
+   :class: tip
+
+   Read this if you have a partially complete Cylc 7 workflow that you want to
+   continue, rather than start from scratch, with Cylc 8. Some cycling
+   workflows, for example, may need to run expensive "cold start" tasks and
+   incur a multi-cycle spin-up if started from scratch.
+
+.. warning::
+
+   Cylc 8 cannot restart a Cylc 7 workflow in-place, and continuing in a new
+   run directory involves some careful set up (below). So, **if possible you
+   should complete the run with Cylc 7**.
+
+
+To continue a Cylc 7 workflow with Cylc 8:
+
+1. Stop the Cylc 7 workflow at an convenient place
+
+   - Typically the end of a cycle point, to simplify the continuation
+2. :ref:`Install <MajorChangesInstall>` a new instance of the workflow from
+   source, with Cylc 8
+
+   - Adapt file paths to the new run directory structure, in workflow and task
+     configurations
+   - Note Cylc 8 does :ref:`remote file installation <728.remote-install>`
+     when a job is first submitted to a platform
+3. Copy runtime files needed by upcoming tasks from the old to the new run
+   directory
+
+   - This could include external files installed by initial tasks at runtime
+   - Note different files could be present on different job platforms
+4. Start the new Cylc 8 run at the appropriate cycle point or task(s) in the
+   graph
+
+   - Don't reset the :term:`initial cycle point` (in the ``flow.cylc`` or on
+     the command line) to the :term:`start point <start cycle point>` of the
+     Cylc 8 run. That would result in the "cold start" that this continuation
+     procedure is designed to avoid. Instead use the ``--start-cycle-point``
+     option (or ``--start-task``) with ``cylc play``, to start at the right
+     place within the graph.
diff --git a/nightly_8.3/html/_sources/7-to-8/major-changes/cylc-install.rst.txt b/nightly_8.3/html/_sources/7-to-8/major-changes/cylc-install.rst.txt
new file mode 100644
index 00000000000..f02500b67dc
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/major-changes/cylc-install.rst.txt
@@ -0,0 +1,177 @@
+.. _MajorChangesInstall:
+
+Cylc Install
+============
+
+.. seealso::
+
+   :ref:`User Guide: Installing Workflows <Installing-workflows>`
+
+.. admonition:: Does This Change Affect Me?
+   :class: tip
+
+   **Almost certainly.**
+
+   This change will affect you:
+
+   - If you use ``rose suite-run`` to install and run Cylc workflows.
+   - If you usually develop Cylc workflows in the ``~/cylc-run`` directory.
+   - If you develop Cylc workflows outside of the ``~/cylc-run`` directory and
+     manually copy the files to ``~/cylc-run``.
+
+
+Overview
+--------
+
+Cylc 7 ran workflows in ``~/cylc-run/``. You could develop your
+workflow in ``~/cylc-run`` or copy it after developing it elsewhere.
+If you developed in the ``~/cylc-run`` directory there was a risk that
+Cylc might alter your files. If you developed elsewhere you needed to
+install your workflows manually with another tool.
+
+We designed Cylc 8 to help you keep your development and
+running copies separate. By default you can now develop workflows in the
+``~/cylc-src`` directory. As a result, you will not change your development
+copy by running a workflow. You will, however, need to install your workflow
+from ``~/cylc-src`` to ``~/cylc-run`` using the ``cylc install`` command.
+
+.. note::
+
+   If you have previously used Rose, ``cylc install`` functions in a
+   similar way to ``rose suite-run --install-only``.
+
+Examples:
+
+- You can install a workflow from inside the source directory:
+
+  .. code-block:: console
+
+     $ cd ~/cylc-src/my-workflow
+     $ cylc install
+     INSTALLED my-workflow/run1 from /home/me/cylc-src/my-workflow
+
+- You can install a workflow by providing the workflow source name
+  (if the source directory is located in any of the
+  :ref:`configurable source dirs`, e.g. ``~/cylc-src``):
+
+  .. code-block:: console
+
+     $ cylc install my-workflow
+     INSTALLED my-workflow/run2 from /home/me/cylc-src/my-workflow
+
+- You can install a workflow by providing the path to the source directory:
+
+  .. code-block:: console
+
+     $ cylc install ~/cylc-src/my-workflow
+     INSTALLED my-workflow/run3 from /home/me/cylc-src/my-workflow
+
+.. note::
+
+   Each time you run ``cylc install`` for a particular workflow, a new copy of
+   the workflow is installed to a new run directory. In the example above, we
+   created three run directories inside ``~/cylc-run/my-workflow``.
+
+Once you have installed a workflow you can use ``cylc play`` to run it - see
+:ref:`RunningWorkflows`.
+
+You can delete installed workflows using ``cylc clean`` - see
+:ref:`Removing-workflows`.
+
+A ``.cylcignore`` file can be used to control which files ``cylc install``
+transfers to the installed workflow, see :ref:`File Installation` for details.
+
+
+.. _728.remote-install:
+
+Remote Installation
+-------------------
+
+Remote file installation does not occur until running the workflow.
+When the first task runs on a remote platform, Cylc will transfer files from
+the :term:`run directory` to the :term:`install target`.
+
+If you have used Rose 2019, you may be used to all files and directories in
+the run directory being included.
+However, Cylc 8 will only copy the ``ana``, ``app``, ``bin``, ``etc`` and
+``lib`` directories by default (in addition to authentication files in
+``.service``).
+If you want to include custom files and directories in remote installation,
+use :cylc:conf:`flow.cylc[scheduler]install`.
+
+.. tip::
+
+   If you need to ensure your workflow is still
+   :ref:`interoperable <cylc_7_compat_mode>` with Cylc 7, wrap it in a
+   Jinja2 check like so:
+
+   .. code-block:: cylc
+
+      {% if CYLC_VERSION is defined and CYLC_VERSION[0] == '8' %}
+      [scheduler]
+          install = my-dir/, my-file
+      {% endif %}
+
+See :ref:`the user guide <RemoteInit>` for more details.
+
+
+Migrating From ``rose suite-run``
+---------------------------------
+
+The ``rose suite-run`` command has been replaced by ``cylc install``.
+
+.. code-block:: bash
+
+   # rose 2019 / Cylc 7
+   $ rose suite-run
+
+   # rose 2 / Cylc 8
+   $ cylc install
+   $ cylc play <id>
+
+Support for the ``rose-suite.conf`` file is provided by the :ref:`Cylc Rose`
+plugin which must be installed for Rose integration.
+
+.. spoiler:: Installation
+   :class: hint
+
+   See the :ref:`installation` section for instructions.
+
+   If Cylc Rose is installed it should appear in the list of installed
+   Cylc plugins:
+
+   .. code-block:: console
+
+      $ cylc version --long
+      8.0 (/path/to/cylc-8)
+
+      Plugins:
+          cylc-rose       0.1.1   /path/to/cylc-rose
+
+Notable differences to ``rose suite-run``
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Command line options:
+   The ``cylc install`` command remembers any options specified on the command
+   line including Rose optional configurations and template variables and
+   automatically applies them with future re-installations.
+Rose Stem:
+   The ``rose stem`` command is provided by Cylc Rose. Like ``rose suite-run``,
+   ``rose stem`` used to install and run workflows. It now only
+   installs the workflow which can then be run with ``cylc play``.
+
+   See the :ref:`Rose Stem` documentation for more information.
+Roses directory:
+   By default ``cylc install`` looks for workflows in ``~/cylc-src``, you
+   you may want to add ``~/roses`` to the list of
+   :cylc:conf:`global.cylc[install]source dirs`.
+Remote Installation:
+   With Rose 2019 / ``rose suite-run``, files were installed on remote platforms
+   before the *workflow* started running.
+
+   With Rose 2 / ``cylc install``, files are installed on remote platforms just
+   before the *first task* runs on that platform.
+
+   Rose used to install the entire workflow :term:`run directory` to remote
+   platforms. It now only installs configured directories for efficiency.
+   See `Remote Installation`_ above for details.
diff --git a/nightly_8.3/html/_sources/7-to-8/major-changes/excluding-tasks.rst.txt b/nightly_8.3/html/_sources/7-to-8/major-changes/excluding-tasks.rst.txt
new file mode 100644
index 00000000000..e3cefa66cda
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/major-changes/excluding-tasks.rst.txt
@@ -0,0 +1,43 @@
+.. _MajorChangesExcludingTasksAtStartup:
+
+Excluding Tasks at Start-up is Not Supported
+============================================
+
+.. admonition:: Does This Change Affect Me?
+   :class: tip
+
+   This will affect you if your workflows use the following configurations:
+
+   * ``[scheduling][special tasks]include at start-up``
+   * ``[scheduling][special tasks]exclude at start-up``
+
+
+Overview
+--------
+
+The Cylc 7 scheduler allowed you to exclude tasks from the scheduler at start-up:
+
+.. code-block:: cylc
+
+   # Cylc 7 only
+   [scheduling]
+      [[special tasks]]
+           include at start-up = foo, bar, baz  # Cylc 8 ERROR!
+           exclude at start-up = bar  # Cylc 8 ERROR!
+
+The first config item above excludes all task names not in the include-list;
+the second excludes specific tasks that would otherwise be included.
+
+The Cylc 7 scheduler started up with an instance of every task in its "task
+pool", and the workflow evolved by each task spawning its own next-cycle
+instance at the right time. So, if you excluded a task a start-up it would not
+run in the workflow at all unless manually inserted later at runtime.
+
+The Cylc 8 scheduler starts up with only the initial tasks in the graph and the
+workflow evolves by spawning new tasks on demand as dictated by the graph.
+Consequently excluding a task at start up as described above would have no
+effect at all on most tasks.
+
+This feature also predated the current Cylc dependency graph configuration. To
+exclude tasks now without entirely removing them from the workflow definition,
+just comment them out of the graph.
diff --git a/nightly_8.3/html/_sources/7-to-8/major-changes/index.rst.txt b/nightly_8.3/html/_sources/7-to-8/major-changes/index.rst.txt
new file mode 100644
index 00000000000..ef14eb5acfb
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/major-changes/index.rst.txt
@@ -0,0 +1,15 @@
+Detailed Description of Major Changes
+=====================================
+
+This section goes into detail on some of the major changes that you may need to
+understand to migrate from Cylc 7 to Cylc 8.
+
+.. toctree::
+   :maxdepth: 1
+   :glob:
+
+   *
+
+.. TODO - Split into breaking changes and other Major Changes
+
+.. TODO - Add a page with a Cylc 7 suite needing upgrading.
diff --git a/nightly_8.3/html/_sources/7-to-8/major-changes/parameters.rst.txt b/nightly_8.3/html/_sources/7-to-8/major-changes/parameters.rst.txt
new file mode 100644
index 00000000000..c1ed14d96a7
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/major-changes/parameters.rst.txt
@@ -0,0 +1,100 @@
+Parameters
+==========
+
+.. admonition:: does this change affect me?
+   :class: tip
+
+   If you use Cylc parameters with negative offsets (e.g. ``foo<x-1>``).
+
+
+Overview
+--------
+
+There has been a subtle change in the way negative offsets are handled in parameters.
+
+
+Example
+-------
+
+If you have a parameter ``x`` with the values 1, 2 & 3:
+
+.. code-block:: cylc
+
+   [task parameters]
+      x = 1..3
+
+And use it like so:
+
+.. code-block:: cylc-graph
+
+   a<x-1> => b<x> => c<x>
+
+There is some ambiguity about how this should be interpreted when ``x=1``
+because ``<x-1>`` would be ``0`` which is not a valid value for the parameter
+``x``.
+
+Cylc 7 removed the part of the expression which was out of range resulting in a
+partial evaluation of that line:
+
+.. code-block:: cylc-graph
+
+           b_x1 => c_x1  # x=1
+   a_x1 => b_x2 => c_x2  # x=2
+   a_x2 => b_x3 => c_x3  # x=3
+
+Whereas Cylc 8 will remove everything after the first out-of-range parameter - ``<x-1>`` (so the entire line for this example):
+
+.. code-block:: cylc-graph
+
+   a_x1 => b_x2 => c_x2  # x=2
+   a_x2 => b_x2 => c_x2  # x=3
+
+
+Migration
+---------
+
+If your workflow depends on the Cylc 7 behaviour, then the solution is
+to break the expression into two parts which Cylc will then evaluate separately.
+
+.. code-block:: diff
+
+   - a<x-1> => b<x> => c<x>
+   + a<x-1> => b<x>
+   + b<x> => c<x>
+
+Resulting in:
+
+.. code-block:: cylc-graph
+   
+   # a<x-1> => b<x>
+   a_x1 => a_x2  # x=2
+   a_x2 => a_x3  # x=3
+
+   # b<x> => c<x> 
+   b_x1 => c_x1  # x=1
+   b_x2 => c_x2  # x=2
+   b_x3 => c_x3  # x=3
+
+
+Line Breaks
+-----------
+
+Note that these expressions are all equivalent:
+
+.. list-table::
+   :class: grid-table
+
+   * - .. code-block::
+
+          a<x-1> => b<x> => c<x>
+
+     - .. code-block::
+
+          a<x-1> =>
+          b<x> =>
+          c<x>
+
+     - .. code-block::
+
+          a<x-1> => b<x> => \
+          c<x>
diff --git a/nightly_8.3/html/_sources/7-to-8/major-changes/platforms.rst.txt b/nightly_8.3/html/_sources/7-to-8/major-changes/platforms.rst.txt
new file mode 100644
index 00000000000..d97f26dbb4b
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/major-changes/platforms.rst.txt
@@ -0,0 +1,262 @@
+.. _MajorChangesPlatforms:
+
+Platforms
+=========
+
+.. admonition:: Does This Change Affect Me?
+   :class: tip
+
+   Cylc platforms are a new feature which replace the task ``job`` and
+   ``remote`` configuration sections:
+
+   * :cylc:conf:`[runtime][<namespace>][job]`
+   * :cylc:conf:`[runtime][<namespace>][remote]`
+
+
+Overview
+--------
+
+.. note::
+
+   - The terms :term:`platform` and job platform are equivalent.
+   - The terms :term:`job runner` (in Cylc 8 configurations) and batch system
+     (in Cylc 7 configurations) are equivalent.
+
+Submitting a job to a :term:`job runner` may require configuration.
+
+In Cylc 7 this configuration must be provided for each task in the workflow
+configuration (``suite.rc``).
+
+In Cylc 8 "platforms" can be defined in the global configuration
+(:cylc:conf:`global.cylc`) so that this configuration doesn't have to be
+repeated for each task in each workflow.
+
+There may be cases where sets of platforms (for example a group of
+standalone compute servers, or a pair of mirrored HPC's) might be equally
+suitable for a task. Such platforms can be set up to be ``platform groups``
+
+.. seealso::
+
+   :ref:`ListingAvailablePlatforms` for details of how to list platforms
+   already defined.
+
+   :ref:`AdminGuide.PlatformConfigs` for detailed examples of platform
+   configurations.
+
+.. tip::
+
+   Cylc 8 contains upgrade logic (:ref:`see below <host-to-platform-logic>`)
+   which handles the deprecated Cylc 7 settings in most cases.
+   Unless you are in :ref:`backward compatibility mode <cylc_7_compat_mode>`,
+   you should upgrade to using platforms instead.
+   Deprecated settings will be removed in a later release of Cylc.
+
+
+What is a Platform?
+-------------------
+
+A "platform" represents one or more hosts from which jobs can be submitted to or
+polled from a common job submission system.
+
+If a platform has multiple hosts Cylc will automatically select a host when
+needed and will fallback to other hosts if it is not contactable.
+
+A "platform group" represents a collection of independent platforms. Cylc will
+automatically select a platform and will fallback to other platforms in the
+group (for appropriate operations) if the platform is not contactable.
+
+
+Examples
+--------
+
+.. seealso::
+
+   :cylc:conf:`global.cylc[platforms]` has a detailed explanation of how
+   platforms and platform groups are defined.
+
+Simple example
+^^^^^^^^^^^^^^
+
+Consider this Cylc 7 syntax in a ``flow.cylc`` file:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[mytask]]
+           [[[job]]]
+               batch system = slurm
+           [[[remote]]]
+               host = login_node01
+
+The Cylc 8 global config (``global.cylc``) might contain:
+
+.. code-block:: cylc
+
+   [platforms]
+       [[our_cluster]]
+           hosts = login_node01, login_node02
+           job runner = slurm
+
+.. tip::
+
+   You can view the platforms available at your site by running::
+
+      cylc config --platforms
+
+The platform ``our_cluster`` matches the current configuration due to having
+the same job runner (batch system) and correct hosts. Thus we can replace the
+deprecated syntax:
+
+.. code-block:: diff
+
+    [runtime]
+        [[mytask]]
+   -        [[[job]]]
+   -            batch system = slurm
+   -        [[[remote]]]
+   -            host = login_node01
+   +        platform = our_cluster
+
+
+A variety of other examples
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Here are some example Cylc 7 task definitions:
+
+.. code-block:: cylc
+
+   [runtime]
+      [[mytask_cylc_server]]
+
+      [[mytask_big_server]]
+         [[[remote]]]
+            host = linuxbox42
+
+      [[mytask_submit_local_to_remote_computer]]
+         [[[job]]]
+            batch system = pbs
+
+      [[mytask_login_to_hpc_and_submit]]
+         [[[remote]]]
+            # e.g. rose host-select
+            host = $(supercomputer_login_node_selector_script)
+         [[[job]]]
+            batch system = slurm
+
+
+This will result in Cylc running:
+
+- ``mytask_cylc_server`` on the machine the workflow is running on.
+- ``mytask_big_server`` on ``linuxbox42``, using background.
+- ``mytask_submit_local_to_remote_computer`` on a system where you can
+  use PBS to submit from the workflow server.
+- ``mytask_login_to_hpc_and_submit`` on a host set by the subshelled
+  script using Slurm.
+
+At Cylc 8 the equivalent might be:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[mytask_cylc_server]]
+
+       [[mytask_big_server]]
+           platform = linuxbox42
+
+       [[mytask_submit_local_to_remote_computer]]
+           platform = pbs_local
+
+       [[mytask_login_to_hpc_and_submit]]
+           # Recommended:
+           platform = slurm_supercomputer
+           # ...but This is still legal:
+           #platform = $(selector-script)
+
+And the platform settings for these examples might be:
+
+.. code-block:: cylc
+
+   [platforms]
+       [[linuxbox\d\d]]  # Regex to allow any linuxboxNN to use this definition
+           # Without a hosts, platform name is used as a single host.
+
+       [[pbs_local]]
+           # A computer with PBS, that takes local job submissions
+           job runner = pbs
+           hosts = localhost
+           install target = localhost
+
+       [[slurm_supercomputer]]
+           # This computer with Slurm requires you to use a login node.
+           hosts = login_node01, login_node02  # Cylc will pick a host.
+           job runner = slurm
+
+
+Note that in these examples, it is assumed that ``linuxboxNN``, ``pbs_local`` and
+``slurm_supercomputer`` have distinct file systems.
+Sets of platforms which share a file system must specify
+a single :ref:`install target <Install Targets>`.
+
+.. note::
+   If an install target is not set, a platform will use its own platform name
+   as the install target name. If multiple platforms share a file system
+   but have separate :ref:`install targets <Install Targets>` task initialization
+   will fail.
+
+.. _host-to-platform-logic:
+
+How Cylc 8 handles host-to-platform upgrades
+--------------------------------------------
+
+If you are using the deprecated ``[remote]`` and ``[job]`` runtime sections,
+Cylc 8 will attempt to find a platform which matches the task specification.
+
+.. important::
+
+   Cylc 8 needs platforms matching the Cylc 7 job configuration to be
+   available in :cylc:conf:`global.cylc[platforms]`.
+
+
+Example
+^^^^^^^
+
+If, for example you have a **Cylc 8** ``global.cylc`` with the following
+platforms section:
+
+.. code-block:: cylc
+
+   [platforms]
+       [[supercomputer_A]]
+           hosts = localhost
+           job runner = slurm
+           install target = localhost
+       [[supercomputer_B]]
+           hosts = tigger, wol, eeyore
+           job runner = pbs
+
+And you have a workflow runtime configuration:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[task1]]
+           [[[job]]]
+               batch system = slurm
+       [[task2]]
+           [[[remote]]]
+               host = eeyore
+           [[[job]]]
+               batch system = pbs
+
+Then, ``task1`` will be assigned platform
+``supercomputer_A`` because the specified host (implicitly ``localhost``)
+is in the list of hosts for ``supercomputer_A`` **and** the batch system is the same.
+Likewise, ``task2`` will run on ``supercomputer_B``.
+
+.. important::
+
+   For simplicity, and because the ``host`` key is a special case (it can
+   match and host in ``[platform]hosts``) we only show these two config keys
+   here. In reality, **Cylc 8 compares the whole of**
+   ``[<task>][job]`` **and** ``[<task>][remote]``
+   **sections and all items must match to select a platform.**
diff --git a/nightly_8.3/html/_sources/7-to-8/major-changes/play-pause-stop.rst.txt b/nightly_8.3/html/_sources/7-to-8/major-changes/play-pause-stop.rst.txt
new file mode 100644
index 00000000000..b7e9d750767
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/major-changes/play-pause-stop.rst.txt
@@ -0,0 +1,123 @@
+.. _728.play_pause_stop:
+
+Play Pause Stop
+===============
+
+.. admonition:: Does This Change Affect Me?
+   :class: tip
+
+   Yes if you run Cylc workflows.
+
+
+Overview
+--------
+
+Cylc 8 uses a simplified model for controlling workflows based on the controls
+of a tape player.
+
+There are now three controls, play, pause and stop:
+
+* When a workflow is playing, the :term:`scheduler` is running.
+* When a workflow is paused, no new jobs will be submitted.
+* When a workflow is stopped the :term:`scheduler` is no longer running.
+
+These controls are available in the web GUI or on the command line with the
+commands:
+
+* ``cylc play``
+* ``cylc pause``
+* ``cylc stop``
+
+A workflow can be safely played, paused and stopped any number of times without
+interrupting the workflow.
+
+
+Re-Running Workflows
+--------------------
+
+The ``cylc play`` command will always pick up where it left off (a
+:term:`restart`).
+
+If you want to re-run the entire workflow again from the start either:
+
+* :ref:`Install a new run<Using Cylc Install>`.
+* Or if you want to keep the data from the old run start a new :term:`flow` at
+  the beginning of the graph, and stop the original flow.
+
+It is still possible to re-run workflows in-place in the Cylc 7 manner, however,
+this is discouraged.
+To do this remove the workflow database as well as any other evidence of the 
+previous run that is no longer desired:
+
+.. code-block:: bash
+
+   # remove the workflow database, the work, share and log directories
+   cylc clean <id> --rm .service/db:work:share:log
+
+   # only remove the worflow database
+   $ cylc clean <id> --rm .service/db
+
+Then restart with ``cylc play``.
+
+
+Hold & Release
+--------------
+
+The ``cylc hold`` and ``cylc release`` commands are still present. These
+work on individual tasks rather than the workflow as a whole.
+
+
+Mapping To Old Commands
+-----------------------
+
+.. list-table::
+   :class: grid-table
+
+   * -
+     - **Cylc 7**
+     - **Rose 2019**
+     - **Cylc 8** (Rose 2)
+
+   * - Play
+     - ::
+
+         cylc run <id>
+     - ::
+
+         rose suite-run
+     - ::
+
+         cylc play <id>
+
+   * - Pause
+     - ::
+
+         cylc hold <id>
+     - ::
+
+         cylc hold <id>
+     - ::
+
+         cylc pause <id>
+
+   * - Resume
+     - ::
+
+         cylc release <id>
+     - ::
+
+         cylc release <id>
+     - ::
+
+         cylc play <id>
+
+   * - Stop
+     - ::
+
+         cylc stop <id>
+     - ::
+
+         rose suite-shutdown
+     - ::
+
+         cylc stop <id>
diff --git a/nightly_8.3/html/_sources/7-to-8/major-changes/python-2-3.rst.txt b/nightly_8.3/html/_sources/7-to-8/major-changes/python-2-3.rst.txt
new file mode 100644
index 00000000000..aa79f79a59f
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/major-changes/python-2-3.rst.txt
@@ -0,0 +1,144 @@
+.. _py23:
+
+Python 2 => 3
+=============
+
+.. admonition:: Does This Change Affect Me?
+   :class: tip
+
+   This change will affect you if your workflows extend Cylc or Jinja2 with
+   custom Python scripts.
+
+   This does not impact :term:`task` scripts; Cylc can still run Python 2
+   tasks if desired.
+
+
+Overview
+--------
+
+.. _six: https://pypi.org/project/six/
+
+Cylc 7 ran under Python 2; Cylc 8 runs under Python 3.
+
+Cylc can be extended with custom Python scripts. These scripts are run under
+the same version of Python used by Cylc.
+
+As a result, if you are moving from Cylc 7 to Cylc 8, you must upgrade any
+scripts from Python 2 to Python 3 in the process.
+
+If you want to support both Cylc 7 and 8, you must support both Python 2 and 3.
+There are tools to help you do this, e.g. `six`_.
+
+
+Impacted Scripts
+----------------
+
+The following scripts must be upgraded if used:
+
+:ref:`CustomJinja2Filters`
+   These allow you to extend Jinja2 with Python code.
+
+   These scripts are located in the following directories within a workflow:
+
+   * ``Jinja2Filters``
+   * ``Jinja2Tests``
+   * ``Jinja2Globals``
+
+:ref:`Modules imported by Jinja2 <jinja2.importing_python_modules>`
+   Python modules can be imported from Jinja2 e.g:
+
+   .. code-block:: jinja
+
+      {% from "os" import path %}
+
+:ref:`Custom Trigger Functions`
+   Any custom xtrigger functions.
+
+
+Package Name Changes
+--------------------
+
+Three Python packages have been renamed between Cylc 7 and Cylc 8:
+
+* ``cylc`` => ``cylc.flow``
+* ``isodatetime`` => ``metomi.isodatetime``
+* ``rose`` => ``metomi.rose``
+
+If you are importing from these packages you will need to update the package names.
+
+Here are some examples:
+
+.. rubric:: Convert Python code from Cylc 7 to Cylc 8:
+
+.. code-block:: diff
+
+   - from cylc import LOG
+   + from cylc.flow import LOG
+   - from isodatetime.data import Duration
+   + from metomi.isodatetime.data import Duration
+
+.. rubric:: Python code which supports both Cylc 7 & Cylc 8:
+
+.. code-block:: python
+
+   import sys
+   if sys.version[0] == '3':
+       from cylc.flow import LOG
+       from metomi.isodatetime.data import Duration
+   else:
+       from cylc import LOG
+       from isodatetime.data import Duration
+
+.. rubric:: Convert Jinja2 code from Cylc 7 to Cylc 8:
+
+.. code-block:: diff
+
+   #!Jinja2
+   - {% from "cylc" import LOG %}
+   + {% from "cylc.flow" import LOG %}
+     {% do LOG.debug("Hello World!") %}
+
+.. rubric:: Jinja2 code which supports both Cylc 7 & Cylc 8:
+
+.. code-block:: jinja
+
+   #!Jinja2
+   {% from "sys" import version -%}
+   {% if version[0] == '3' -%}
+       {% from "cylc.flow" import LOG -%}
+   {% else -%}
+       {% from "cylc" import LOG -%}
+   {% endif -%}
+
+   {% do LOG.debug("Hello World!") %}
+
+
+Jinja2 - integers with leading zeros
+------------------------------------
+
+Integers with leading zeros in Jinja2 expressions are now illegal and will
+cause an error like  ``Jinja2Error: expected token 'x', got 'integer'``.
+For example:
+
+.. code-block:: console
+
+   $ cylc validate my-workflow
+   Jinja2Error: expected token 'end of statement block', got 'integer'
+   File ~/cylc-run/my-workflow/flow.cylc
+     {% if START_HOUR == 06 or START_HOUR == 12 %}	 <-- TemplateSyntaxError
+
+The solution in this case is:
+
+.. code-block:: diff
+
+   -{% if START_HOUR == 06 or START_HOUR == 12 %}
+   +{% if START_HOUR == 6 or START_HOUR == 12 %}
+
+
+Rose
+----
+
+The same changes also impact Rose extensions:
+
+* :ref:`Rose Macros <rose:api-rose-macro>`
+* :ref:`Rose Ana Tasks <rose:builtin.rose_ana>`
diff --git a/nightly_8.3/html/_sources/7-to-8/major-changes/remote-owner.rst.txt b/nightly_8.3/html/_sources/7-to-8/major-changes/remote-owner.rst.txt
new file mode 100644
index 00000000000..433be640e34
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/major-changes/remote-owner.rst.txt
@@ -0,0 +1,40 @@
+.. _728.remote_owner:
+
+Remote Usernames
+================
+
+.. admonition:: does this change affect me?
+   :class: tip
+
+   * If you set :cylc:conf:`flow.cylc[runtime][<namespace>][remote]owner`
+   * If you use ``--owner`` on the command line
+
+
+Overview
+--------
+
+If your username differs between the :term:`scheduler` host and job hosts, then
+you may have configured Cylc to run jobs under the correct account using
+:cylc:conf:`flow.cylc[runtime][<namespace>][remote]owner`
+or used the ``--owner`` Cylc command line option
+with commands which access remote hosts.
+
+.. _SSH configuration file: https://man.openbsd.org/ssh_config
+
+Cylc no longer supports specifying the username in this way, we suggest
+configuring your remote username using the `SSH configuration file`_ e.g:
+
+.. code-block:: none
+
+   Host MyHost
+     User root
+
+SSH will then automatically use the configured username when connecting to the
+remote machine.
+
+Since Cylc uses SSH and Rsync to manage job hosts, the SSH config also configures
+Cylc.
+
+.. note::
+
+   This approach using the SSH configuration file also works with Cylc 7.
diff --git a/nightly_8.3/html/_sources/7-to-8/major-changes/scheduling.rst.txt b/nightly_8.3/html/_sources/7-to-8/major-changes/scheduling.rst.txt
new file mode 100644
index 00000000000..1da463951d3
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/major-changes/scheduling.rst.txt
@@ -0,0 +1,47 @@
+.. _728.scheduling_algorithm:
+
+Scheduling Algorithm
+====================
+
+.. seealso::
+
+   Migration Guide:
+
+   * :ref:`728.optional_outputs`
+
+   User Guide:
+
+   * :ref:`User Guide Required Outputs`
+   * :ref:`User Guide Optional Outputs`
+   * :ref:`user-guide-reflow`
+   * :ref:`n-window`
+
+Cylc can manage infinite workflows of repeating tasks:
+
+.. image:: ../../img/cycling.png
+   :align: center
+
+Cylc 8 has a new scheduling algorithm that:
+
+- Is much more efficient because it only has to manage active tasks
+
+  - waiting tasks are not pre-spawned before they are needed
+  - succeeded tasks are not kept across the active task window
+  - no costly indiscriminate dependency matching is done
+- Distinguishes between :term:`optional <optional output>` and
+  :term:`required <required output>` task outputs, to support:
+
+  - :term:`graph branching` without :term:`suicide triggers <suicide trigger>`
+  - correct diagnosis of :term:`workflow completion`
+- Causes no implicit dependence on previous-instance job submit
+
+  - instances of same task can run out of cycle point order
+  - the workflow will not unnecessarily stall downstream of failed tasks
+- Provides a sensible active-task based window on the evolving workflow
+
+  - (to fully understand which tasks appeared in the Cylc 7 GUI you had to
+    understand the scheduling algorithm)
+- Supports multiple concurrent :term:`flows<flow>` within the same workflow.
+- Can start a workflow from any task or tasks in the graph (no need for
+  checkpoint restart)
+- Can limit activity within as well as across cycles, without risking a stall
diff --git a/nightly_8.3/html/_sources/7-to-8/major-changes/suicide-triggers.rst.txt b/nightly_8.3/html/_sources/7-to-8/major-changes/suicide-triggers.rst.txt
new file mode 100644
index 00000000000..c24e925b4c5
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/major-changes/suicide-triggers.rst.txt
@@ -0,0 +1,110 @@
+.. _728.optional_outputs:
+
+Graph branching, optional outputs and suicide triggers
+======================================================
+
+Cylc 8 has a :ref:`new scheduling algorithm <728.scheduling_algorithm>` and
+a new syntax for dealing with tasks that may not necessarily complete.
+It handles :term:`graphs <graph>` in an event-driven manner which means
+that a workflow can follow different paths in different eventualities (without
+the need for suicide triggers). This is called :term:`graph branching`.
+
+.. admonition:: Does This Change Affect Me?
+   :class: tip
+
+   This change affects you if you are upgrading a Cylc 7 workflow that
+   contains graph branches that are not necessarily expected to complete
+   at runtime. You might get a ``GraphParseError`` during validation with
+   Cylc 8.
+
+   Typically this will be the case if you are using
+   :term:`suicide triggers <suicide trigger>` (marked by ``!`` before the
+   task name in the graph, e.g. ``foo:fail => !foo``).
+
+   You should *not* perform this upgrade if still in :ref:`cylc_7_compat_mode`
+   (``suite.rc`` filename).
+
+
+Required Changes
+^^^^^^^^^^^^^^^^
+
+Any :term:`task outputs <task output>` that are not necessarily expected to
+complete must be marked as :term:`optional <optional output>` using ``?``.
+Suicide triggers can then be removed.
+
+Example
+^^^^^^^
+
+Here is an example Cylc 7 :term:`graph`:
+
+.. code-block:: cylc-graph
+
+   foo:fail => recover
+
+   foo | recover => bar
+
+   # Remove the "recover" task in the success case.
+   foo => ! recover
+   # Remove the "foo" task in the fail case.
+   recover => ! foo
+
+.. digraph:: Example
+   :align: center
+
+   subgraph cluster_1 {
+      label = ":fail"
+      color = "red"
+      fontcolor = "red"
+      style = "dashed"
+      recover
+   }
+
+   foo -> recover
+   recover -> bar [arrowhead="onormal"]
+   foo -> bar [arrowhead="onormal" weight=2]
+
+Validating this with Cylc 8 will give an error:
+
+.. code-block:: console
+
+   $ cylc validate .
+   GraphParseError: Opposite outputs foo:succeeded and foo:failed must both be optional if both are used
+
+In Cylc 8, all task outputs are :term:`required <required output>` to complete
+unless otherwise indicated. However, it is impossible for both ``:succeed``
+and ``:fail`` to occur when a task runs.
+
+The solution is to mark the outputs which are :term:`optional <optional output>`
+(in this case ``foo:succeed`` and ``foo:fail``) with a ``?`` in the graph.
+Also, the suicide triggers can be removed.
+
+.. code-block:: diff
+
+   - foo:fail => recover
+   + foo:fail? => recover
+
+   - foo | recover => bar
+   + foo? | recover => bar
+
+   - # Remove the "recover" task in the success case.
+   - foo => ! recover
+   - # Remove the "foo" task in the fail case.
+   - recover => ! foo
+
+In Cylc 7, suicide triggers were used to remove tasks that did not complete
+during runtime. Cylc 8's event-driven graph handling allows such graph
+branching using optional output syntax, without the need for suicide triggers.
+(Suicide triggers are still supported in Cylc 8; however, they are most
+likely unnecessary.)
+
+.. tip::
+
+   Remember: ``foo?`` is short for ``foo:succeed?``. It is the *output*
+   that is optional, not the task itself.
+
+.. seealso::
+
+   - :ref:`Required <User Guide Required Outputs>` and
+     :ref:`optional <User Guide Optional Outputs>` outputs in the User Guide.
+
+   - :ref:`Graph Branching` in the user guide.
diff --git a/nightly_8.3/html/_sources/7-to-8/major-changes/task-job-states.rst.txt b/nightly_8.3/html/_sources/7-to-8/major-changes/task-job-states.rst.txt
new file mode 100644
index 00000000000..3265b1c2710
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/major-changes/task-job-states.rst.txt
@@ -0,0 +1,24 @@
+.. _728.task_job_states:
+
+Task/Job States
+===============
+
+.. seealso::
+
+   - User Guide :ref:`task-job-states`
+
+:term:`Tasks <task>` are nodes in the abstract workflow graph representing
+processes that should run once their prerequisites are satisfied. :term:`Jobs
+<job>` are the real processes submitted to execute these tasks (or at least, at
+the submission stage, real job scripts). A task can have multiple jobs, by
+automatic retries and manual re-triggering.
+
+Cylc 7 had 13 task/job states. The GUI only showed tasks, with job data
+from the latest job.
+
+Cylc 8 has only 8 task/job states. The Cylc 8 UI shows both task and jobs.
+Task icons are monochrome circles; job icons are coloured squares. The running
+task icon incorporates a radial progress indicator.
+
+.. image:: ../../img/task-job.png
+   :align: center
diff --git a/nightly_8.3/html/_sources/7-to-8/major-changes/template-vars.rst.txt b/nightly_8.3/html/_sources/7-to-8/major-changes/template-vars.rst.txt
new file mode 100644
index 00000000000..a97836badaf
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/major-changes/template-vars.rst.txt
@@ -0,0 +1,95 @@
+Template Variables
+==================
+
+.. admonition:: Does This Change Affect Me?
+   :class: tip
+
+   Read this section if you set Cylc template variables on the command line
+   using the ``-s``, ``--set`` or ``-set-file`` options.
+
+   This does *not* affect the Rose ``jinja2:suite.rc`` and
+   ``empy:suite.rc`` variables set using the ``-S`` option to the
+   ``rose suite-run`` command.
+
+
+Overview
+--------
+
+Template variables are passed to :ref:`Jinja2 <Jinja>` or
+:ref:`EmPy <User Guide EmPy>` for parsing the workflow definition in the
+:cylc:conf:`flow.cylc` file.
+
+In Cylc 7 template variables could only be strings, in Cylc 8 they can be any
+valid Python literal including numbers, booleans, and lists.
+
+
+Changes
+-------
+
+Strings must be explicitly quoted i.e. ``key="value"`` rather than ``key=value``.
+
+
+Example
+-------
+
+.. rubric:: Setting template variables on the command line:
+
+.. code-block:: bash
+
+   # Cylc 7
+   cylc run <suite> -s 'FOO=abc'
+   # Cylc 8
+   cylc play <flow> -s 'FOO="abc"'
+
+
+.. rubric:: Setting template variables in a "set file" (using ``--set-file``):
+
+.. code-block:: python
+
+   # Cylc 7
+   FOO = abc
+   BAR = bcd
+
+   # Cylc 8
+   FOO = "abc"
+   BAR = "bcd"
+
+
+New Features
+------------
+
+Any valid Python literals
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Template variables can now be any valid Python literals e.g:
+
+.. code-block:: python
+
+   "string"   # string
+   123        # integer
+   12.34      # float
+   True       # boolean
+   None       # None type
+   [1, 2, 3]  # list
+   (1, 2, 3)  # tuple
+   {1, 2, 3}  # set
+   {"a": 1, "b": 2, "c": 3}  # dictionary
+
+See :ref:`jinja2-template-variables` for more information.
+
+Shorthand for list of strings
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. versionadded:: 8.2
+
+A new shorthand argument (``-z``/``--set-list``/``--set-template``)
+has been introduced allowing easier definition of template
+variables containing lists of strings on the command line:
+
+.. code-block:: shell
+
+   # Before (still works)
+   cylc <command> --set "X=['a', 'b', 'c']"
+
+   # After
+   cylc <command> --set-list X=a,b,c
diff --git a/nightly_8.3/html/_sources/7-to-8/major-changes/ui.rst.txt b/nightly_8.3/html/_sources/7-to-8/major-changes/ui.rst.txt
new file mode 100644
index 00000000000..9542ee5b436
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/major-changes/ui.rst.txt
@@ -0,0 +1,67 @@
+.. _728.ui:
+
+Cylc 8 UIs
+==========
+
+There are two UI options available to monitor and control workflows at Cylc 8.
+
+
+Cylc TUI
+--------
+
+Cylc TUI is a text based UI, available on the command line with
+``cylc tui <workflow_id>``.
+
+It remains in development, with smooth running with large workflows soon to be
+resolved.
+
+.. figure:: ../../img/cylc-tui.png
+   :figwidth: 80%
+   :align: center
+
+   Cylc 8 TUI application
+
+This replaces Cylc 7's ``cylc monitor``.
+
+
+Cylc Web GUI
+------------
+
+Cylc 8 web GUI is available, both as a single user application, ``cylc gui``
+and as a multi user hub, ``cylc hub``. Both are dependent on `Cylc UI Server`_ installation.
+
+.. figure:: ../../img/cylc-ui-dash.png
+   :figwidth: 80%
+   :align: center
+
+   Cylc 8 UI dashboard
+
+.. figure:: ../../img/cylc-ui-tree.png
+   :figwidth: 80%
+   :align: center
+
+   Cylc 8 UI workflow tree view
+
+Launching the UI via the hub will require authentication.
+The default Authenticator uses PAM to authenticate system users with their
+username and password.
+
+Going via the hub unlocks the ability to grant other users the permission
+to view and interact with workflows running under your account.
+Site administrators will need to configure this, for more information
+see :ref:`cylc.uiserver.multi-user`.
+
+.. figure:: ../../img/hub.png
+   :figwidth: 80%
+   :align: center
+
+   Cylc 8 Hub authentication page
+
+See :ref:`UI_Server_config` for how to configure the GUI.
+
+As some workflows can be very large, or even infinite, the UI uses a "window"
+system to determine what to display. For more information, see :ref:`n-window`.
+
+The UI continues to be developed.
+
+.. TODO Possibly add more screen-grabs/information here.
diff --git a/nightly_8.3/html/_sources/7-to-8/summary.rst.txt b/nightly_8.3/html/_sources/7-to-8/summary.rst.txt
new file mode 100644
index 00000000000..342e7023727
--- /dev/null
+++ b/nightly_8.3/html/_sources/7-to-8/summary.rst.txt
@@ -0,0 +1,263 @@
+.. _728.overview:
+
+Summary Of Major Changes
+========================
+
+Terminology
+-----------
+
+Cylc now uses more widely understood terms for several core concepts.
+
+.. table::
+
+   =============     ==============
+   Cylc 7 Term       Cylc 8 Term
+   =============     ==============
+   suite             *workflow*
+   batch system      *job runner*
+   suite daemon      *scheduler*
+   ``suite.rc``      ``flow.cylc``
+   =============     ==============
+
+Note the configuration filename is now ``flow.cylc``, not ``suite.rc``.
+
+Cylc 7 Compatibility Mode
+-------------------------
+
+Continuing to use the old ``suite.rc`` filename triggers a :ref:`backward
+compatibility mode<cylc_7_compat_mode>` in Cylc 8 which supports Cylc 7
+workflow configurations out of the box, with
+:ref:`some caveats <compat_required_changes>`. However, to future-proof
+your workflow and take full advantage of Cylc 8 you should upgrade to Cylc 8 syntax.
+
+Upgrading To Cylc 8
+-------------------
+.. seealso::
+
+   * Major Changes: :ref:`configuration-changes`
+   * Major Changes: :ref:`cylc_7_compat_mode`
+
+There have been some configuration changes at Cylc 8.
+To upgrade your Cylc 7 suite to a Cylc 8 workflow, first make sure it validates
+in Cylc 7 without any warnings, then rename the workflow configuration file
+from ``suite.rc`` to  ``flow.cylc``, then run ``cylc validate`` in Cylc 8 and
+take action on any warnings.
+
+.. TODO Add ref to breaking changes section within Major changes, once created,
+   including optional ouputs.
+
+.. note::
+
+   Validation warnings use a :ref:`shorthand notation<config_item_shorthand>`
+   to refer to nested configuration settings on a single line, like this:
+   ``[section][sub-section]item``.
+
+
+New Web and Terminal UIs
+------------------------
+.. seealso::
+
+   * Major Changes: :ref:`728.ui`
+
+At Cylc 8, there are two UIs available to monitor and control your workflows:
+
+- a terminal UI application
+
+   .. code-block:: bash
+
+      cylc tui <workflow_id>
+
+- a web based UI application (requires `Cylc UI Server`_)
+
+   .. code-block:: bash
+
+      cylc gui
+
+Command Changes
+---------------
+
+``cylc run <suite_name>`` at Cylc 7 has become ``cylc play <workflow_id>``.
+
+.. seealso::
+
+   * User Guide: :ref:`WorkflowStartUp`
+   * Major Changes: :ref:`728.play_pause_stop`
+   * Major Changes: :ref:`MajorChangesCLI`
+
+At Cylc 8, use ``cylc pause <workflow_id>`` to pause a workflow, halting all job
+submission. To restart the workflow, use ``cylc play <workflow_id>``.
+
+To start a fresh run, use ``cylc install`` and play it safely in the new run
+directory.
+
+(Note that ``cylc hold`` and ``cylc release`` pause and release individual tasks.)
+
+Task/Job States
+---------------
+
+:term:`Tasks <task>` are nodes in the abstract workflow graph, representing
+applications to run at the appropriate point in the workflow. A :term:`job <job>`
+is the script (and subsequent process) submitted by Cylc to
+actually run the application. A task can have multiple jobs as the result of
+automatic retries or manual re-triggering.
+
+
+The 13 task/job states in Cylc 7 have been simplified to 8. Tasks and jobs have been
+separated and states of both can be viewed in the GUI.
+
+.. image:: ../img/task-job.png
+   :align: center
+
+For more information, see :ref:`728.task_job_states`.
+
+
+Optional and Required Task Outputs
+----------------------------------
+
+.. seealso::
+
+   * Major Changes::ref:`728.optional_outputs`
+   * User Guide::ref:`User Guide Required Outputs`
+   * User Guide::ref:`User Guide Optional Outputs`
+
+By default, all Cylc 8 tasks are required to succeed - i.e., success is
+a :term:`required output`. Otherwise they will be marked
+as :term:`incomplete tasks<incomplete task>` needing user intervention.
+In a workflow with incomplete tasks, if there is nothing left to do, the
+scheduler will :term:`stall` rather than shut down.
+
+Alternatively, task outputs can be marked as :term:`optional <optional output>`.
+This supports :term:`graph branching` and it allows the scheduler to
+correctly diagnose :term:`workflow completion`.
+
+Platform Awareness
+------------------
+
+.. seealso::
+
+   :ref:`Platforms at Cylc 8.<majorchangesplatforms>`
+
+Cylc 7 was aware of individual job hosts - one selected a host using:
+``[runtime][<namespace>][remote]host``.
+
+Cylc 8 is aware of sets of host settings called
+:term:`[job] platforms <platform>`. To choose a platform for a task use
+``[runtime][<namespace>]platform``
+
+Hosts of a platform must share a file system and :term:`job runner`:
+If one host is unavailable Cylc 8 can use other hosts
+on the same platform to interact with jobs.
+
+The same hosts can belong to multiple platforms, for example
+you might be able to use the same host to launch both background and Slurm
+jobs.
+
+.. note::
+
+   Cylc 8 will pick a sensible platform for your Cylc 7 settings,
+   These deprecated settings will be removed in a future release.
+
+
+Workflow Installation
+---------------------
+
+Cylc 8 supports workflow installation.
+
+For users of `Rose`_, this replaces the functionality of ``rose suite-run``.
+
+Cylc Install
+^^^^^^^^^^^^
+
+.. seealso::
+
+   * Major Changes: :ref:`Moving to Cylc Install<majorchangesinstall>`
+
+Cylc install cleanly separates workflow :term:`source directory` from
+:term:`run directory`. It installs workflow files ready for ``cylc play``.
+
+.. code-block:: console
+
+   $ pwd
+   ~/cylc-src/demo
+
+   $ ls
+   flow.cylc
+
+   $ cylc install
+   INSTALLED demo/run1 from /home/oliverh/cylc-src/demo
+
+   $ cylc play demo
+   ...
+   demo/run1: oliver.niwa.local PID=6702
+
+By default, run numbers increment with each install.
+
+
+File Installation
+^^^^^^^^^^^^^^^^^
+When the first job runs on a remote platform (after start-up, or after a ``cylc reload``), a
+remote initialization process is triggered to install workflow files there.
+
+Symlink Dirs
+^^^^^^^^^^^^
+
+.. seealso::
+
+   * User Guide: :ref:`SymlinkDirs`
+   * User Guide: :ref:`RemoteInit`
+
+Symlinking the workflow directories used by Cylc provides a useful way of
+managing disk space.
+
+These symlinks are created on a per install target basis, as configured in
+:cylc:conf:`global.cylc[install][symlink dirs]`. Install targets are managed on
+a site level, for more information see :ref:`Install Targets`
+
+This functionality replaces the Rose ``root dir`` configuration
+for Cylc 7 (however, note it does not allow per-workflow configuration).
+
+
+Removing Workflows
+------------------
+
+Workflows can be deleted with ``cylc clean`` - see :ref:`Removing-workflows`. This
+replaces the ``rose suite-clean`` functionality.
+
+Architecture
+------------
+
+There have been fundamental changes to the architecture of Cylc. You can read
+about the new system design here :ref:`architecture-reference`.
+
+Scheduling Algorithm
+--------------------
+
+The scheduling algorithm has been changed, more information is available:
+:ref:`728.scheduling_algorithm`.
+
+Other Changes
+-------------
+
+There are an assortment of other features implemented at Cylc 8. Some noteworthy
+minor changes include:
+
+Runahead Limit
+   The default runahead limit has been increased from three cycles to five.
+Queues
+   :ref:`InternalQueues` are now more efficient (for the :term:`scheduler`),
+   we now recommend using queues to restrict the number of running tasks in
+   situations where graphing may have been used previously.
+Time Zones
+   :cylc:conf:`[scheduler]cycle point time zone` now defaults to UTC, unless you
+   are working in :ref:`cylc_7_compat_mode`.
+Job Scripts
+   All user-defined task scripting now runs in a subshell, so you can safely
+   switch Python environments inside tasks without affecting Cylc.
+   Further information is available in the User Guide: :ref:`JobScripts`.
+Packaging
+   Cylc 8 (and its package dependencies) is now available from Conda Forge and PyPI
+   for installations into a Python 3 virtual environment.
+Remote usernames
+   If usernames differ on remote job hosts they must now be configured using
+   an SSH config file rather than the via Cylc 7 ``[remote]owner`` configuration.
+   See :ref:`728.remote_owner`.
diff --git a/nightly_8.3/html/_sources/glossary.rst.txt b/nightly_8.3/html/_sources/glossary.rst.txt
new file mode 100644
index 00000000000..6daa019174a
--- /dev/null
+++ b/nightly_8.3/html/_sources/glossary.rst.txt
@@ -0,0 +1,1696 @@
+.. Glossary Conventions - for consistency
+
+   1) Linking to other glossary items in the text:
+      - there's no need to link multiple instances of the same term in the same
+        paragraph
+      - but duplicate links may be desirable if further apart
+
+   2) Examples can be given but should be brief and on point
+
+   3) "seealso" blocks should contain, in order:
+      - config reference links
+      - glossary items not linked in the main text
+      - documentation links (e.g. User Guide)
+      - external web site links
+
+      To avoid unnecessarily long lists and repetition don't duplicate glossary
+      links from the main text
+
+   4) To avoid surprising users by jumping out of the page, non-glossary links
+      should:
+      - primarily be in the "seealso" list
+      - not look like another glossary term,
+        e.g. :ref:`Cylc User Guide <blah>` not just :ref:`blah`.
+
+     5) Use singular rather than plural terms for glossary definitions (e.g. task rather than tasks).
+
+
+.. TODO Add more user guide and config links to all items, where appropriate.
+
+Glossary
+========
+
+.. glossary::
+   :sorted:
+
+   validation
+   workflow validation
+      Validation parses a ``flow.cylc`` file to report any illegal items,
+      syntax errors, deprecation warnings, and other problems.
+
+      It is done automatically at start up, and should be done manually with
+      the ``cylc validate`` command after making changes.
+
+
+   retry
+   task retry
+   try number
+      Tasks can be configured to retry automatically on failure, one or more
+      times. They return to the ``waiting`` state with a :term:`clock trigger`
+      to delay the retry, and only go to the ``failed`` :term:`state <task
+      state>` once the final try fails.
+
+      The task try number increments with every automatic retry, and is
+      passed to the job environment as ``$CYLC_TASK_TRY_NUMBER``.
+
+      .. seealso::
+
+         * :ref:`Cylc User Guide <TaskRetries>`
+
+
+   submit number
+   task submit number
+      Every time a task re-runs, whether by automatic :term:`retry` or manual
+      triggering, its submit number increments. It is passed to
+      the job environment as ``$CYLC_TASK_SUBMIT_NUMBER``.
+
+      Submit number also appears in the job log path so that job log files
+      don't get overwritten.
+
+
+   window
+   n-window
+   active window
+   workflow window
+   active task pool
+      This is a :term:`graph`-based window or view of the workflow at runtime,
+      including tasks out to ``n`` graph edges from current :term:`active
+      tasks<active task>`. The *active window* is ``n=0``.
+
+      .. seealso::
+
+         * :ref:`Cylc User Guide <n-window>`
+
+
+   artificial dependency
+      An artificial :term:`dependency` in the :term:`graph` does not reflect
+      real dependence between the tasks involved. This can sometimes be
+      useful but should be avoided if possible. Artificial dependencies muddy
+      the real dependencies of the workflow and they may unnecessarily
+      constrain the scheduler.
+
+      In the following :term:`cycling` workflow, if the task ``foo`` does not
+      actually depend on any real outputs of ``baz`` in the previous cycle,
+      then the intercycle dependence is artificial.
+
+      .. code-block:: cylc-graph
+
+         P1 = """
+            foo => bar => baz
+            baz[-P1] => foo
+         """
+
+
+   workflow
+   cylc workflow
+      A workflow is a collection of :term:`tasks <task>` with
+      :term:`dependencies <dependency>` between them that govern the order in
+      which they can run.
+
+      Cylc workflows are defined in :cylc:conf:`flow.cylc` files.
+
+      For example, the following workflow represents the beer brewing process:
+
+      .. code-block:: cylc
+         :caption: flow.cylc
+
+         [scheduling]
+             cycling mode = integer
+             initial cycle point = 1
+             [[graph]]
+                 # repeat this for each batch
+                 P1 = """
+                     # the stages of brewing in the order they must occur in:
+                     malt => mash => sparge => boil => chill => ferment => rack
+                     # finish the sparge of one batch before starting the next:
+                     sparge[-P1] => mash
+                 """
+
+      .. admonition:: Cylc 7
+         :class: tip
+
+         In Cylc 7 and earlier, "workflows" were referred to as "suites".
+
+
+   workflow name
+      The workflow name is a path relative to the cylc-run directory which
+      contains one or more workflow :term:`run directories <run directory>`.
+
+      Tasks can get the workflow name from ``$CYLC_WORKFLOW_NAME`` in their
+      runtime environment.
+
+      Unlike :term:`workflow id` the name is not always a unique identifier. In
+      the example below ``run1`` and ``run2`` would both have the same name,
+      ``my_workflow``:
+
+      .. code-block:: bash
+
+         `- my_workflow
+           |- runN
+           |- run1
+           `- run2
+
+      .. note::
+         If you are not using named or numbered runs, the workflow name will be
+         the same as :term:`workflow id`.
+
+
+   active
+   active task
+      An active task is a task in the submitted or running state.
+
+
+   active-waiting
+   active-waiting task
+      An active-waiting task is a task in the :term:`scheduler's <scheduler>`
+      ``n=0`` :term:`active window` that is ready to run according to its task
+      prerequisites, but is still waiting on a limiting mechanism such as a
+      :term:`clock trigger`, task :term:`hold`, or :term:`internal queue`.
+
+
+   external trigger
+   xtrigger
+      External triggers allow :term:`tasks <task>` in the :term:`graph` to
+      depend on external events, such as a file being delivered to some
+      location, or a database being updated in some way.
+
+      The :term:`scheduler` can repeatedly call a user-supplied Python function
+      to check that the external event has occurred.
+
+      Cylc has a built in external trigger for triggering off of events in
+      other workflows.
+
+      .. seealso::
+
+         * :cylc:conf:`[scheduling][xtriggers]`
+         * :term:`clock trigger`
+         * :ref:`Cylc User Guide <Section External Triggers>`
+         * :ref:`Cylc User Guide <Built-in Workflow State Triggers>`
+
+
+   queue
+   internal queue
+      Internal queues (so called to distinguish them from external batch
+      queueing systems) allow you to limit how many :term:`tasks <task>` can be
+      active (submitted or running) at once, across defined groups of tasks.
+
+      Use queues prevent large or busy workflows from swamping their
+      :term:`job platforms <job platform>` with too many jobs at once.
+
+      .. seealso::
+
+         * :cylc:conf:`[scheduling][queues]`
+         * :ref:`Cylc User Guide <InternalQueues>`
+
+
+   workflow id
+      A workflow can be uniquely identified by the relative path between the :term:`cylc-run directory`
+      (``~/cylc-run``) and its :term:`run directory`.
+
+      This ID is used on the command line and in the GUI, to target the right
+      workflow.
+
+      For example, the ID of the workflow in ``~/cylc-run/foo/bar/run1``
+      is ``foo/bar/run1``.
+
+      Unlike :term:`workflow name` the ID is always a unique identifier. In the
+      example below each run has a different ID despite sharing the same
+      :term:`workflow name` (``my_workflow``).
+
+      .. code-block:: bash
+
+         `- my_workflow
+           |- runN
+           |- run1      # CYLC_WORKFLOW_ID = my_workflow/run1
+           `- run2      # CYLC_WORKFLOW_ID = my_workflow/run2
+
+
+   graph
+      A workflow graph is defined by one or more :term:`graph strings<graph string>`
+      under the :cylc:conf:`[scheduling][graph]` section of a :term:`workflow<Cylc
+      workflow>` definition.
+
+      For example, the following is, collectively, a graph:
+
+      .. code-block:: cylc-graph
+
+         P1D = foo => bar
+         PT12H = baz
+
+      .. digraph:: Example
+         :align: center
+
+         size = "7,15"
+
+         subgraph cluster_1 {
+             label = "2000-01-01T00:00Z"
+             style = dashed
+             "01T00/foo" [label="foo\n2000-01-01T00:00Z"]
+             "01T00/bar" [label="bar\n2000-01-01T00:00Z"]
+             "01T00/baz" [label="baz\n2000-01-01T00:00Z"]
+         }
+
+         subgraph cluster_2 {
+             label = "2000-01-01T12:00Z"
+             style = dashed
+             "b01T12/az" [label="baz\n2000-01-01T12:00Z"]
+         }
+
+         subgraph cluster_3 {
+             label = "2000-01-02T00:00Z"
+             style = dashed
+             "02T00/foo" [label="foo\n2000-01-02T00:00Z"]
+             "02T00/bar" [label="bar\n2000-01-02T00:00Z"]
+             "02T00/baz" [label="baz\n2000-01-02T00:00Z"]
+         }
+
+         "01T00/foo" -> "01T00/bar"
+         "02T00/foo" -> "02T00/bar"
+
+
+   graph string
+      A graph string is a collection of task :term:`dependencies <dependency>`
+      in the :cylc:conf:`[scheduling][graph]` section of a workflow definition,
+      with an associated recurrence that defines its sequence of cycle points.
+
+      The example below shows one graph string in a datetime cycling workflow,
+      with a daily cycle point sequence:
+
+      .. code-block:: cylc-graph
+
+         R/^/P1D = """
+            foo => bar => baz & pub => qux
+            pub => bool
+         """
+
+
+   cycle
+      In a :term:`cycling workflow`, cycles are repetitions of a :term:`graph
+      string`. Each cycle is identified by a :term:`cycle point`. The sequence
+      of cycle points is defined by the graph string's :term:`recurrence`
+      pattern.
+
+      This defines the structure of the :term:`graph`. At runtime, however,
+      Cylc does not impose a global loop over cycles. Each individual task,
+      with its own cycle point, advances according to its own
+      :term:`dependencies <dependency>`.
+
+      For example, in the following workflow each dotted box represents a cycle
+      and the :term:`tasks<task>` within it are the :term:`tasks<task>`
+      belonging to that cycle. The numbers (i.e. ``1``, ``2``, ``3``) are the
+      :term:`cycle points <cycle point>`.
+
+      .. digraph:: Example
+         :align: center
+
+         size = "3,5"
+
+         subgraph cluster_1 {
+             label = "1"
+             style = dashed
+             "1/foo" [label="foo\n1"]
+             "1/bar" [label="bar\n1"]
+             "1/baz" [label="baz\n1"]
+         }
+
+         subgraph cluster_2 {
+             label = "2"
+             style = dashed
+             "2/foo" [label="foo\n2"]
+             "2/bar" [label="bar\n2"]
+             "2/baz" [label="baz\n2"]
+         }
+
+         subgraph cluster_3 {
+             label = "3"
+             style = dashed
+             "3/foo" [label="foo\n3"]
+             "3/bar" [label="bar\n3"]
+             "3/baz" [label="baz\n3"]
+         }
+
+         "1/foo" -> "1/bar" -> "1/baz"
+         "2/foo" -> "2/bar" -> "2/baz"
+         "3/foo" -> "3/bar" -> "3/baz"
+         "1/bar" -> "2/bar" -> "3/bar"
+
+
+
+      .. seealso::
+
+         * :ref:`tutorial-integer-cycling`
+         * :ref:`tutorial-datetime-cycling`
+
+
+   cycling
+   cycling workflow
+      A cycling :term:`workflow` in Cylc is defined by a graph of
+      repeating tasks with individual :term:`cycle points <cycle point>`.
+
+      .. seealso::
+
+         * :term:`cycle`
+
+
+   cycle point
+      The unique label given to tasks that belong to a particular :term:`cycle`.
+      For :term:`integer cycling` these will be integers, e.g. ``1``, ``2``,
+      ``3``, etc.
+      For :term:`datetime cycling` they will be :term:`ISO 8601` datetimes,
+      e.g. ``2000-01-01T00:00Z``.
+
+      .. seealso::
+
+         * :term:`initial cycle point`
+         * :term:`final cycle point`
+         * :term:`start cycle point`
+
+
+   cycle point time zone
+      The time zone used for task :term:`cycle points <cycle point>`.
+
+      .. seealso::
+
+         * :cylc:conf:`flow.cylc[scheduler]cycle point time zone`
+
+
+   initial cycle point
+      In a :term:`cycling workflow <cycling>` the initial cycle point is the
+      first :term:`cycle point` in the :term:`graph`.
+
+      .. seealso::
+
+         * :cylc:conf:`[scheduling]initial cycle point`.
+         * :term:`start cycle point`
+
+
+   final cycle point
+      In a :term:`cycling workflow <cycling>` the final cycle point, if there
+      is one, is the last :term:`cycle point` in the :term:`graph`.
+
+      .. seealso::
+
+         * :cylc:conf:`[scheduling]final cycle point`.
+         * :term:`stop cycle point`
+
+
+   start cycle point
+      In a :term:`cycling workflow <cycling>` the start cycle point is the
+      :term:`cycle point` where the :term:`scheduler` :term:`starts <start>`
+      running the workflow.
+
+      This may be at or after the :term:`initial cycle point`.
+
+      .. seealso::
+
+         * :term:`stop cycle point`
+         * :ref:`Cylc User Guide <start_stop_cycle_point>`
+
+
+   stop cycle point
+      The stop cycle point is the :term:`cycle point` where :term:`scheduler`
+      stops running the workflow and :term:`shuts down <shutdown>`.
+
+      This may be at or before the :term:`final cycle point`.
+
+      .. seealso::
+
+         * :term:`start cycle point`
+         * :ref:`Cylc User Guide <start_stop_cycle_point>`
+
+
+   integer cycling
+      An integer :term:`cycling workflow` uses integer :term:`cycle points
+      <cycle point>` and :term:`recurrences <recurrence>` (e.g. ``P3`` means
+      every third cycle).
+
+      .. seealso::
+
+         * :cylc:conf:`[scheduling]cycling mode`
+         * :term:`datetime cycling`
+         * :ref:`Cylc tutorial <tutorial-integer-cycling>`
+
+
+   datetime cycling
+      A datetime :term:`cycling` workflow uses
+      :term:`ISO 8601 datetime` :term:`cycle points <cycle point>`
+      (e.g.  ``2000-01-01T00:00Z``) and :term:`recurrences <recurrence>`
+      (e.g. ``P3D`` means every third day).
+
+      .. seealso::
+
+         * :cylc:conf:`[scheduling]cycling mode`
+         * :term:`integer cycling`
+         * :ref:`Cylc tutorial <tutorial-datetime-cycling>`
+
+
+   wallclock time
+      The actual time (in the real world).
+
+      .. seealso::
+
+         * :term:`datetime cycling`
+         * :term:`clock trigger`
+
+
+   ISO 8601
+   ISO8601
+      ISO 8601 is an international standard for writing datetimes, durations,
+      and :term:`recurrences <recurrence>` (sequences of datetimes). Cylc uses
+      ISO 8601 for :term:`datetime cycling`.
+
+      .. seealso::
+
+         * :term:`ISO 8601 datetime`
+         * `Wikipedia (ISO 8601) <https://en.wikipedia.org/wiki/ISO_8601>`_
+         * `International Organisation For Standardisation
+           <https://www.iso.org/iso-8601-date-and-time-format.html>`_
+         * `a summary of the international standard date and time notation
+           <http://www.cl.cam.ac.uk/%7Emgk25/iso-time.html>`_
+
+
+   ISO 8601 datetime
+   ISO8601 datetime
+      A datetime written in the :term:`ISO 8601` format, e.g:
+
+      * ``2000-01-01T00:00Z``: midnight on the 1st of January 2000, UTC.
+
+      .. seealso::
+
+         * :ref:`Cylc tutorial <tutorial-iso8601-datetimes>`
+
+
+   ISO 8601 duration
+   ISO8601 duration
+      A duration written in the ISO 8601 format e.g:
+
+      * ``PT1H30M``: one hour and thirty minutes.
+
+      .. seealso::
+
+         * :term:`ISO 8601`
+         * :ref:`Cylc tutorial <tutorial-iso8601-durations>`
+
+
+   recurrence
+      In a :term:`cycling workflow<cycling>` a recurrence determines the
+      sequence of cycle points given to task instances that appear in the
+      associated :term:`graph string`.
+
+      Recurrences for :term:`datetime cycling` are based on the :term:`ISO8601`
+      standard. Those for :term:`integer cycling` are designed to have similar
+      syntax, but are much simpler.
+
+
+   exact datetime unit
+      An exact datetime unit is any unit of a datetime that has a fixed
+      duration, which does not depend on its position in the calendar.
+      In Cylc, the following are exact units:
+
+      * second: SI base unit
+      * minute: 60 seconds
+      * hour: 60 minutes
+      * day: 24 hours
+      * week: 7 days
+
+      .. note::
+         Although the :term:`ISO 8601` standard specifies that weeks and days
+         are :term:`inexact <inexact datetime unit>` due to the possibility of
+         daylight saving time, leap seconds etc., they are always exact in
+         Cylc because workflows always maintain the same time zone, and leap
+         seconds are not supported.
+
+      .. seealso::
+
+         * :term:`inexact datetime unit`
+
+
+   inexact datetime unit
+   nominal duration
+      An inexact datetime unit is any unit of a datetime that does not have
+      a fixed duration; it instead depends on its position in the calendar.
+      In Cylc, the following are inexact units (when using the Gregorian
+      calendar):
+
+      * year: either 365 or 366 days depending on whether it is a leap year
+      * month: between 28 - 31 days depending on the specific month and year
+
+      .. seealso::
+
+         * :term:`exact datetime unit`
+
+
+   clock trigger
+      Clock triggers connect cycle points to the :term:`wallclock time`, in
+      :term:`datetime cycling` workflows. Tasks that depend on a clock trigger
+      will not trigger until the wallclock time is equal to their cycle point
+      plus or minus some offset.
+
+      .. seealso::
+
+         * :ref:`Cylc User Guide <Built-in Clock Triggers>`
+         * :ref:`Cylc Tutorial <tutorial-cylc-clock-trigger>`
+
+
+   intercycle dependence
+   intercycle dependency
+   intercycle trigger
+      In a :term:`cycling workflow <cycling>`, intercycle dependence refers to
+      a :term:`task` depending on other tasks at different cycle points.
+
+      For example, in the following workflow the task ``bar`` depends on
+      its own previous instance:
+
+      .. code-block:: cylc
+
+         [scheduling]
+             initial cycle point = 1
+             cycling mode = integer
+             [[graph]]
+                 P1 = """
+                     foo => bar => baz
+                     bar[-P1] => bar
+                 """
+
+      .. digraph:: Example
+         :align: center
+
+         size = "3,5"
+
+         subgraph cluster_1 {
+             label = "1"
+             style = dashed
+             "1/foo" [label="foo\n1"]
+             "1/bar" [label="bar\n1"]
+             "1/baz" [label="baz\n1"]
+         }
+
+         subgraph cluster_2 {
+             label = "2"
+             style = dashed
+             "2/foo" [label="foo\n2"]
+             "2/bar" [label="bar\n2"]
+             "2/baz" [label="baz\n2"]
+         }
+
+         subgraph cluster_3 {
+             label = "3"
+             style = dashed
+             "3/foo" [label="foo\n3"]
+             "3/bar" [label="bar\n3"]
+             "3/baz" [label="baz\n3"]
+         }
+
+         "1/foo" -> "1/bar" -> "1/baz"
+         "2/foo" -> "2/bar" -> "2/baz"
+         "3/foo" -> "3/bar" -> "3/baz"
+         "1/bar" -> "2/bar" -> "3/bar"
+
+
+   qualifier
+      A qualifier is what follows :term:`task` or family :term:`family` names
+      after a colon ``:`` in :term:`triggers <trigger>`, in the :term:`graph`,
+      to specify exactly which :term:`task outputs <task output>` must be
+      completed for the :term:`dependency` to be satisfied.
+
+      For example, in ``foo:start => bar``, the ``:start`` qualifier means that
+      the ``started`` output of task ``foo`` must be completed to satisfy the
+      dependency.
+
+      .. seealso::
+
+         * :term:`task triggers <task trigger>`
+         * :term:`family triggers <family trigger>`
+         * :ref:`Cylc tutorial <tutorial-qualifiers>`
+
+
+   future trigger
+      A future trigger expresses dependence on a task in a "future"
+      (higher-valued) :term:`cycle point`.
+
+      Here, ``1/bar`` triggers off of ``2/foo``; ``2/bar`` triggers off of
+      ``3/foo``; and so on:
+
+      .. code-block:: cylc
+
+         [scheduling]
+             initial cycle point = 1
+             cycling mode = integer
+             [[graph]]
+                 P1 = "foo[+P1] => bar"
+
+      .. seealso::
+
+         * :term:`intercycle trigger`
+
+
+   task
+      A task represents an activity in a :term:`workflow`. The workflow
+      definition specifies how tasks depends on other tasks, what they
+      should do, how and where to run them, and details of their
+      runtime environment.
+
+      Task definitions are used to create a :term:`job script` that is
+      executed as a :term:`job` on behalf of the task.
+
+      Tasks submit :term:`jobs <job>`. Each :term:`job` belongs to one task,
+      but one task can submit multiple :term:`jobs <job>`.
+
+
+   task state
+      A :term:`task` progresses through a series of states in its lifetime.
+      These include the ``submitted`` state after :term:`job` submission;
+      ``running`` after execution commences, and ``succeeded`` after
+      successful job execution.
+
+      .. seealso::
+
+         * :ref:`Cylc User Guide <task-job-states>`
+         * :ref:`Cylc tutorial <tutorial-tasks-and-jobs>`
+
+
+   implicit task
+      Implicit tasks are :term:`tasks <task>` which are not defined in
+      the :cylc:conf:`[runtime]` section.
+
+      Like regular tasks they :term:`inherit <family inheritance>` from the ``root``
+      :term:`family`.
+
+      Implicit tasks submit real jobs that just exit without doing anything
+      useful. They may be useful placeholders during workflow development but
+      are not allowed by default because they can be created accidentally by
+      simply misspelling a task name in the graph or under ``[runtime]``.
+
+      Here ``bar`` is implicit:
+
+      .. code-block:: cylc
+
+         [scheduling]
+             [[graph]]
+                 R1 = foo & bar
+         [runtime]
+             [[foo]]
+         # eof
+
+      .. seealso::
+
+         * :cylc:conf:`flow.cylc[scheduler]allow implicit tasks`
+         * :ref:`Cylc User Guide <ImplicitTasks>`
+
+      .. admonition:: Cylc 7
+         :class: tip
+
+         In Cylc 7 and earlier, implicit tasks were known as "naked dummy tasks".
+
+
+   work directory
+      Cylc executes task :term:`jobs <job>` inside a job-specific working
+      directory, automatically created under the workflow :term:`run
+      directory`.
+
+      .. code-block:: sub
+
+         <run-directory>/work/<cycle-point>/<task-name>
+
+      Tasks can get their own work directory path at runtime from
+      the ``CYLC_TASK_WORK_DIR`` environment variable or the Posix ``pwd``
+      command.
+
+      .. seealso::
+
+         * :term:`run directory`
+         * :term:`share directory`
+
+
+   share directory
+      Cylc automatically creates a share directory inside the workflow
+      :term:`run directory` as a place to store files that need to be
+      shared between tasks.
+
+      .. code-block:: sub
+
+         <run-directory>/share
+
+      Tasks can get their own share directory path at runtime from
+      the ``CYLC_WORKFLOW_SHARE_DIR`` environment variable.
+
+      In cycling workflows files are typically stored in cycle point
+      sub-directories of the share directory.
+
+      .. seealso::
+
+         * :term:`run directory`
+         * :term:`work directory`
+
+
+   workflow log
+   scheduler log
+   workflow log directory
+      At runtime the scheduler logs timestamped events and other information to
+      files under the workflow :term:`run directory`. These logs take the format
+      <log-number>-<start/restart>-<start-number>.log, with the latest log being
+      automatically symlinked to ``<run-directory>/log/scheduler/log``
+
+      .. code-block:: sub
+
+         <run-directory>/log/scheduler/
+
+      You can print the scheduler log at the terminal with ``cylc cat-log
+      <workflow-name>``.
+
+
+   job log
+   job log directory
+      Task :term:`job` log files are stored in job specific log directories
+      under the workflow :term:`run directory`. These include:
+
+      ``job``
+         The task :term:`job script`.
+      ``job.out``
+         Job stdout.
+      ``job.err``
+         Job stderr.
+      ``job.status``
+         Job status data in case of lost contact with the scheduler.
+      ``job-activity.log``
+         Job data logged by the scheduler, rather than
+         the job itself, such as output from the job submission command.
+      ``job.xtrace``
+         Debugging information from Bash captured when Cylc is run in
+         ``--debug`` mode.
+
+      .. code-block:: sub
+
+         <run-directory>/log/job/<cycle-point>/<task-name>/<job-submit-num>
+
+
+      You can print job logs at the terminal with ``cylc cat-log
+      <workflow-name> <task-id>``. By default this prints ``job.out``.
+      There are command options to select the other logs.
+
+
+   service directory
+      The hidden service directory, under the workflow :term:`run directory`,
+      stores information for internal use by Cylc. It is created at
+      :term:`install` time.
+
+      .. code-block:: sub
+
+         <run-directory>/.service/
+
+
+   contact file
+      The contact file, in the :term:`service directory`, records information
+      about a running :term:`scheduler` such as host, TCP port, and process ID.
+      It is read by Cylc client commands so they can target the right scheduler.
+
+      The contact file is created at scheduler startup and removed on clean
+      shutdown. If you delete it, the scheduler will (after a delay) notice
+      this and shut down.
+
+      .. code-block:: sub
+
+         <run-directory>/.service/contact
+
+      .. warning::
+         If the scheduler dies in an uncontrolled way, for example if the
+         process is killed or the host goes down, the contact file may be
+         left behind. Some Cylc commands automatically detect these files
+         and remove them, otherwise they should be manually removed.
+
+
+   job
+      Jobs are real processes that perform :term:`tasks <task>` in a
+      :term:`workflow`. In Cylc, they are implemented by :term:`job scripts
+      <job script>` prepared by the :term:`scheduler`.
+
+
+   job script
+      A Cylc job script is a file containing bash code to implement a task
+      definition in a workflow. It prepared and submitted to run by the
+      :term:`scheduler` when the task is ready to run.
+
+      Job scripts can be found in the task :term:`job log directory`.
+
+
+   job host
+      A job host is a compute resource that a :term:`job` runs on. For
+      example ``node_1`` would be one of two possible job hosts on the
+      :term:`platform` ``my_hpc`` for the task ``solver`` in the
+      following workflow:
+
+      .. code-block:: cylc
+         :caption: global.cylc
+
+         [platforms]
+             [[my_hpc]]
+                 hosts = node_1, node_2
+                 job runner = slurm
+
+      .. code-block:: cylc
+         :caption: flow.cylc
+
+         [runtime]
+             [[solver]]
+                 platform = my_hpc
+
+
+   job submission number
+      A single :term:`task` may run multiple :term:`jobs <job>` as a result of
+      automatic :term:`retries <retry>` or manually retriggering.
+      The job submission number is incremented each time, starting from 1.
+
+
+   job runner
+      A job runner is a system for submitting task :term:`jobs <job>` to run on
+      a :term:`job platform <platform>`.
+
+      Cylc supports various job runners, from direct background process
+      execution to HPC batch queueing systems like PBS and Slurm (these are
+      also known as *job schedulers* and *resource managers*).
+
+      Job runners are configured on a per-platform basis in ``global.cylc``.
+
+      .. seealso::
+
+         * :cylc:conf:`global.cylc[platforms][<platform name>]job runner`.
+         * :term:`directive`
+         * `Wikipedia (job scheduler) <https://en.wikipedia.org/wiki/Job_scheduler>`_
+
+      .. admonition:: Cylc 7
+         :class: tip
+
+         In Cylc 7 and earlier, job runners were referred to as "batch systems".
+
+
+   directive
+      Directives request task :term:`jobs <job>` resources such as memory and
+      node count from external :term:`job runners <job runner>`. They are job
+      runner-specific.
+
+      .. seealso::
+
+         * :cylc:conf:`[runtime][<namespace>][directives]`
+
+
+   platform
+   job platform
+      A platform for running Cylc task :term:`jobs <job>` is primarily defined
+      by the combination of a :term:`job runner` and a group of :term:`hosts
+      <job host>` that share a file system.
+
+      For example ``my_hpc`` could be the platform for the task ``solver``
+      in the following workflow:
+
+      .. code-block:: cylc
+         :caption: Global configuration (``global.cylc``)
+
+         [platforms]
+             [[my_hpc]]
+                 hosts = node_1, node_2
+                 job runner = slurm
+
+      .. code-block:: cylc
+         :caption: Workflow configuration (``flow.cylc``)
+
+         [runtime]
+             [[solver]]
+                 platform = my_hpc
+
+      .. seealso::
+
+         * :term:`platform group`
+
+
+   platform group
+      A set of :term:`platforms <platform>` grouped under a common name.
+
+      Platforms are configured by :cylc:conf:`global.cylc[platform groups]`.
+
+
+   scheduler
+      The Cylc scheduler is a program responsible for managing a single
+      Cylc :term:`workflow`. It determines when each :term:`tasks <task>` is
+      ready to run, submits its :term:`jobs <job>` to selected job runners,
+      tracks job status, maintains the workflow state, and listens for queries
+      and commands from the user.
+
+      By default, Cylc schedulers run as daemons (and potentially on a remote
+      host) so they won't be killed if you log out.
+
+      .. seealso::
+
+         * `Wikipedia: daemon <https://en.wikipedia.org/wiki/Daemon_(computing)>`_
+
+      .. admonition:: Cylc 7
+         :class: tip
+
+         In Cylc 7 and earlier, schedulers were known as "suite daemons".
+
+
+   start
+   startup
+      This refers to starting a new instance of the Cylc :term:`scheduler`
+      program to manage a particular :term:`workflow`. This can be from
+      scratch, for installed workflows that haven't run previously, or to
+      restart one that shut down prior to :term:`completion <workflow completion>`.
+
+      .. seealso::
+
+         * :term:`cold start`
+         * :term:`warm start`
+         * :term:`start task`
+         * :term:`restart`
+         * :term:`reload`
+         * :term:`shutdown`
+
+
+   cold start
+      A cold start is when the :term:`scheduler` :term:`starts <startup>` a
+      :term:`workflow` at the beginning of :term:`graph`. In a :term:`cycling
+      workflow` this is determined by the :term:`initial cycle point`.
+
+      This is the default behaviour of ``cylc play`` for an installed workflow
+      that hasn't run yet.
+
+      To satisfy unbounded :term:`intercycle dependence` in the graph, tasks
+      prior to the initial cycle point are treated as if they have succeeded.
+
+      .. seealso::
+
+         * :cylc:conf:`[scheduling]initial cycle point`
+         * :term:`warm start`
+         * :term:`start task`
+         * :term:`restart`
+         * :term:`shutdown`
+
+
+   warm start
+      A warm start is when the :term:`scheduler` :term:`starts <start>` a
+      :term:`cycling workflow` running from a :term:`start cycle point` after
+      the :term:`initial cycle point`.
+
+      To satisfy unbounded :term:`intercycle dependence` in the graph, tasks
+      prior to the start cycle point are treated as if they have succeeded.
+
+      .. seealso::
+
+         * :term:`cold start`
+         * :term:`start task`
+         * :term:`restart`
+         * :term:`shutdown`
+
+
+   start task
+      A start task is :term:`task` in the :term:`graph` from which the
+      :term:`scheduler` :term:`starts <start>` running a :term:`workflow` from
+      scratch.
+
+      Earlier tasks depended on by start tasks are treated as if they have
+      succeeded.
+
+      .. seealso::
+
+         * :term:`cold start`
+         * :term:`warm start`
+         * :term:`start cycle point`
+         * :term:`shutdown`
+
+      .. admonition:: Cylc 7
+         :class: tip
+
+         Cylc 7 and earlier did not have the capability to start from any task
+         in the graph.
+
+
+   cylc-run directory
+      This refers to the top level directory for :term:`installed <workflow
+      installation>` workflows: ``~/cylc-run``.
+
+      Cylc can be configured to symlink cylc-run sub-directories to
+      other locations.
+
+      .. seealso::
+
+         * :cylc:conf:`global.cylc[install][symlink dirs]`.
+         * :term:`run directory`
+
+      .. caution::
+
+         The cylc-run directory should not be confused with specific
+         :term:`workflow run directories <run directory>` below it.
+
+   install
+   installation
+   workflow installation
+      The ``cylc install`` command installs workflow :term:`source files
+      <source directory>` into a new :term:`run directory` under the
+      :term:`cylc-run directory`.
+
+      .. seealso::
+
+         * :term:`reinstall`
+
+   install target
+      Cylc uses install targets to determine which platforms share file systems.
+      Install targets should normally be managed at site level. They are configured in
+      :cylc:conf:`global.cylc[platforms][<platform name>]install target`.
+
+      .. seealso::
+
+         * :ref:`Install Targets`
+
+   reinstall
+   reinstallation
+      The ``cylc reinstall`` command reinstalls workflow :term:`source files
+      <source directory>` into an existing :term:`run directory` under the
+      :term:`cylc-run directory`.
+
+      .. seealso::
+
+         * :term:`install`
+
+
+   source directory
+   source workflow
+      A source directory is any location where :term:`workflows <workflow>` are
+      written and stored in preparation for installation with ``cylc install``
+      or reinstallation with ``cylc reinstall``.
+
+      These locations are configurable. The default is ``~/cylc-src``.
+
+      .. seealso::
+
+         * :term:`run directory`
+         * :cylc:conf:`global.cylc[install]source dirs`
+         * :ref:`Installing-workflows`
+
+
+   run directory
+   workflow run directory
+      This is a location under the :term:`cylc-run directory` that contains the
+      :term:`installed <install>` configuration used to run a :term:`workflow`.
+
+      At runtime, task :term:`jobs <job>` can get their workflow run
+      directory from the environment variable ``CYLC_WORKFLOW_RUN_DIR``.
+
+      .. seealso::
+
+         * :term:`source directory`
+         * :term:`work directory`
+         * :term:`share directory`
+         * :term:`job log directory`
+
+
+   play
+      The ``cylc play`` command runs an instance of the :term:`scheduler`
+      program to :term:`start` or :term:`restart` a :term:`workflow`.
+
+      You can :term:`play`, :term:`pause` and :term:`stop` a :term:`workflow`,
+      Cylc will always carry on where it left off.
+
+
+   pause
+      When a :term:`workflow` is "paused" the :term:`scheduler` is still
+      running but it will not submit any new jobs.
+
+      This can be useful if you want to make a change to a running workflow.
+
+      Pause a workflow with ``cylc pause`` and resume it with ``cylc play``.
+
+      .. seealso::
+
+         * :term:`play`
+         * :term:`stop`
+         * :term:`hold`
+
+
+   stop
+   shutdown
+      A :term:`scheduler` can shut down on request, or automatically on
+      :term:`workflow completion`. The :term:`workflow` is then stopped and no
+      further :term:`jobs <job>` will be submitted.
+
+      By default, the scheduler waits for any submitted or running task
+      :term:`jobs <job>` to finish (either succeed or fail) before shutting
+      down.
+
+      .. seealso::
+
+         * :term:`play`
+         * :term:`pause`
+         * :term:`start`
+         * :term:`restart`
+         * :term:`reload`
+         * :ref:`Tutorial <tutorial.start_stop_restart>`.
+
+
+   restart
+      When a :term:`stopped <stop>` :term:`workflow` is :term:`played <play>`
+      again, the :term:`scheduler` picks up where it left off rather than
+      starting again from scratch. It also detects any orphaned :term:`jobs
+      <job>` that changed state (e.g. succeeded) while the system was down.
+
+      Changes made to the :term:`installed <install>` :cylc:conf:`flow.cylc`
+      file will be picked at restart. We recommend that changes are
+      :term:`reinstalled <reinstall>` from the workflow :term:`source
+      directory` before restart, rather than made by editing the installed
+      files directly.
+
+      .. seealso::
+
+         * :term:`start`
+         * :term:`stop`
+         * :term:`reload`
+         * :ref:`Tutorial <tutorial.start_stop_restart>`.
+
+
+   reload
+      :term:`Schedulers <scheduler>` can reload their :term:`workflow`
+      configuration from the :term:`installed <install>` :cylc:conf:`flow.cylc`
+      file, to pick up changes made at runtime.
+
+      We recommend that changes are :term:`reinstalled <reinstall>` from the
+      workflow :term:`source directory` before reload, rather than made by
+      editing the installed files directly.
+
+      :ref:`RemoteInit` will be redone for each job platform, when the first job is submitted there after a reload.
+
+      Any :term:`task` that is active at reload will continue with its
+      pre-reload configuration. It's next instance (at the next cycle point)
+      will adopt the new configuration.
+
+      Reloading changes is safe providing they don't affect the
+      :term:`workflow's <workflow>` :term:`graph`. Changes to the graph have
+      certain caveats attached, see the
+      :ref:`Cylc User Guide <Reloading The Workflow Configuration At Runtime>`
+      for details.
+
+      .. seealso::
+
+         * :term:`restart`
+
+
+   hold
+   held task
+   hold after cycle point
+      A :term:`task` held with ``cylc hold`` will not submit its :term:`jobs
+      <job>` when ready to run.
+
+      It is also possible to set a "hold after cycle point"; all tasks after
+      this cycle point will be held.
+
+      .. note::
+         :term:`Workflows <workflow>` can be :term:`paused <pause>` with ``cylc
+         pause``, and unpaused/resumed with ``cylc play``.
+
+         :term:`Tasks <task>` can be :term:`held <hold>` with ``cylc hold`` and
+         :term:`released <release>` with ``cylc release``.
+
+         When a workflow is resumed, any held tasks remain held.
+
+
+   release
+      :term:`Held tasks <hold>` can be released with ``cylc release``,
+      allowing submission of task :term:`jobs <job>` once again.
+
+      It is also possible to remove the "hold after cycle point" if set,
+      using ``cylc release --all``. This will also release all held tasks.
+
+
+   task parameters
+   parameterization
+      Task parameterization is one way of consolidating configuration in the
+      :cylc:conf:`flow.cylc` file. Cylc implicitly loops over ranges or lists
+      of pre-defined parameters to automatically generate sets of similar
+      tasks.
+
+      Other ways of consolidating configuration include :term:`runtime
+      inheritance` and templating with :ref:`Jinja2 <Jinja>` or :ref:`Empy
+      <User Guide Empy>`.
+
+      .. code-block:: cylc
+
+         [task parameters]
+             m = 1..3
+         [scheduling]
+             [[graph]]
+                 R1 = bar<m> => baz<m>
+
+      .. minicylc::
+         :theme: none
+
+         bar_m1 => baz_m1
+         bar_m2 => baz_m2
+         bar_m3 => baz_m3
+
+      .. seealso::
+
+         * :ref:`Cylc User Guide <User Guide Param>`
+         * :ref:`Cylc tutorial <tutorial-cylc-parameterization>`
+
+
+   family
+      In Cylc a family is a collection of :term:`tasks <task>` that share
+      common configuration and which can be referred to collectively in the
+      :term:`graph`.
+
+      By convention, family names are upper case, with the exception of the
+      special ``root`` family that all tasks inherit from.
+
+      .. seealso::
+
+         * :term:`family inheritance`
+         * :term:`family trigger`
+         * :ref:`Cylc User Guide <User Guide Runtime>`
+         * :ref:`Cylc tutorial <tutorial-cylc-families>`
+
+
+   runtime inheritance
+   family inheritance
+      A :term:`task` is a member of a :term:`family` if it inherits the
+      family configuration via :cylc:conf:`[runtime][<namespace>]inherit`.
+
+      For example the :term:`task` ``cheddar`` "belongs" to the :term:`family`
+      ``CHEESE`` in the following snippet:
+
+      .. code-block:: cylc
+
+         [runtime]
+             [[CHEESE]]
+                 [[[environment]]]
+                     COLOR = yellow
+             [[cheddar]]
+                 inherit = FAMILY
+
+      Families can also inherit from other families. All tasks implicitly
+      inherit from a special ``root`` family at the base of the inheritance
+      hierarchy.
+
+      Tasks can inherit from multiple families at once using a comma-separated
+      list:
+
+      .. code-block:: cylc
+
+         inherit = foo, bar, baz
+
+      .. seealso::
+
+         * :term:`family trigger`
+         * :ref:`Cylc User Guide <User Guide Runtime>`
+         * :ref:`Cylc Tutorial <tutorial-inheritance>`
+
+
+   family trigger
+      :term:`Tasks <task>` that belong to a :term:`family` can be
+      referred to collectively in the :term:`graph` using a family
+      :term:`trigger`.
+
+      Family triggers take the form ``family-name:qualifier``, where
+      the :term:`qualifier` describes the collective state of member tasks
+      needed for the dependency to be met. Some commonly used qualifiers
+      are:
+
+      ``succeed-all``
+          All members succeeded.
+      ``succeed-any``
+          Any one member succeeded.
+      ``fail-all``
+          All members failed.
+      ``finish-all``
+          All members finished (succeeded or failed).
+
+      .. seealso::
+
+         * :term:`dependency`
+         * :ref:`Cylc Tutorial <tutorial-cylc-family-triggers>`
+         * :ref:`Cylc User Guide <FamilyTriggers>`
+
+
+   standard output
+     Every :term:`task` has a set of standard :term:`outputs <task output>`
+     that trigger :term:`task state` changes:
+
+      - ``:submitted``, or ``:submit-failed``
+      - ``:started``
+      - ``:succeeded``, or ``:failed``
+
+
+   task output
+      Task outputs mark the progression of a :term:`task` from waiting (for
+      prerequisites to be satisfied) through to success or failure at run
+      time. Downstream tasks can trigger off of the outputs of other tasks, as
+      determined by the :term:`graph`.
+
+      Outputs are written as ``task-name:output`` in the :term:`graph`, and can
+      be :term:`required <required output>` or :term:`optional <optional output>`.
+
+      Tasks may have :term:`custom outputs <custom output>` as well as
+      :term:`standard outputs <standard output>`.
+
+      Here the task ``bar`` depends on the standard ``:started`` output of
+      ``foo``:
+
+      .. code-block:: cylc-graph
+
+         foo:started => bar
+
+      The standard ``:succeeded`` output is usually implicit:
+
+      .. code-block:: cylc-graph
+
+         foo => bar  # means foo:succeeded => bar
+
+
+   dependence
+   dependency
+      Dependencies in the :term:`graph` show how :term:`tasks <task>` depend on
+      some combination of the :term:`outputs <task output>` of other tasks.
+
+      For example, in the following dependency the task ``baz`` depends on both
+      ``foo`` and ``bar`` succeeding:
+
+      .. code-block:: cylc-graph
+
+         foo & bar => baz
+
+      .. seealso::
+
+          * :term:`task trigger`
+          * :term:`conditional dependence`
+          * :term:`intercycle dependence`
+
+
+   conditional dependence
+   conditional dependency
+   conditional trigger
+      Conditional :term:`dependence` is when a :term:`task` depends on a
+      combination of multiple upstream :term:`task outputs <task output>`.
+
+      .. code-block:: cylc-graph
+
+         a & (b:fail | c) => d
+
+      The left hand side of a conditional dependency can be called a
+      conditional :term:`trigger`.
+
+
+   trigger
+   task trigger
+      A trigger is the left-hand side of a :term:`dependency` in the
+      :term:`graph`. It defines the combination of :term:`task outputs <task
+      output>` that must be completed before downstream tasks can run.
+
+      In this example, the task ``bar`` can be said to trigger off of
+      completion of the ``foo:started`` output:
+
+      .. code-block:: cylc-graph
+
+         foo:started => bar
+
+      Triggers can be based on :term:`standard <standard output>` or
+      :term:`custom <custom output>` task outputs. In the latter case they
+      are known as :term:`message triggers <message trigger>`.
+
+
+   message trigger
+      A message trigger is a :term:`trigger` based on a
+      :term:`custom task output <custom output>`. The task :term:`job` must
+      send a user-defined message to the scheduler to complete the output.
+
+      For brevity, the trigger in the :term:`graph` uses the output name, not
+      the full message:
+
+      .. code-block:: cylc
+
+         [scheduling]
+             [[graph]]
+                 R1 = """
+                    foo:out1 => proc-out-1
+                    foo:out2 => proc-out-2
+                 """
+         [runtime]
+             [[foo]]
+                 script = """
+                     # ...
+                     cylc message "Output 1 completed"
+                     # ...
+                     cylc message "Output 2 completed"
+                 """
+                 [[[outputs]]]
+                     # output name = output message
+                     out1 = "Output 1 completed"
+                     out2 = "Output 2 completed"
+
+      However, if you don't need a descriptive message for the workflow
+      log, you can make the message the same as its name:
+
+      .. code-block:: cylc
+
+         [[[outputs]]]
+             out1 = out1
+
+
+   custom output
+      A custom task output is a user-defined :term:`task output` that marks
+      an event runtime event between task :term:`job` start and finish. To
+      complete a custom output, the job must send a message defined in the
+      :cylc:conf:`flow.cylc` file to the :term:`scheduler`.
+
+      Triggers based on custom outputs are called :term:`message triggers
+      <message trigger>`.
+
+      .. code-block:: cylc
+
+         [runtime]
+             [[foo]]
+                 [[[outputs]]]
+                     # output name = output message
+                     out1 = "Output 1 completed"
+                     out2 = "Output 2 completed"
+
+      .. seealso::
+
+         * :term:`standard output`
+         * :ref:`Cylc Tutorial <tutorial-cylc-message-triggers>`
+         * :ref:`Cylc User Guide <MessageTriggers>`
+
+
+   optional output
+      Optional :term:`task outputs <task output>` are marked with a question
+      mark in the :term:`graph`, e.g. ``foo:x?``, or ``foo:fail?``,  or
+      ``foo?`` (short for ``foo:succeed?``). The may or may not be completed at
+      runtime. Optional outputs are primarily used for :term:`graph branching`.
+
+      .. seealso::
+
+         * :term:`required output`
+         * :ref:`Cylc User Guide <User Guide Optional Outputs>`
+
+
+   required output
+   expected output
+      Task outputs that are not marked as :term:`optional <optional output>`
+      in the :term:`graph` are required to be completed at runtime. If not, the
+      :term:`scheduler` retains the task as :term:`incomplete` pending user
+      intervention.
+
+      .. seealso::
+
+         * :ref:`Cylc User Guide <required outputs>`
+
+
+   incomplete
+   incomplete task
+      Incomplete tasks are :term:`tasks <task>` that finish (succeed or fail)
+      without completing all :term:`required outputs <required output>`. They
+      are retained by the :term:`scheduler` in the :term:`n=0 window
+      <n-window>` pending user intervention, and will cause a :term:`stall`
+      if there are no more tasks to run.
+
+      .. seealso::
+
+         * :term:`optional output`
+         * :ref:`Cylc User Guide <incomplete tasks>`
+
+
+   stall
+   stalled workflow
+   stalled state
+      If there are no more tasks to run according to the :term:`graph`, but
+      :term:`incomplete tasks <incomplete task>` are present, the
+      :term:`scheduler` will stall and stay up for a time instead of
+      shutting down with the workflow :term:`complete <workflow completion>`.
+
+      Stalls are usually caused by unexpected task failures:
+
+      .. digraph:: Example
+         :align: center
+
+         foo [style="filled" color="#ada5a5"]
+         bar [style="filled" color="#ff0000" fontcolor="white"]
+         baz [color="#88c6ff"]
+
+         foo -> bar -> baz
+
+      In this example the task ``bar`` has failed, so  that ``baz`` cannot
+      run, but ``bar:fail`` was not marked as an :term:`optional output`.
+
+      User intervention is required to fix a stall, e.g. by retriggering
+      incomplete tasks after fixing the problems that caused them to fail.
+
+
+   suicide trigger
+      Suicide triggers remove :term:`tasks <task>` from the :term:`scheduler's
+      <scheduler>` active (:term:`n=0 <n-window>`) window at runtime.
+
+      They are denoted by exclamation marks, and are triggered like normal
+      dependencies. For instance, the following suicide trigger will remove the
+      task ``bar`` from the active window if ``foo`` succeeds:
+
+      .. code-block:: cylc-graph
+
+         foo => ! bar
+
+      .. warning::
+         Suicide triggers are not needed in Cylc 8 for :term:`graph branching`.
+         They are retained for backward compatibility and rare edge cases.
+
+      .. seealso::
+
+         * :ref:`Cylc User Guide <SuicideTriggers>`
+
+   branching
+   graph branching
+      Cylc handles workflow :term:`graphs <graph>` in an event-driven way.
+      It can automatically follow different paths depending on events at
+      runtime. This relies on :term:`optional outputs <optional output>` and is
+      called *branching*.
+
+      For example, the following workflow follows one of two possible paths
+      depending on the outcome of task ``b``:
+
+      .. code-block:: cylc-graph
+
+         # the success branch
+         a => b? => c
+         # the fail branch
+         b:fail? => r
+         # joining the two branches together
+         c | r => d
+
+      .. digraph:: example
+         :align: center
+
+         subgraph cluster_success {
+            label = ":succeed"
+            color = "green"
+            fontcolor = "green"
+            style = "dashed"
+
+            c
+         }
+
+         subgraph cluster_failure {
+            label = ":fail"
+            color = "red"
+            fontcolor = "red"
+            style = "dashed"
+
+            r
+         }
+
+         a -> b -> c -> d
+         b -> r -> d
+
+      .. seealso::
+
+         * :term:`optional output`
+         * :ref:`Cylc User Guide <Graph Branching>`
+
+
+   flow
+      A flow is a self-propagating run through the a Cylc :term:`workflow`
+      :term:`graph` starting from some initial task or tasks.
+
+      Cylc :term:`schedulers <scheduler>` can manage multiple flows at once.
+
+      Flows are identified by a :term:`flow number`. The original flow
+      started automatically by ``cylc play`` has flow number ``1``.
+
+      .. seealso::
+         * :ref:`user-guide-reflow`
+
+
+   flow number
+      Flow numbers are integers passed down from parent task to child task in
+      the :term:`graph` as a flow progresses, to identify which :term:`flow`
+      (or flows) the tasks belong to. They are passed to job environments as
+      ``$CYLC_TASK_FLOW_NUMBERS``.
+
+
+   flow front
+      Active (submitted or running) tasks, i.e. tasks in the ``n=0``
+      :term:`active window`, with a common :term:`flow number` comprise the
+      active front of that flow.
+
+
+   flow merge
+      When a :term:`flow` tries to spawn a child task and finds an instance
+      with the same task ID already exists in the ``n=0`` :term:`active
+      window`, the one active task will carry both flow numbers forward.
+
+
+   event
+      An event is a milestone in the lifecycle of a :term:`workflow` or
+      :term:`task` at which the :term:`scheduler` provides a hook for
+      attaching :term:`event handlers <event handler>`.
+
+      Workflow events include :term:`startup`, :term:`stall`, and
+      :term:`shutdown`.
+
+      Task events include :term:`task state` changes, to ``running`` or
+      ``failed``, for example, or when the scheduler receivers CRITICAL or
+      WARNING messages from a task :term:`job`.
+
+
+   handler
+   event handler
+   event handlers
+      An event handler is a user-defined executable that the
+      :term:`scheduler` runs when selected :term:`task` or :term:`workflow`
+      :term:`events <event>` occur.
+
+      Use-cases include:
+
+      - Send an email message.
+      - Run a Cylc command.
+      - Run *any* user-specified script or command.
+
+      .. seealso::
+
+         - :ref:`user_guide.scheduler.workflow_event_handling`
+         - :ref:`user_guide.runtime.task_event_handling`
+
+
+   runahead limit
+   runahead
+      In a :term:`cycling workflow`, the runahead limit determines the maximum
+      number of consecutive cycle points that can be active at once.
+
+      .. seealso::
+
+         * :cylc:conf:`[scheduling]runahead limit`
+         * :ref:`Runahead Limiting`
+
+
+   workflow completion
+      A workflow is deemed complete if there are no more tasks to run,
+      according to the graph, and there are no :term:`incomplete task
+      <incomplete task>` present.
+
+      If the workflow is complete, the scheduler will automatically :term:`shut
+      down <shutdown>`.
+
+      If there are no more tasks to run, but there are incomplete tasks
+      present, the scheduler will :term:`stall` rather than shut down.
diff --git a/nightly_8.3/html/_sources/index.rst.txt b/nightly_8.3/html/_sources/index.rst.txt
new file mode 100644
index 00000000000..df67a04afce
--- /dev/null
+++ b/nightly_8.3/html/_sources/index.rst.txt
@@ -0,0 +1,25 @@
+Cylc Documentation
+==================
+
+Cylc ("*silk*") is a workflow engine for cycling systems - it orchestrates
+distributed workflows of interdependent cycling tasks that may continue to run
+indefinitely.
+
+.. image:: https://img.shields.io/discourse/users?label=Join%20the%20community%20on%20Discourse&logo=discourse&server=https%3A%2F%2Fcylc.discourse.group&style=socia0l
+   :align: center
+   :width: 50%
+   :target: https://cylc.discourse.group
+
+|
+
+.. toctree::
+   :maxdepth: 2
+
+   7-to-8/index
+   installation
+   tutorial/index
+   user-guide/index
+   plugins/index
+   workflow-design-guide/index
+   reference/index
+   glossary
diff --git a/nightly_8.3/html/_sources/installation.rst.txt b/nightly_8.3/html/_sources/installation.rst.txt
new file mode 100644
index 00000000000..c50549c5ee7
--- /dev/null
+++ b/nightly_8.3/html/_sources/installation.rst.txt
@@ -0,0 +1,326 @@
+.. _installation:
+
+Installation
+============
+
+Cylc 8 and its core software dependencies can be installed quickly from Conda
+Forge, into a conda environment; or from PyPI, into a Python 3 virtual environment.
+
+
+Quick Installation
+------------------
+
+Cylc runs on Unix-like systems including Linux and Mac OS.
+
+Via Conda (recommended)
+^^^^^^^^^^^^^^^^^^^^^^^
+
+.. note::
+
+   We recommend using the fast Mamba environment solver to install Cylc.
+   Mamba can be used as `a drop-in replacement for the conda command
+   <https://mamba.readthedocs.io/en/latest/index.html>`_,
+   or as `a conda command plugin
+   <https://conda.github.io/conda-libmamba-solver/getting-started/>`_.
+   The classic conda environment solver may be too slow for a complex package
+   like Cylc.
+
+
+.. code-block:: sub
+
+   $ conda install -c conda-forge cylc-flow
+
+   # Install the browser-GUI (optional)
+   $ conda install -c conda-forge cylc-uiserver
+
+   # Install Rose support (optional)
+   $ conda install -c conda-forge cylc-rose metomi-rose
+
+Via Pip (+npm)
+^^^^^^^^^^^^^^
+
+.. note::
+
+   Requires Python 3.7 - 3.9
+
+.. important::
+
+   We recommend installing Cylc versions into virtual environments.
+   This avoids software dependency conflicts and allows multiple
+   Cylc versions to be installed on your system.
+
+   Without virtual environments, users can inadvertently break Cylc (or other
+   Python programs) by ``pip``-installing conflicting package versions to
+   ``$HOME/.local``, which takes precedence over central library locations.
+
+.. code-block:: sub
+
+   $ pip install cylc-flow
+
+   # Install the browser-GUI (optional)
+   # (requires nodejs & npm)
+   $ pip install cylc-uiserver
+
+   # Install Rose support (optional)
+   $ pip install cylc-rose metomi-rose
+
+There are also certain optional extra requirements which you may choose to
+install:
+
+.. code-block:: sub
+
+   # EmPy support
+   $ pip install 'cylc-flow[empy]'
+
+   # Support for running the tutorial workflows
+   $ pip install 'cylc-flow[tutorial]'
+
+   # The GUI with multi-user (hub) support
+   $ pip install 'cylc-uiserver[hub]'
+   $ npm install configurable-http-proxy
+
+You might also want to configure:
+
+* :ref:`Shell auto-completion <installation.shell_auto_completion>`
+* :ref:`Text editor support <SyntaxHighlighting>`
+
+
+.. _non-python-requirements:
+
+Non-Python Requirements
+-----------------------
+
+.. _Graphviz: https://graphviz.org/download/
+.. _configurable-http-proxy: https://anaconda.org/conda-forge/configurable-http-proxy
+
+These dependencies are not installed by Conda or pip:
+
+* ``bash``
+* GNU `coreutils`_
+* ``mail`` (optional - for automated email functionality)
+
+These dependencies are installed by Conda but not by pip:
+
+* `Graphviz`_ (optional - used by ``cylc graph`` for displaying workflow
+  graphs)
+* `configurable-http-proxy`_ (optional - for multi-user setups; can also be
+  installed using npm)
+
+.. seealso::
+
+   :ref:`SyntaxHighlighting`
+
+
+Installing On Mac OS
+--------------------
+
+.. _Homebrew: https://formulae.brew.sh/
+.. _atrun: https://www.unix.com/man-page/FreeBSD/8/atrun/
+
+Cylc requires some extra packages to function on Mac OS. We recommend
+installing them using the `Homebrew`_ package manager:
+
+.. code-block:: console
+
+   $ brew install bash coreutils gnu-sed
+
+You will need to prepend the ``coreutils`` and ``gnu-sed`` installations to
+your ``$PATH``, follow the instructions in the ``brew install`` output.
+
+.. note::
+
+   `atrun`_ (the ``at`` command) does not run out-of-the-box on Mac OS
+   for security reasons and must be manually enabled.
+
+.. note::
+
+   Newer version of Mac OS set ``zsh`` as the default shell (as opposed to
+   ``bash``). You do not need to change this but be aware that Cylc uses
+   ``bash`` (for job scripts) which has a subtly different syntax.
+
+.. warning::
+
+   For Mac OS Versions 10.15.0 (Catalina) and higher SSH is disabled by
+   default. The ability to SSH into your Mac OS box may be required for
+   certain Cylc installations.
+
+   See the `Apple support page
+   <https://support.apple.com/en-gb/guide/mac-help/mchlp1066/mac>`_
+   for instructions on enabling SSH.
+
+
+Advanced Installation
+---------------------
+
+For distributed and multi-user installation we recommend using Conda and
+installing Cylc components only where required.
+
+.. tip::
+
+   For examples of Conda environments and installation options see
+   :ref:`conda environments` for examples and details.
+
+The Cylc Components
+^^^^^^^^^^^^^^^^^^^
+
+Cylc is split into a number of components providing different functionality:
+
+`Cylc Flow`_
+   Provides the scheduler "kernel" of Cylc along with the command line interface.
+`Cylc UI Server`_
+   Provides the "Cylc Hub" and the browser-based "Cylc GUI".
+:ref:`Cylc Rose`
+   Provides support for `Rose`_ suite configurations in Cylc workflows.
+
+Installation Types
+^^^^^^^^^^^^^^^^^^
+
+Cylc install locations may fall into the following "roles":
+
+User Machines
+   Where users write workflows and interact with the command line.
+Cylc Servers
+   Where Cylc schedulers run to manage workflows.
+Job Hosts
+   Where jobs run, e.g. supercomputers or clusters
+
+.. note::
+
+   These roles may overlap. For example, Cylc servers can also be job hosts.
+
+Recommended Installation
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+User Machines
+   * `Cylc Flow`_
+   * :ref:`Cylc Rose` (if using `Rose`_)
+Cylc Servers
+   * `Cylc Flow`_
+   * :ref:`Cylc Rose` (if using `Rose`_)
+   * `Cylc UI Server`_
+Job Hosts:
+   * `Cylc Flow`_
+   * `Rose`_ (if running Rose applications on the job host)
+
+.. _managing environments:
+
+Managing Environments
+^^^^^^^^^^^^^^^^^^^^^
+
+For Cylc to run, the correct environment must be activated. Cylc can
+not do this automatically. You may need to have multiple Cylc versions
+available too.
+
+We recommend using a wrapper script named ``cylc`` to activate the correct
+environment before calling the environment's  ``cylc`` command.
+
+Cylc comes with a wrapper that can be adapted to point at your Cylc
+environments. Extract it to a directory in your ``$PATH`` like this:
+
+.. code-block:: bash
+
+   cylc get-resources cylc /path/to/cylc  # should be in $PATH
+   chmod +x /path/to/cylc
+
+You may need to modify this file for your local installation e.g:
+
+.. code-block:: diff
+
+   - CYLC_HOME_ROOT="${CYLC_HOME_ROOT:-/opt}"
+   + CYLC_HOME_ROOT="${CYLC_HOME_ROOT:-/path/to}"
+
+.. note::
+
+   Developers can set ``$CYLC_HOME_ROOT_ALT`` to point
+   to their development environments. For example:
+
+   .. code-block:: bash
+
+      CYLC_HOME_ROOT_ALT=${HOME}/.conda/envs
+
+You may wish to use the same approach for the ``isodatetime`` command, and, if using
+`Rose`_ for the ``rose`` and ``rosie`` commands.
+
+To do so create a symbolic link to the wrapper, for each of these commands:
+
+.. code-block:: bash
+
+   cd /path/to       # Using the path where you installed the wrapper script
+   ln -s cylc rose
+   ln -s cylc rosie
+   ln -s cylc isodatetime
+
+
+Configuration
+-------------
+
+Cylc uses sane and safe defaults and is suitable for use "out of the box",
+if all you need to do is run jobs locally in the background.
+However, many things may need to be configured, e.g:
+
+* :ref:`AdminGuide.PlatformConfigs` (jobs hosts, runners, etc)
+* :ref:`Scheduler Hosts<Submitting Workflows To a Pool Of Hosts>`
+* :ref:`Default Event Handlers<user_guide.runtime.task_event_handling.general_event_handlers>`.
+
+Cylc Flow
+^^^^^^^^^
+
+`Cylc Flow`_ is configured by the :cylc:conf:`global.cylc` file which supports
+configuration of the system on both a site and user basis.
+
+.. note::
+
+   Prior to Cylc 8, ``global.cylc`` was named ``global.rc``, but that name is
+   no longer supported.
+
+The global.cylc file should be available on user machines (where users interact
+with Cylc on the command line) and on cylc servers (where Cylc schedulers run).
+It is not required to be available on job hosts.
+
+More information about supported configuration items and defaults can be found:
+:ref:`global-configuration`.
+
+Cylc UI Server
+^^^^^^^^^^^^^^
+The `Cylc UI Server`_ can be configured on a site and user basis.
+Guidance for configuration file storage, configuration variables and defaults
+can be found: :ref:`UI_Server_config`.
+
+Bash Profile
+^^^^^^^^^^^^
+
+Cylc :term:`job scripts <job script>` are bash scripts, which is good for
+manipulating files and processes, They invoke ``bash -l`` to allow environment
+configuration in login scripts.
+
+.. warning::
+
+   Sites and users should ensure their bash login scripts configure the
+   environment correctly for Cylc and *do not write anything to stdout*.
+
+.. _installation.shell_auto_completion:
+
+Shell Auto-Completion
+^^^^^^^^^^^^^^^^^^^^^
+
+Cylc provides auto-completion for the Bash shell which can save you typing:
+
+* Cylc commands
+* Workflow IDs
+* Cycle points
+* Task names
+
+To extract the auto-completion file run the following command:
+
+.. code-block:: sub
+
+   cylc get-resources cylc-completion.bash <path-to-copy-file>
+
+Then follow the comments in the file to install it.
+
+Text Editors
+^^^^^^^^^^^^
+
+There is support for the ``.cylc`` file format in various text editors.
+
+See :ref:`SyntaxHighlighting` for more details.
diff --git a/nightly_8.3/html/_sources/plugins/cylc-rose.rst.txt b/nightly_8.3/html/_sources/plugins/cylc-rose.rst.txt
new file mode 100644
index 00000000000..dd9a6928211
--- /dev/null
+++ b/nightly_8.3/html/_sources/plugins/cylc-rose.rst.txt
@@ -0,0 +1,6 @@
+.. _Cylc Rose:
+
+Cylc Rose
+=========
+
+.. automodule:: cylc.rose
diff --git a/nightly_8.3/html/_sources/plugins/index.rst.txt b/nightly_8.3/html/_sources/plugins/index.rst.txt
new file mode 100644
index 00000000000..8e78ed3dc5b
--- /dev/null
+++ b/nightly_8.3/html/_sources/plugins/index.rst.txt
@@ -0,0 +1,19 @@
+Plugins
+=======
+
+Cylc supports plugins for providing additional functionality.
+
+The following are "core" plugins maintained by the Cylc team:
+
+.. toctree::
+   :maxdepth: 1
+
+   cylc-rose
+   main-loop/index
+   install/index
+   job-runners/index
+
+.. warning::
+
+   Plugins are a new feature of Cylc 8 and the interface is likely to change in
+   future releases.
diff --git a/nightly_8.3/html/_sources/plugins/install/built-in/cylc.flow.install_plugins.log_vc_info.rst.txt b/nightly_8.3/html/_sources/plugins/install/built-in/cylc.flow.install_plugins.log_vc_info.rst.txt
new file mode 100644
index 00000000000..899d297bbd6
--- /dev/null
+++ b/nightly_8.3/html/_sources/plugins/install/built-in/cylc.flow.install_plugins.log_vc_info.rst.txt
@@ -0,0 +1,4 @@
+cylc.flow.install\_plugins.log\_vc\_info
+========================================
+
+.. automodule:: cylc.flow.install_plugins.log_vc_info
\ No newline at end of file
diff --git a/nightly_8.3/html/_sources/plugins/install/index.rst.txt b/nightly_8.3/html/_sources/plugins/install/index.rst.txt
new file mode 100644
index 00000000000..335c07b3c4f
--- /dev/null
+++ b/nightly_8.3/html/_sources/plugins/install/index.rst.txt
@@ -0,0 +1,162 @@
+Pre-Configure And Post-Install Plugins
+======================================
+
+Pre-configure plugins allow Cylc to take additional actions before running
+Cylc utilities such as ``cylc install``, ``cylc graph`` and ``cylc config``.
+
+Post-install plugins allow Cylc to take additional actions after
+running ``cylc install``.
+
+
+Built In Plugins
+----------------
+
+Cylc Flow provides the following pre-configure and post-install plugins:
+
+.. autosummary::
+   :toctree: built-in
+   :template: docstring_only.rst
+
+   cylc.flow.install_plugins.log_vc_info
+
+.. Note: Autosummary generates files in this directory, these are cleaned
+         up by `make clean`.
+
+Developing ``pre_configure`` and ``post_install`` plugins
+---------------------------------------------------------
+
+Cylc uses entry points registered by setuptools to search for pre-configure
+and post-install plugins.
+
+Hello World
+^^^^^^^^^^^
+
+In this example a pre-configure plugin which logs a "Hello World" message
+and, after installation, logs some info about the installation:
+
+.. code-block:: python
+   :caption: ``my_plugin.py``
+
+   from cylc.flow import LOG
+
+   def pre_configure(srcdir=None, opts=None, rundir=None):
+       # write Hello to the Cylc log.
+       LOG.info(f'Hello World')
+       return {}
+
+   def post_install(srcdir=None, opts=None, rundir=None):
+       LOG.info(f'installed from {srcdir}')
+       LOG.info(f'installed to {rundir}')
+       LOG.info(f'installation options were {options}')
+       return {}
+
+Plugins are registered by registering them with the ``cylc.pre_configure``
+and ``cylc.post_install`` entry points:
+
+.. code-block:: python
+   :caption: ``setup.py``
+
+   # plugins must be properly installed, in-place PYTHONPATH meddling will
+   # not work.
+
+   from setuptools import setup
+
+   setup(
+       name='my-plugin',
+       version='1.0',
+       py_modules=['my_plugin'],
+       entry_points={
+           # register this plugin with Cylc
+           'cylc.pre_configure': [
+           # name = python.namespace.of.module
+           'my_plugin=my_plugin.my_plugin:pre_configure'
+           ]
+           'cylc.post_install': [
+           # name = python.namespace.of.module
+           'my_plugin=my_plugin.my_plugin:post_install'
+           ]
+       }
+   )
+
+API Reference
+^^^^^^^^^^^^^
+
+Cylc will pass following arguments to pre-configure and post-install plugins:
+
+``srcdir`` (Path or string)
+   The directory from which ``cylc install`` is installing a workflow,
+   or the directory passed to ``cylc validate``, ``cylc graph`` and other
+   CLI commands which work without installing a workflow.
+``opts`` (``optparse.Values``)
+   CLI options set for a Cylc script.
+``rundir`` (Path or string)
+   The destination of a ``cylc install`` or ``reinstall`` command.
+
+The pre-configure plugin should return a dictionary which may contain the
+following keys:
+
+``env``
+   A dictionary of environment variables to be exported to the scheduler
+   environment.
+``template_variables``
+   A dictionary of template variables to be used by Jinja2 or EmPy when
+   templating the workflow configuration files.
+``templating_detected``
+   ``jinja2`` | ``empy`` to be used when templating. N.b: This will result in
+   failure if the templating language set does not match the shebang line of
+   the ``flow.cylc`` file.
+
+The post-install entry point does not return any data used by Cylc.
+
+More advanced example
+^^^^^^^^^^^^^^^^^^^^^
+
+.. seealso::
+
+   For the implementation of a more fully featured "real-world" example see
+   :ref:`Cylc Rose`.
+
+The example below looks for a file in the workflow source directory called
+``template.json`` and activates if it exists.
+
+At ``pre_configure`` template variables are extracted from a ``template.json``
+file and provided to Cylc as both template and environment variables.
+
+At ``post_install`` an additional log file is provided recording the version
+of this plugin used.
+
+.. code-block:: python
+   :caption: An example json reading plugin
+
+   import json
+   from pathlib import Path
+
+   VERSION = '0.0.1'
+
+   def pre_configure(srcdir=None, opts=None, rundir=None):
+       # Look for a 'template.json' file in the srcdir and make template
+       # variables from it available as jinja2.
+       template_file = (Path(srcdir) / 'template.json')
+
+       # Trigger the plugin if some condition is met:
+       if (template_file).exists():
+           # You could retrieve info from a file:
+           template = json.loads(template_file.read_text())
+
+           # You can add variables programmatically:
+           template['plugin_set_var'] = str(__file__)
+
+           # Return a dict:
+           return {
+               'env': template,
+               'template_variables': template,
+               'templating_detected': 'jinja2'
+           }
+       else:
+           return {}
+
+   def post_install(srcdir=None, opts=None, rundir=None):
+       # record plugin version in a file
+       (Path(rundir) / 'log/json-plugin.info').write_text(
+           f"Installed with Simple JSON reader plugin version {VERSION}\\n")
+       return None
diff --git a/nightly_8.3/html/_sources/plugins/job-runners/index.rst.txt b/nightly_8.3/html/_sources/plugins/job-runners/index.rst.txt
new file mode 100644
index 00000000000..827ed6707b6
--- /dev/null
+++ b/nightly_8.3/html/_sources/plugins/job-runners/index.rst.txt
@@ -0,0 +1,7 @@
+.. _CustomJobSubmissionMethods:
+
+Custom Job Submission Methods
+-----------------------------
+
+.. autoclass:: cylc.flow.job_runner_handlers.documentation.ExampleHandler
+   :members:
diff --git a/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.rst.txt b/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.rst.txt
new file mode 100644
index 00000000000..542fa58b177
--- /dev/null
+++ b/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.rst.txt
@@ -0,0 +1,28 @@
+cylc.flow.main\_loop.auto\_restart
+==================================
+
+.. automodule:: cylc.flow.main_loop.auto_restart
+   :members: auto_restart
+
+   .. set members so that we only document what is actually defined
+      otherwise you can end up with imported modules and mess like that
+
+   
+
+   Python API
+   ----------
+
+   
+   .. rubric:: Coroutines
+
+   .. write out a table of functions (coroutines in this context)
+      for quick reference
+       
+   .. autosummary::
+      :nosignatures:
+
+   
+      auto_restart
+
+   
+   
\ No newline at end of file
diff --git a/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.health_check.rst.txt b/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.health_check.rst.txt
new file mode 100644
index 00000000000..5a44d343771
--- /dev/null
+++ b/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.health_check.rst.txt
@@ -0,0 +1,28 @@
+cylc.flow.main\_loop.health\_check
+==================================
+
+.. automodule:: cylc.flow.main_loop.health_check
+   :members: health_check
+
+   .. set members so that we only document what is actually defined
+      otherwise you can end up with imported modules and mess like that
+
+   
+
+   Python API
+   ----------
+
+   
+   .. rubric:: Coroutines
+
+   .. write out a table of functions (coroutines in this context)
+      for quick reference
+       
+   .. autosummary::
+      :nosignatures:
+
+   
+      health_check
+
+   
+   
\ No newline at end of file
diff --git a/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store.rst.txt b/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store.rst.txt
new file mode 100644
index 00000000000..a6fd7db214b
--- /dev/null
+++ b/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store.rst.txt
@@ -0,0 +1,30 @@
+cylc.flow.main\_loop.log\_data\_store
+=====================================
+
+.. automodule:: cylc.flow.main_loop.log_data_store
+   :members: init, log_data_store, report
+
+   .. set members so that we only document what is actually defined
+      otherwise you can end up with imported modules and mess like that
+
+   
+
+   Python API
+   ----------
+
+   
+   .. rubric:: Coroutines
+
+   .. write out a table of functions (coroutines in this context)
+      for quick reference
+       
+   .. autosummary::
+      :nosignatures:
+
+   
+      init
+      log_data_store
+      report
+
+   
+   
\ No newline at end of file
diff --git a/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop.rst.txt b/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop.rst.txt
new file mode 100644
index 00000000000..266ac5a897b
--- /dev/null
+++ b/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop.rst.txt
@@ -0,0 +1,29 @@
+cylc.flow.main\_loop.log\_main\_loop
+====================================
+
+.. automodule:: cylc.flow.main_loop.log_main_loop
+   :members: init, report
+
+   .. set members so that we only document what is actually defined
+      otherwise you can end up with imported modules and mess like that
+
+   
+
+   Python API
+   ----------
+
+   
+   .. rubric:: Coroutines
+
+   .. write out a table of functions (coroutines in this context)
+      for quick reference
+       
+   .. autosummary::
+      :nosignatures:
+
+   
+      init
+      report
+
+   
+   
\ No newline at end of file
diff --git a/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.log_memory.rst.txt b/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.log_memory.rst.txt
new file mode 100644
index 00000000000..6b7007e4d11
--- /dev/null
+++ b/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.log_memory.rst.txt
@@ -0,0 +1,30 @@
+cylc.flow.main\_loop.log\_memory
+================================
+
+.. automodule:: cylc.flow.main_loop.log_memory
+   :members: init, report, take_snapshot
+
+   .. set members so that we only document what is actually defined
+      otherwise you can end up with imported modules and mess like that
+
+   
+
+   Python API
+   ----------
+
+   
+   .. rubric:: Coroutines
+
+   .. write out a table of functions (coroutines in this context)
+      for quick reference
+       
+   .. autosummary::
+      :nosignatures:
+
+   
+      init
+      report
+      take_snapshot
+
+   
+   
\ No newline at end of file
diff --git a/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts.rst.txt b/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts.rst.txt
new file mode 100644
index 00000000000..fad5d72d738
--- /dev/null
+++ b/nightly_8.3/html/_sources/plugins/main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts.rst.txt
@@ -0,0 +1,28 @@
+cylc.flow.main\_loop.reset\_bad\_hosts
+======================================
+
+.. automodule:: cylc.flow.main_loop.reset_bad_hosts
+   :members: reset_bad_hosts
+
+   .. set members so that we only document what is actually defined
+      otherwise you can end up with imported modules and mess like that
+
+   
+
+   Python API
+   ----------
+
+   
+   .. rubric:: Coroutines
+
+   .. write out a table of functions (coroutines in this context)
+      for quick reference
+       
+   .. autosummary::
+      :nosignatures:
+
+   
+      reset_bad_hosts
+
+   
+   
\ No newline at end of file
diff --git a/nightly_8.3/html/_sources/plugins/main-loop/index.rst.txt b/nightly_8.3/html/_sources/plugins/main-loop/index.rst.txt
new file mode 100644
index 00000000000..8ef83f81513
--- /dev/null
+++ b/nightly_8.3/html/_sources/plugins/main-loop/index.rst.txt
@@ -0,0 +1,4 @@
+Main Loop Plugins
+=================
+
+.. automodule:: cylc.flow.main_loop
diff --git a/nightly_8.3/html/_sources/reference/api/index.rst.txt b/nightly_8.3/html/_sources/reference/api/index.rst.txt
new file mode 100644
index 00000000000..6a3acc3f374
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/api/index.rst.txt
@@ -0,0 +1,8 @@
+Cylc API
+========
+
+
+.. toctree::
+
+   scan
+   zmq
diff --git a/nightly_8.3/html/_sources/reference/api/scan.rst.txt b/nightly_8.3/html/_sources/reference/api/scan.rst.txt
new file mode 100644
index 00000000000..a882ad8a97a
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/api/scan.rst.txt
@@ -0,0 +1,4 @@
+Scan API
+========
+
+.. automodule:: cylc.flow.network.scan
diff --git a/nightly_8.3/html/_sources/reference/api/zmq.rst.txt b/nightly_8.3/html/_sources/reference/api/zmq.rst.txt
new file mode 100644
index 00000000000..d98800ec877
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/api/zmq.rst.txt
@@ -0,0 +1,39 @@
+Workflow Runtime Interface
+==========================
+
+Cylc workflows are TCP servers which use the ZeroMQ protocol to communicate with
+clients and jobs.
+
+Cylc provides a Python client to communicate with this server
+:py:class:`cylc.flow.network.client.WorkflowRuntimeClient`
+
+.. code-block:: python
+
+   >>> from cylc.flow.network.client import WorkflowRuntimeClient
+   >>> client = WorkflowRuntimeClient('my-workflow')
+   >>> client('ping_workflow')
+   True
+
+Cylc also provides sub-command called ``cylc client`` which is a simple
+wrapper of the Python client.
+
+.. code-block:: console
+
+   $ cylc client generic ping_workflow -n
+   true
+
+The available "commands" or ("endpoints") are contained in
+:py:class:`cylc.flow.network.server.WorkflowRuntimeServer` class.
+
+
+Client
+------
+
+.. autoclass:: cylc.flow.network.client.WorkflowRuntimeClient
+
+
+Server
+------
+
+.. autoclass:: cylc.flow.network.server.WorkflowRuntimeServer
+   :members:
diff --git a/nightly_8.3/html/_sources/reference/architecture/data-flow.rst.txt b/nightly_8.3/html/_sources/reference/architecture/data-flow.rst.txt
new file mode 100644
index 00000000000..985eb7db20b
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/architecture/data-flow.rst.txt
@@ -0,0 +1,201 @@
+Data Flow
+=========
+
+This section looks at how Cylc synchronises data between its different
+components, the transports, security and formats used to do so.
+
+.. digraph:: _
+   :align: center
+
+   Jobs -> Scheduler [label=" ZMQ\n GraphQL\n (default)"]
+
+   Scheduler -> UIS [label=" ZMQ\n GraphQL (control)\n Protobuf (data)"]
+
+   UIS -> UI [label=" Websocket\n GraphQL"]
+
+
+.. _arch protocols:
+
+Protocols, Transport & Security
+-------------------------------
+
+Cylc uses the following schemes for data and control:
+
+
+.. _arch zmq:
+
+ZMQ (Over TCP)
+^^^^^^^^^^^^^^
+
+Cylc uses `ZMQ`_ over TCP for most server side interaction.
+
+All `ZMQ`_ connections are secured by `CurveZMQ`_ which uses security keys
+which are stored on the filesystem with appropriate permissions.
+
+Where remote communication is involved Cylc synchronises the relevant keys
+to the appropriate platforms.
+
+For more information on the key files see :ref:`Authentication Files`.
+
+.. _arch ssh:
+
+SSH
+^^^
+
+SSH connections are used for some purposes such as installing the key files
+required for :ref:`arch zmq` transport.
+
+.. _arch https:
+
+HTTPS (Hypertext Transfer Protocol Secure)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+HTTPS connections are used in the browser-based `Cylc UI`_. The certificate
+used must be configured with the `Cylc UI Server`_ / `Jupyter Server`_.
+
+.. _arch wss:
+
+WSS (WebSocket Secure)
+^^^^^^^^^^^^^^^^^^^^^^
+Websocket connections are used in the browser-based `Cylc UI`_. These
+connections are upgraded from HTTPS connections and share the same security.
+
+.. _arch formats:
+
+Formats
+-------
+
+Cylc uses the following transports to communicate over these protocols.
+
+.. _arch protobuf:
+
+Protobuf
+^^^^^^^^
+
+Protobuf is both a storage utility and transport.
+
+Protobuf is used for internal data stores and the synchronisation of those data
+stores.
+
+
+.. _arch graphql:
+
+GraphQL
+^^^^^^^
+
+`GraphQL`_ is a query language which is intended to be the user-facing
+data and control interface for Cylc workflows.
+
+It contains both data and mutations (actions) defined by a self-documenting
+schema.
+
+The GraphQL servers get their data from :ref:`arch protobuf` data stores.
+
+
+Component Interactions
+----------------------
+
+Here are some additional details on how the components interact.
+
+Job -> Scheduler
+^^^^^^^^^^^^^^^^
+
+:Default Protocol: :ref:`arch zmq`
+:Format: :ref:`arch graphql`
+
+Jobs can communicate status updates back to the Scheduler using different
+methods. The method used is configured on a per-platform basis by the
+:cylc:conf:`global.cylc[platforms][<platform name>]communication method`.
+
+
+Client -> Scheduler
+^^^^^^^^^^^^^^^^^^^
+
+:Protocol: :ref:`arch zmq`
+:Format: :ref:`arch protobuf`
+
+The subcommands in the Cylc command line interface map onto `GraphQL`_
+mutations.
+
+Mutations are issued through `ZMQ`_ connections.
+
+Scheduler -> UI Server
+^^^^^^^^^^^^^^^^^^^^^^
+
+:Protocol: :ref:`arch zmq`
+:Formats: :ref:`arch protobuf` (data) and :ref:`arch graphql` (control)
+
+The :term:`Scheduler` maintains an in-memory `Protobuf`_ data store which is
+backed up by a SQLite3 database.
+
+The database provides crash resilience and restart capability.
+
+The `UI Server`_ also maintains an in-memory `Protobuf`_ data store containing
+relevant data for the workflows it is actively monitoring.
+
+The synchronisation of the :term:`Scheduler` and `UI Server`_ data stores is
+done using one :ref:`arch zmq` connection per :term:`Scheduler`.
+
+The :term:`Schedulers <scheduler>` that the `UI Server`_ connects to are
+determined by the active subscriptions registered. If there are no active
+subscriptions the `UI Server`_ will have no active :term:`Scheduler`
+connections.
+
+
+UI Server -> UI
+^^^^^^^^^^^^^^^
+
+:Protocols: :ref:`arch wss`, :ref:`arch https`
+:Format: :ref:`arch graphql`
+
+Most UI functionality involves subscribing to "delta" updates. For these
+subscriptions the `UI Server`_ sends only the added/removed/updated data
+(a delta) to the UI enabling it to update its internal data store.
+
+The UI maintains a flat "lookup" which contains all objects in the store
+indexed by their ID. It also maintains a "tree" which contains references
+to the data in the "lookup" (but does not duplicate it) which it holds in a
+hierarchical structure more suitable for presentation purposes.
+
+The Cylc Web UI uses `Apollo Client`_ to handle `GraphQL`_ requests.
+It will have one `WebSocket`_ per user session.
+
+.. figure:: img/websocket-communication.png
+   :align: center
+
+Every message received by the server is added to a queue, and processed
+by the server as soon as possible.
+
+It uses the Cylc UI Server schema and resolvers to validate the
+query and to fetch data from the data store for the query response.
+
+The query result is then serialized as JSON and sent back to the client.
+The work of the Apollo Client ends after it pushes the data to the Vuex
+store.
+
+The communication between client and server follows a protocol
+called `graphql-ws protocol`_.
+
+.. figure:: img/websocket-graphql-ws-protocol.png
+   :align: center
+
+After a channel between client and server is open, the messages
+follow that protocol, starting by the ``connection init`` message,
+that simply expects an ``ack`` message back from the server,
+where the ``ack`` is an acknowledgement to the client - note
+that the protocol does not define an ``ack`` as a MUST, but
+rather as a MAY, so a client may interpret not receiving an
+error as an acknowledgement to proceed as well.
+
+The next message will be a ``start``, which will contain the
+GraphQL query subscription. If there were no errors, the client and
+server subscription is established, and the client will start
+receiving the GraphQL responses.
+
+The protocol also supports other messages, such as ``stop``, to
+tell the server it doesn't need to send any more data as that
+subscription is now cancelled.
+
+
+.. _`GraphQL subscription`: https://www.apollographql.com/docs/react/data/subscriptions/
+.. _`graphql-ws protocol`: https://github.com/apollographql/subscriptions-transport-ws/blob/master/PROTOCOL.md
diff --git a/nightly_8.3/html/_sources/reference/architecture/index.rst.txt b/nightly_8.3/html/_sources/reference/architecture/index.rst.txt
new file mode 100644
index 00000000000..d5184c2ee49
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/architecture/index.rst.txt
@@ -0,0 +1,58 @@
+.. _architecture-reference:
+
+Architecture
+============
+
+This section provides an in-depth explanation of the architecture of the
+Cylc components intended for developers and system administrators.
+
+The main Cylc 8 system components are:
+
+Cylc Scheduler
+--------------
+
+- The workflow engine core, Python 3 based
+- Includes the **CLI** (Command Line Interface)
+- And **TUI**, a new Terminal UI application
+
+Cylc UI
+-------
+
+- In-browser web UI, includes:
+- A dashboard with summary information and documentation links
+- Integrated gscan (multi-workflow) side-panel
+- Responsive web design (from desktop to table to mobile)
+- Tabbed interface to display multiple workflow views
+- Command integration for interacting with task, jobs, and schedulers
+
+Cylc UI Server
+--------------
+
+- Interacts with Schedulers and the filesystem
+- Serves the UI to users
+- Can be launched by the privileged Hub, for multi-user installations
+- Or run standalone for use by a single user
+- (The UI Server is a `Jupyter Server
+  <https://jupyter-server.readthedocs.io>`_ extension)
+
+Cylc Hub
+--------
+
+- For proving the UI in multi-user setups.
+- Authenticates users, spawns and proxies Cylc UI Servers
+- Can run as a regular or privileged user
+- (The Hub is a `Jupyterhub <https://jupyter.org/hub>`_ instance)
+
+Network layers
+--------------
+
+- Incremental push updates (c.f. polled full-state updates in Cylc 7)
+
+Further Reading
+---------------
+
+.. toctree::
+   :maxdepth: 2
+
+   ui-server
+   data-flow
diff --git a/nightly_8.3/html/_sources/reference/architecture/ui-server.rst.txt b/nightly_8.3/html/_sources/reference/architecture/ui-server.rst.txt
new file mode 100644
index 00000000000..0af147b37d8
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/architecture/ui-server.rst.txt
@@ -0,0 +1,117 @@
+.. _CylcUIServer.architecture:
+
+Cylc UI Server
+==============
+
+`Cylc Flow`_
+   Provides a command line utility for monitoring and controlling
+   Cylc workflows called ``cylc tui``.
+`Cylc UI Server`_
+   Provides a graphical utility for use in a web browser.
+
+The `Cylc UI Server`_ connects to running workflows to provide "live" data
+and accesses workflow databases and the filesystem to provide "offline" data.
+
+
+Jupyter Server
+--------------
+
+The `Cylc UI Server`_ is a `Jupyter Server`_ extension like `Jupyter Lab`_.
+
+`Jupyter Server`_ provides the web server infrastructure which is shared by
+its extensions which can used to run multiple extensions simultaneously.
+
+If desired other extensions (e.g. `Jupyter Lab`_) can be installed and
+configured to run in the same server as the `Cylc UI Server`_.
+
+See :ref:`managing-multiple-extensions` for details on managing which
+extensions are run by `Jupyter Server`_.
+
+`Jupyter Server`_ can be run in two ways, single-user (token authenticated)
+and multi-user (hub authenticated).
+
+
+.. _single-user mode:
+
+Single-User Mode
+----------------
+
+In single-user mode users must start their own UI Servers from the command line.
+
+`Jupyter Server`_ will provide them with a URL to access their server including
+a secure token which provides authentication.
+
+.. admonition:: Authentication Overview
+   :class: hint
+
+   See :ref:`server_security`:
+
+Users can only monitor and control their own workflows.
+
+.. image:: img/gui-arch-single-user.svg
+   :width: 70%
+   :align: center
+
+
+Jupyter Hub
+-----------
+
+.. _Cylc Hub configuration file: https://github.com/cylc/cylc-uiserver/blob/master/cylc/uiserver/jupyter_config.py
+
+`Jupyter Hub`_ is a multi-user server which spawns and manages a configured
+service for authenticated users.
+
+The "Cylc Hub" is a Jupyter Hub instance which is pre-configured to spawn
+Cylc UI Servers, launched by the ``cylc hub`` command.
+It is also possible to configure Jupyter Hub yourself, see the Cylc Hub
+configuration file for more information.
+
+Jupyter Hub supports a variety of different implementations and plugin interfaces
+for:
+
+* `Authenticating users <https://jupyterhub.readthedocs.io/en/stable/reference/authenticators.html>`_
+* `Spawning user's servers <https://jupyterhub.readthedocs.io/en/stable/reference/spawners.html>`_
+* `Proxying user's servers <https://jupyterhub.readthedocs.io/en/stable/reference/proxy.html>`_
+
+
+.. _multi-user mode:
+
+Multi-User Mode
+----------------
+
+Multi-user mode requires `Jupyter Hub`_ to be installed.
+
+An administrator must start `Jupyter Hub`_ under a user account with
+the required privileges to spawn UI Servers on behalf of the user.
+
+Users then visit `Jupyter Hub`_ where they authenticate. `Jupyter Hub`_
+spawns UI Servers on behalf of users and provides each with a fixed URL
+(derived from the user name) using the configured proxy
+(usually `Configurable HTTP Proxy`_).
+
+Users can access each other's UI Servers providing they have been granted
+permission.
+
+*Authentication* is provided by either `Jupyter Server`_ or `Jupyter Hub`_.
+
+*Authorization* in the `Cylc UI Server`_ is provided by Cylc. In
+multi-user mode this allows users to connect to each other's UI Servers for
+monitoring or control purposes.
+
+For more information on security and configuration see
+:ref:`cylc.uiserver.multi-user`.
+
+.. _Jupyter Hub technical overview: https://jupyterhub.readthedocs.io/en/stable/reference/technical-overview.html
+
+For information on the architecture of `Jupyter Hub`_ and the
+`Configurable HTTP Proxy`_ see the `Jupyter Hub technical overview`_.
+
+.. admonition:: Authentication Overview
+   :class: hint
+
+   .. _Security In Jupyter Hub: https://jupyterhub.readthedocs.io/en/stable/reference/websecurity.html
+
+   See `Security In Jupyter Hub`_.
+
+.. image:: img/gui-arch-multi-user.svg
+   :width: 100%
diff --git a/nightly_8.3/html/_sources/reference/changes.rst.txt b/nightly_8.3/html/_sources/reference/changes.rst.txt
new file mode 100644
index 00000000000..120410422d7
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/changes.rst.txt
@@ -0,0 +1,214 @@
+Changes
+=======
+
+.. _cylc-flow-changelog: https://github.com/cylc/cylc-flow/blob/master/CHANGES.md
+.. _cylc-uiserver-changelog: https://github.com/cylc/cylc-uiserver/blob/master/CHANGES.md
+.. _cylc-ui-changelog: https://github.com/cylc/cylc-ui/blob/master/CHANGES.md
+.. _cylc-rose-changelog: https://github.com/cylc/cylc-rose/blob/master/CHANGES.md
+.. _metomi-rose-changelog: https://github.com/metomi/rose/blob/master/CHANGES.md
+.. _metomi-isodatetime-changelog: https://github.com/metomi/isodatetime/blob/master/CHANGES.md
+
+This page contains a summary of significant changes across all Cylc components for each
+release.
+
+For more detail see the component changelogs:
+
+* `cylc-flow-changelog`_
+* `cylc-uiserver-changelog`_
+* `cylc-ui-changelog`_
+* `cylc-rose-changelog`_
+* `metomi-rose-changelog`_
+* `metomi-isodatetime-changelog`_
+
+
+----------
+
+Cylc 8.3.0
+----------
+
+.. admonition:: Cylc Components
+   :class: hint
+
+   TODO
+
+..
+   Uncomment this before 8.3.0 release
+
+   :cylc-flow: `8.3 <https://github.com/cylc/cylc-flow/blob/8.3.x/CHANGES.md>`__
+   :cylc-uiserver: `1.4 <https://github.com/cylc/cylc-uiserver/blob/1.4.x/CHANGES.md>`__
+   :cylc-rose: `1.4 <https://github.com/cylc/cylc-rose/blob/1.4.x/CHANGES.md>`__
+
+
+Upgrade To The Latest Jupyter Releases
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The Cylc UI Server has been updated to work with the latest releases of
+`Jupyter Server`_ and `Jupyter Hub`_.
+
+If you are utilising Cylc's multi-user functionality then your configuration
+will require some changes to work with these releases.
+
+See :ref:`cylc.uiserver.multi-user` for more details
+
+----------
+
+Cylc 8.2.0
+----------
+
+.. admonition:: Cylc Components
+   :class: hint
+
+   :cylc-flow: `8.2 <https://github.com/cylc/cylc-flow/blob/master/CHANGES.md>`__
+   :cylc-uiserver: `1.3 <https://github.com/cylc/cylc-uiserver/blob/master/CHANGES.md>`__
+   :cylc-rose: `1.3 <https://github.com/cylc/cylc-rose/blob/master/CHANGES.md>`__
+
+
+Configure The Default View
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+You can now configure the view which is opened by default when you navigate to
+a new workflow in the GUI. Navigate to the settings page to select your chosen
+view.
+
+.. image:: changes/ui-view-selector.jpg
+   :width: 100%
+
+In the future we plan to support configuring a layout of multiple views and
+configuring certain options on those views.
+
+
+Reload
+^^^^^^
+
+When workflows are
+:ref:`reloaded <Reloading The Workflow Configuration At Runtime>`,
+(e.g. by ``cylc reload``), Cylc will now pause the workflow and wait for any
+preparing tasks to be submitted before proceeding with the reload.
+Once the reload has been completed, the workflow will be resumed.
+
+You can now see more information about the status of the reload in the
+workflow status message which appears at the top of the GUI and Tui interfaces.
+
+----------
+
+Cylc 8.1.0
+----------
+
+.. admonition:: Cylc Components
+   :class: hint
+
+   :cylc-flow: `8.1 <https://github.com/cylc/cylc-flow/blob/8.1.x/CHANGES.md>`__
+   :cylc-uiserver: `1.2 <https://github.com/cylc/cylc-uiserver/blob/1.2.x/CHANGES.md>`__
+   :cylc-rose: `1.1 <https://github.com/cylc/cylc-rose/blob/1.1.0/CHANGES.md#user-content-cylc-rose-110-released-2022-07-28>`__
+
+.. warning::
+
+   Workflows started with Cylc 8.0 which contain multiple :term:`flows <flow>`
+   **cannot** be restarted with Cylc 8.1 due to database changes.
+
+
+Graph View
+^^^^^^^^^^
+
+The web UI now has a graph view which displays a visualisation of a workflow's graph:
+
+.. image:: changes/cylc-graph.gif
+   :width: 80%
+
+Family & cycle grouping as well as the ability to view graphs for stopped workflows
+will be added in later releases.
+
+
+Log View
+^^^^^^^^
+
+The web UI now has a log view which displays workflow and job log files:
+
+.. image:: changes/log-view-screenshot.png
+   :width: 80%
+
+Support for viewing more log files, syntax highlighting, searching and line
+numbers are planned for future releases.
+
+Edit Runtime
+^^^^^^^^^^^^
+
+The web UI now has a command for editing the :cylc:conf:`[runtime]` section
+of a task or family.
+
+.. image:: changes/edit-runtime-screenshot.png
+   :width: 80%
+
+Any changes made are :ref:`broadcast <cylc-broadcast>` to the running workflow.
+
+Analysis View
+^^^^^^^^^^^^^
+
+.. versionadded:: cylc-uiserver 1.2.2
+
+The web UI also has a new view for displaying task queue & run time statistics.
+
+.. image:: changes/analysis_view.gif
+   :width: 80%
+
+Combined Commands
+^^^^^^^^^^^^^^^^^
+
+Two new commands have been added as short-cuts for common working patterns:
+
+``cylc vip`` 
+   Validate, install and plays a workflow, equivalent to:
+
+   .. code-block:: bash
+   
+      cylc validate <path>
+      cylc install <path>
+      cylc play <id>
+
+``cylc vr``
+   Validate and reinstall a workflow, then either:
+   - reload the workflow if it is running.
+   - restart the workflow if it is stopped.
+
+.. image:: changes/vip-vr.gif
+   :width: 100%
+
+For more information see the command line help:
+
+.. code-block:: bash
+
+   cylc vip --help
+   cylc vr --help
+
+
+Bash Completion
+^^^^^^^^^^^^^^^
+
+Cylc now provides a high performance Bash completion script which saves you typing:
+
+* Cylc commands & options
+* Workflow IDs
+* Cycle points
+* Task names
+* Job numbers
+
+.. image:: changes/cylc-completion.bash.gif
+   :width: 80%
+
+:ref:`Installation instructions <installation.shell_auto_completion>`.
+
+----------
+
+Cylc 8.0.0
+----------
+
+.. admonition:: Cylc Components
+   :class: hint
+
+   :cylc-flow: `8.0 <https://github.com/cylc/cylc-flow/blob/8.0.0/CHANGES.md#user-content-major-changes-in-cylc-8>`__
+   :cylc-uiserver: `1.1 <https://github.com/cylc/cylc-uiserver/blob/1.1.0/CHANGES.md#user-content-cylc-uiserver-110-released-2022-07-28>`__
+   :cylc-rose: `1.1 <https://github.com/cylc/cylc-rose/blob/1.1.0/CHANGES.md#user-content-cylc-rose-110-released-2022-07-28>`__
+
+The first official release of Cylc 8.
+
+For a summary of changes see the :ref:`migration guide<728.overview>`.
diff --git a/nightly_8.3/html/_sources/reference/config/file-format.rst.txt b/nightly_8.3/html/_sources/reference/config/file-format.rst.txt
new file mode 100644
index 00000000000..88ab7fe0d16
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/config/file-format.rst.txt
@@ -0,0 +1,176 @@
+.. _file-format:
+
+The .cylc File Format
+=====================
+
+Cylc global and workflow configuration files are written in a nested
+`INI`_-based format.
+
+.. _syntax:
+
+Syntax
+------
+
+Comments
+   Comments follow a ``#`` character.
+
+Settings
+   Configuration items (settings) are written as ``key = value`` pairs, and can
+   be contained within sections. Setting names (the keys) may contain spaces.
+
+String Values
+   Quoting single-line string values is optional:
+
+   .. code-block:: cylc
+
+      [animals]
+         cat = dusty
+         dog = "fido"  # or single quotes: 'fido'
+
+   Multiline string values must be triple-quoted:
+
+   .. code-block:: cylc
+
+      [song]
+         lyrics = """  # (or triple single-quotes: '''value''')
+            No stop signs
+            Speed limit
+            Nobody's gonna slow me down
+         """
+
+List Values
+   List values are comma-separated:
+
+   .. code-block:: cylc
+
+      animals = dusty, fido, cujo
+
+
+Boolean Values
+   Booleans are capitalized:
+
+   .. code-block:: cylc
+
+      ice cream is good = True  # or False
+
+
+Sections and Sub-sections
+   Settings have a level-dependent number of square brackets:
+
+   .. code-block:: cylc
+
+      [section]
+      [[sub-section]]
+      [[[sub-sub-section]]]
+
+
+Indentation
+   It is advisable to indent sections and subsections, for clarity. However,
+   Cylc ignores indentation, so this:
+
+   .. code-block:: cylc
+
+      [section]
+         a = A
+         [[sub-section]]
+            b = B
+         b = C  # WARNING: this is still in sub-section!
+
+   is equivalent to this:
+
+   .. code-block:: cylc
+
+      [section]
+         a = A
+         [[sub-section]]
+            b = C
+
+
+Duplicate Sections and Items
+   Duplicate sections get merged into one. Duplicate settings overwrite
+   previously defined values. So this:
+
+   .. code-block:: cylc
+
+      [animals]
+        cat = fluffy
+      [animals]
+        dog = fido
+        cat = dusty
+
+   is equivalent to this:
+
+   .. code-block:: cylc
+
+      [animals]
+        cat = dusty
+        dog = fido
+
+
+   The only exception to this rule is :term:`graph strings <graph string>`,
+   which get merged. So these graph strings:
+
+   .. code-block:: cylc-graph
+
+      R1 = "foo => bar"
+      R1 = "foo => baz"
+
+   merge to this:
+
+   .. code-block:: cylc-graph
+
+      R1 = "foo => bar & baz"
+
+
+Continuation lines
+   If necessary, you can continue on the next line after a backslash character:
+
+   .. code-block:: cylc
+
+      verse = "the quick \
+               brown fox"
+
+   However, backslash line continuation is fragile (trailing invisible
+   whitespace breaks it). Long :term:`graph strings <graph string>` strings
+   should be split on graph symbols instead:
+
+   .. code-block:: cylc-graph
+
+      R1 = """
+           (foo & bar ) |
+               baz =>
+                   qux
+      """
+      # Equivalent to:
+      R1 = """
+           (foo & bar ) | baz => qux
+      """
+
+Include-files
+   ``flow.cylc`` fragments can be included verbatim with the ``%include``
+   directive. Include-files can be included multiple times, and even nested.
+   Include-file paths should relative to the ``flow.cylc`` location:
+
+   .. code-block::
+
+      %include "inc/site-a.cylc"
+
+   :ref:`Jinja2's <Jinja>` template inclusion mechanism can be used with Cylc
+   too.
+
+.. _config_item_shorthand:
+
+Shorthand
+---------
+
+.. include:: shorthand.rst
+
+.. code-block:: cylc
+
+   # This:
+   #   [runtime][task-a][environment]FOO = foo
+   # Means:
+   [runtime]
+       [[task-a]]
+           [[[environment]]]
+               FOO = foo
diff --git a/nightly_8.3/html/_sources/reference/config/global.rst.txt b/nightly_8.3/html/_sources/reference/config/global.rst.txt
new file mode 100644
index 00000000000..292d7ce4ef5
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/config/global.rst.txt
@@ -0,0 +1,8 @@
+.. _global-configuration:
+
+Global Configuration
+====================
+
+Cylc global configurations use the :ref:`.cylc file format <file-format>`.
+
+.. auto-cylc-conf:: cylc.flow.cfgspec.globalcfg.SPEC
diff --git a/nightly_8.3/html/_sources/reference/config/index.rst.txt b/nightly_8.3/html/_sources/reference/config/index.rst.txt
new file mode 100644
index 00000000000..cc0aa1f2a61
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/config/index.rst.txt
@@ -0,0 +1,12 @@
+Configuration
+=============
+
+.. toctree::
+   :maxdepth: 2
+
+   file-format
+   workflow
+   global
+   ui-server
+   types
+   writing-platform-configs
diff --git a/nightly_8.3/html/_sources/reference/config/shorthand.rst.txt b/nightly_8.3/html/_sources/reference/config/shorthand.rst.txt
new file mode 100644
index 00000000000..2239ba890b4
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/config/shorthand.rst.txt
@@ -0,0 +1,12 @@
+We often use a compact single-line notation to refer to nested config items:
+
+``[section]``
+   An entire section.
+``[section]setting``
+   A setting within a section.
+``[section]setting=value``
+   The value of a setting within a section.
+``[section][sub-section]another-setting``
+   A setting within a sub-section.
+
+In the file, however, section headings need additional brackets at each level.
diff --git a/nightly_8.3/html/_sources/reference/config/types.rst.txt b/nightly_8.3/html/_sources/reference/config/types.rst.txt
new file mode 100644
index 00000000000..2ad2011ec97
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/config/types.rst.txt
@@ -0,0 +1,8 @@
+Cylc Configuration Data Types
+=============================
+
+The Cylc configuration file format supports the following data types.
+
+.. auto-cylc-type::
+   cylc.flow.parsec.validate.ParsecValidator.V_TYPE_HELP
+   cylc.flow.parsec.validate.CylcConfigValidator.V_TYPE_HELP
diff --git a/nightly_8.3/html/_sources/reference/config/ui-server.rst.txt b/nightly_8.3/html/_sources/reference/config/ui-server.rst.txt
new file mode 100644
index 00000000000..87e0b222491
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/config/ui-server.rst.txt
@@ -0,0 +1,16 @@
+.. _UI_Server_config:
+
+UI Server Configuration
+=======================
+
+Cylc UI Server can be configured using a ``jupyter_config.py``.
+
+Site level configuration, such as ``c.CylcUIServer.site_authorization`` should
+be defined in ``/etc/cylc/uiserver/jupyter_config.py``, or, alternatively, the
+environment variable ``CYLC_SITE_CONF_PATH``.
+User level configuration should be located in ``~/.cylc/uiserver/jupyter_config.py``.
+
+.. automodule:: cylc.uiserver.app
+
+.. autoconfigurable:: cylc.uiserver.app.CylcUIServer
+   :inherited-members: False
diff --git a/nightly_8.3/html/_sources/reference/config/workflow.rst.txt b/nightly_8.3/html/_sources/reference/config/workflow.rst.txt
new file mode 100644
index 00000000000..37bb0a8e73a
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/config/workflow.rst.txt
@@ -0,0 +1,8 @@
+.. _workflow-configuration:
+
+Workflow Configuration
+======================
+
+Cylc workflow configurations use the :ref:`.cylc file format <file-format>`.
+
+.. auto-cylc-conf:: cylc.flow.cfgspec.workflow.SPEC
diff --git a/nightly_8.3/html/_sources/reference/config/writing-platform-configs.rst.txt b/nightly_8.3/html/_sources/reference/config/writing-platform-configs.rst.txt
new file mode 100644
index 00000000000..b38d89bec59
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/config/writing-platform-configs.rst.txt
@@ -0,0 +1,372 @@
+
+.. _AdminGuide.PlatformConfigs:
+
+Platform Configuration
+======================
+
+Writing Platform Configurations
+-------------------------------
+
+.. versionadded:: 8.0.0
+
+.. seealso::
+
+   - :ref:`Platforms Cylc 7 to 8 user upgrade guide <MajorChangesPlatforms>`.
+   - :cylc:conf:`flow.cylc[runtime][<namespace>]platform`
+   - :cylc:conf:`global.cylc[platforms]`
+   - :cylc:conf:`global.cylc[platforms][<platform name>]install target`
+
+.. _ListingAvailablePlatforms:
+
+Listing available platforms
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+If you are working on an institutional network, platforms may already
+have been configured for you.
+
+To see a list of available platforms::
+
+   cylc config --platform-names
+
+To see the full configuration of available platforms::
+
+   cylc config --platforms
+
+This is equivalent to ``cylc config -i 'platforms' -i 'platform groups'``
+
+What Are Platforms?
+^^^^^^^^^^^^^^^^^^^
+
+Platforms define settings, most importantly:
+
+ - A set of ``hosts``.
+ - A ``job runner`` (formerly a ``batch system``) where Cylc can submit a job.
+ - An ``install target`` for Cylc to install job files on.
+
+Why Were Platforms Introduced?
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- Allow a compute cluster with multiple login nodes to be treated as a single
+  unit.
+- Allow Cylc to elegantly handle failure to communicate with login nodes.
+- Reduce the number of ssh connections required for job submission and polling.
+
+.. _Install Targets:
+
+What Are Install Targets?
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Install targets represent file systems. More than one platform can use the
+same file system. Cylc relies on the site configuration file ``global.cylc`` to determine
+which platforms share install targets.
+
+Cylc will setup each remote install target once. During setup it will:
+
+  - Install workflow files
+  - Symlink directories
+  - Copy authentication keys (to allow secure communication)
+
+Note, if missing from configuration, the install target will default to the
+platform name. If incorrectly configured, this will cause errors in
+:ref:`RemoteInit`.
+
+If you log into one system and see the same files as on another, then these two
+platforms will require the same install target in ``global.cylc`` config file.
+
+Example Platform Configurations
+-------------------------------
+
+Detailed below are some examples of common platform configurations.
+
+Submit PBS Jobs from Localhost
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- **The** :term:`scheduler` **runs on the** ``localhost`` **platform.**
+- **Platforms can share hosts without sharing job runners.**
+
+.. admonition:: Scenario
+
+   You have a cluster where you can submit jobs from the Cylc scheduler host
+   using PBS.
+
+The ``localhost`` platform is the Cylc Scheduler host, as configured in
+:cylc:conf:`global.cylc[scheduler][run hosts]available`. This is the host that
+the workflow will start on. For more information, see
+:ref:`Platform Configuration<PlatformConfig>`.
+
+Our platform ``pbs_cluster`` shares this ``localhost`` host and setting the
+install target to ``localhost`` ensures that Cylc knows this platform does not
+require remote initialization.
+
+.. code-block:: cylc
+   :caption: part of a ``global.cylc`` config file
+
+   [platforms]
+       # The localhost platform is available by default
+       # [[localhost]]
+       #     hosts = localhost
+       #     install target = localhost
+       [[pbs_cluster]]
+           hosts = localhost
+           job runner = pbs
+           install target = localhost
+
+Our Cylc scheduler does not have a job runner defined. Any job submitted to
+this ``localhost`` platform will run as a background job. Users can now set 
+:cylc:conf:`flow.cylc[runtime][<namespace>]platform` = ``pbs_cluster`` to run
+pbs jobs.
+
+.. note::
+
+   Both ``hosts`` and ``install target`` default to the platform name.
+
+Multiple Platforms Sharing File System with Cylc Scheduler
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- **Platform names can be defined as regular expressions.**
+
+.. admonition:: Scenario
+
+   Everyone in your organization has a computer called ``desktopNNN``,
+   all with a file system shared with the scheduler host. Many users
+   will want their desktop set up as a platform to run small jobs.
+
+In this scenario, Cylc does not need to install files on the desktop, since
+required files which are on the scheduler host will be accessible on the
+desktop. From Cylc's point of view, the desktop and scheduler hosts are
+considered different platforms but must share an :term:`install target`.
+Cylc needs to be told that these platforms share an install target and so we
+configure this using the designated configuration item:
+:cylc:conf:`global.cylc[platforms][<platform name>]install target`.
+
+:cylc:conf:`global.cylc[platforms][<platform name>]` has optional configuration
+``[[[meta]]]`` which users can view with ``cylc config --platforms``. We will add
+a description designed to help users in this example.
+
+The following platform definition is simplified, taking advantage of defaults
+for ``hosts`` and ``install targets``.
+
+.. code-block:: cylc
+   :caption: the ``global.cylc`` config file for this scenario could look like:
+
+   [platforms]
+       [[desktop\d\d\d]]
+           install target = localhost
+           [[[meta]]]
+               description = "Background job on a desktop system"
+
+As before, a ``localhost`` platform is available by default.
+``desktop\d\d\d`` is a pattern which defines multiple platforms.
+When using a pattern the "hosts" setting must be left unset so that it defaults
+to the platform name. This ensures each of the matching platforms is unique.
+
+.. note::
+
+   Cylc carries out a "fullmatch" regular expression comparison with the
+   the platform name so ``desktop\d\d\d`` is effectively the same as
+   ``^desktop\d\d\d$``.
+
+If a user wants to run a job on their local desktop, e.g. "desktop123", they should
+set:
+
+   .. code-block:: cylc
+
+      [runtime]
+          [[mytask]]
+              platform = desktop123
+
+in their workflow configuration.
+If ``[runtime][mytask]platform`` is unset, the job will run on the Cylc
+Scheduler host using this default ``localhost`` platform.
+
+Neither platforms will require remote initialization as the ``install target``
+is set to ``localhost``.
+
+Cluster with Multiple Login Nodes
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- **Platforms with multiple hosts require job runner to be set**
+- **Platforms can group multiple hosts together.**
+
+.. admonition:: Scenario
+
+   You have a cluster where users submit jobs to Slurm from
+   either of a pair of identical login nodes which share a file system.
+
+.. code-block:: cylc
+   :caption: part of a ``global.cylc`` config file
+
+   [platforms]
+       [[slurm_cluster]]
+           hosts = login_node_1, login_node_2
+           job runner = slurm
+           retrieve job logs = True
+
+The ``slurm_cluster`` hosts do not share a file system with the scheduler,
+therefore ``slurm_cluster`` is a remote platform.
+As the ``install target`` setting for this platform has been omitted, this will
+default to the platform name.
+Cylc will initiate a remote installation, to transfer required files to
+``slurm_cluster`` which will commence before job submission for the first job
+on that platform.
+
+Cylc will attempt to communicate with jobs via the other login node if either
+of the login_nodes becomes unavailable.
+
+With multiple hosts defined under ``slurm_cluster``, a job runner is required.
+
+.. note::
+
+   The "background" and "at" job runners require single-host platforms,
+   because the job ID is only valid on the submission host.
+
+We have set ``retrieve job logs = True``. This will ensure our job logs are
+fetched from the ``slurm_cluster`` platform. This setting is recommended for
+all remote platforms (i.e. where install target is not localhost).
+
+
+Grouping Platforms
+^^^^^^^^^^^^^^^^^^
+
+- **Platform groups allow users to ask for jobs to be run on any
+  suitable computer.**
+
+.. admonition:: Scenario
+
+   Extending the example from above, we now wish to set the ``slurm_cluster``
+   up such that ``slurm_cluster`` nodes can accept background jobs.
+   We would like to group these background platforms together so users can set
+   :cylc:conf:`flow.cylc[runtime][<namespace>]platform` = ``slurm_cluster_bg``.
+
+.. code-block:: cylc
+   :caption: part of a ``global.cylc`` config file
+
+   [platforms]
+       [[slurm_cluster, slurm_cluster_bg1, slurm_cluster_bg2]]  # settings that apply to all:
+           install target = slurm_cluster
+           retrieve job logs = True
+       [[slurm_cluster]]
+           batch system = slurm
+           hosts = login_node_1, login_node_2
+       [[slurm_cluster_bg1]]
+           hosts = login_node_1
+       [[slurm_cluster_bg2]]
+           hosts = login_node_2
+   [platform groups]
+       [[slurm_cluster_bg]]
+           platforms = slurm_cluster_bg1, slurm_cluster_bg2
+
+Group platforms together using the configuration item
+:cylc:conf:`global.cylc[platform groups]`. In the above example, the
+``slurm_cluster_bg`` platforms all share a file system
+(install target = ``slurm_cluster``). We advise caution when grouping platforms
+with different install targets as users could encounter a scenario whereby
+files (created by a previous task using the same platform group) are
+not available to them.
+
+With the above configuration, users can now run background jobs on either of
+the login nodes, without the concern of selecting a specific platform.
+
+.. warning::
+
+   Platforms and platform groups are both configured by
+   :cylc:conf:`flow.cylc[runtime][<namespace>]platform`.
+   Therefore a platform group cannot be given the same name as a platform.
+   The :cylc:conf:`global.cylc` file will fail validation if the same name is
+   used for both.
+
+
+.. _SymlinkDirsSetup:
+
+Symlinking Directories
+----------------------
+To minimize the disk space used by ``~/cylc-run``, set
+:cylc:conf:`global.cylc[install][symlink dirs]`.
+The entire workflow directory can be symlinked, using the config item ``run`` 
+The following sub-directories  are also available for configuration:
+
+   * log
+   * share
+   * share/cycle
+   * work
+
+These should be configured per :term:`install target`.
+
+For example, to configure workflow ``log`` directories (on the
+:term:`scheduler` host) so that they symlink to a different location,
+you could write the following in ``global.cylc``:
+
+.. code-block:: cylc
+
+   [install]
+       [[symlink dirs]]
+           [[[localhost]]]
+               log = /somewhere/else
+
+This would result in the following file structure on the Cylc Scheduler:
+
+.. code-block:: none
+
+   ~/cylc-run
+   └── myflow
+       ├── flow.cylc
+       ├── log -> /somewhere/else/cylc-run/myflow/log
+       ...
+
+   /somewhere
+   └── else
+       └── cylc-run
+           └── myflow
+               └── log
+                   ├── flow-config
+                   ├── install
+                   ...
+
+These ``localhost`` symlinks are created during the cylc install process.
+Symlinks for remote install targets are created during :ref:`RemoteInit` following
+``cylc play``.
+
+
+Advanced Platform Example
+-------------------------
+
+Platform with no ``$HOME`` directory
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. admonition:: Scenario
+
+   You are trying to run jobs on a platform where the compute nodes don't
+   have a configured ``HOME`` directory.
+
+So long as the login and compute nodes share a filesystem the workflow can be
+installed on the shared filesystem using
+:cylc:conf:`global.cylc[install][symlink dirs]`.
+
+The ``$CYLC_RUN_DIR`` variable can then be set on the compute node to point
+at the ``cylc-run`` directory on the shared filesystem using
+:cylc:conf:`global.cylc[platforms][<platform name>]global init-script`.
+
+ .. code-block:: cylc
+   :caption: part of a ``global.cylc`` config file
+
+   [platforms]
+       [[homeless-hpc]]
+           job runner = my-job-runner
+           install target = homeless-hpc
+           global init-script = """
+               export CYLC_RUN_DIR=/shared/filesystem/cylc-run
+           """
+
+   [install]
+       [[symlink dirs]]
+           [[[homeless-hpc]]]
+               run = /shared/filesystem/
+
+In this example Cylc will install workflows into
+``/shared/filesystem/cylc-run``.
+
+.. note::
+
+   If you are running :term:`schedulers <scheduler>` directly on the login node
+   and submitting jobs locally then the platform name and install target should
+   be ``localhost``.
diff --git a/nightly_8.3/html/_sources/reference/dev-history-major-changes.rst.txt b/nightly_8.3/html/_sources/reference/dev-history-major-changes.rst.txt
new file mode 100644
index 00000000000..1ed49d0bd1e
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/dev-history-major-changes.rst.txt
@@ -0,0 +1,55 @@
+Cylc Development History - Major Changes
+========================================
+
+- **pre-cylc-3**
+
+  - early versions focused on the new
+    scheduling algorithm. A suite was a collection of "task definition files"
+    that encoded the prerequisites and outputs of each task,
+    exposing Cylc's self-organising nature. Tasks could be transferred
+    from one suite to another by simply copying their taskdef files over
+    and checking prerequisite and output consistency. Global suite
+    structure was not easy to discern until run time (although cylc-2
+    could generate resolved run time dependency graphs).
+
+- **cylc-3**
+
+  - a new suite design interface: dependency graph and task runtime properties
+    defined in a single structured, validated, configuration file
+  - graphical user interface
+  - suite graphing
+
+- **cylc-4**
+
+  - refined and organized the suite config file structure
+  - task runtime properties defined by an efficient inheritance hierarchy
+  - support for the Jinja2 template processor in suite configurations
+
+- **cylc-5**
+
+  - multi-threading for continuous network request handling and job submission
+  - more task states to distinguish job submission from execution
+  - dependence between suites via new run databases
+  - polling and killing of real jobs
+  - polling as task communications option
+
+- **cylc-6**
+
+  - specification of all datetimes and cycling suites via ISO8601
+    datetimes, durations, and recurrence expressions
+  - integer cycling
+  - a multi-process pool to execute job submissions, event handlers, and poll
+    and kill commands
+
+- **cylc-7**
+
+  - Replaced the Pyro communications layer with RESTful HTTPS
+  - Removed deprecated pre cylc-6 syntax and features
+
+- **cylc-8**
+
+  - Migrated to Python 3
+  - New architecture, network layers, security
+  - New web UI
+  - New efficient scheduling algorithm
+  - Removed deprecated pre cylc-6 syntax and features
diff --git a/nightly_8.3/html/_sources/reference/environments/conda.rst.txt b/nightly_8.3/html/_sources/reference/environments/conda.rst.txt
new file mode 100644
index 00000000000..7e37b8d065f
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/environments/conda.rst.txt
@@ -0,0 +1,123 @@
+.. _conda environments:
+
+Conda Environments
+==================
+
+Cylc consists of multiple components.
+
+This Conda environment will provide you with the "recommended" installation of
+all components:
+
+.. literalsubinclude:: envs/cylc-all.yml
+   :language: YAML
+   :substitutions:
+
+The following sections outline alternatives for finer control over installation.
+
+
+Cylc Flow
+---------
+
+The simplest Cylc installation consists only of `Cylc Flow`_:
+
+.. literalsubinclude:: envs/cylc-flow.yml
+   :language: YAML
+   :substitutions:
+
+.. tip::
+
+   We suggest installing `Cylc Flow`_ at a "minor" version (e.g. ``8.1`` rather
+   than ``8.1.2``) to pick up the latest "maintenance" release.
+
+If you do not specify your Python version you will be provided with the most
+recent compatible one.
+
+If you are installing Cylc on multiple machines across a network it is
+advisable to keep the Python versions consistent.
+
+You can do this by adding Python into the environment at a particular version:
+
+.. literalsubinclude:: envs/cylc-flow-with-python.yml
+   :language: YAML
+   :substitutions:
+
+`Cylc Flow`_ provides a cut-down package containing only the bare essentials
+called ``cylc-flow-base``.
+
+This may be useful for installing onto job hosts where client-facing extra
+features are not of interest:
+
+.. literalsubinclude:: envs/cylc-flow-base.yml
+   :language: YAML
+   :substitutions:
+
+
+Cylc UIServer
+-------------
+
+The default `Cylc UIServer`_ package comes with `Jupyter Hub`_ and the
+`Configurable HTTP Proxy`_ (required by `Jupyter Hub`_) bundled:
+
+.. literalsubinclude:: envs/cylc-uiserver.yml
+   :language: YAML
+   :substitutions:
+
+.. tip::
+
+   We suggest *not* specifying the version of other Cylc components to
+   (i.e. `Cylc UIServer`_ and `Cylc Rose`_). This will pick up the most recent
+   version compatible with the specified `Cylc Flow`_ version.
+
+`Jupyter Hub`_ is only required for multi-user setups, the `Cylc UIServer`_
+can be run as a standalone application.
+
+To exclude `Jupyter Hub`_ from the installation use ``cylc-uiserver-base``:
+
+.. literalsubinclude:: envs/cylc-uiserver-without-jupyterhub.yml
+   :language: YAML
+   :substitutions:
+
+If you want to use `Jupyter Hub`_ with an alternative proxy use
+``cylc-uiserver-hub-base`` (this depends on ``jupyterhub-base``, see the
+`Jupyter Hub`_ documentation for details):
+
+.. literalsubinclude:: envs/cylc-uiserver-with-traefik-proxy.yml
+   :language: YAML
+   :substitutions:
+
+
+Cylc Rose
+---------
+
+For working with Rose add ``metomi-rose`` and ``cylc-rose`` (the bridge
+between Cylc & Rose):
+
+.. literalsubinclude:: envs/cylc-rose.yml
+   :language: YAML
+   :substitutions:
+
+We will look at providing more installation options for Rose in the near
+future.
+
+
+Adding Cylc To Your Conda Package
+---------------------------------
+
+If you want to publish a package (e.g. to Conda Forge) that depends on Cylc,
+consider using the minimal package (e.g. ``cylc-flow-base``) as a dependency
+to allow the installer to maintain flexibility over the installation.
+
+
+Working With Other Conda Channels
+---------------------------------
+
+Cylc projects are published to Conda Forge and the above environments install
+all dependencies from Conda Forge.
+
+If you want to install other dependencies (e.g. Python), from other channels
+(e.g. Anaconda), list the dependency explicitly and place the channel *above*
+the Conda Forge channel.
+
+.. literalsubinclude:: envs/cylc-flow-anaconda.yml
+   :language: YAML
+   :substitutions:
diff --git a/nightly_8.3/html/_sources/reference/index.rst.txt b/nightly_8.3/html/_sources/reference/index.rst.txt
new file mode 100644
index 00000000000..f8ac385c325
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/index.rst.txt
@@ -0,0 +1,14 @@
+Reference
+=========
+
+
+.. toctree::
+   :maxdepth: 2
+
+   changes
+   config/index
+   job-script-vars/index
+   architecture/index
+   api/index
+   environments/conda.rst
+   dev-history-major-changes
diff --git a/nightly_8.3/html/_sources/reference/job-script-vars/index.rst.txt b/nightly_8.3/html/_sources/reference/job-script-vars/index.rst.txt
new file mode 100644
index 00000000000..4f48d1260c7
--- /dev/null
+++ b/nightly_8.3/html/_sources/reference/job-script-vars/index.rst.txt
@@ -0,0 +1,13 @@
+Job Script Environment Variables
+================================
+
+These environment variables provided by the :term:`scheduler` are available
+to Cylc job scripts at run time:
+
+.. literalinclude:: var-list.txt
+   :language: sub
+
+
+.. seealso::
+
+   :ref:`Task Job Script Variables`
diff --git a/nightly_8.3/html/_sources/tutorial/furthertopics/broadcast.rst.txt b/nightly_8.3/html/_sources/tutorial/furthertopics/broadcast.rst.txt
new file mode 100644
index 00000000000..55848ed567b
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/furthertopics/broadcast.rst.txt
@@ -0,0 +1,137 @@
+.. _broadcast-tutorial:
+
+Broadcast Tutorial
+==================
+
+This tutorial walks you through using ``cylc broadcast`` which can be used
+to change :ref:`task runtime configuration <tutorial-runtime>` in a
+running workflow, on-the-fly.
+
+
+Purpose
+-------
+
+``cylc broadcast`` can be used to change any ``[runtime]`` setting whilst the
+workflow is running.
+
+The standard use of ``cylc broadcast`` is to update the workflow to an
+unexpected change in configuration, for example modifying the host a task
+runs on.
+
+
+Standalone Example
+------------------
+
+Create a new workflow in the ``cylc-src`` directory called
+``tutorial-broadcast``::
+
+   mkdir ~/cylc-src/tutorial-broadcast
+   cd ~/cylc-src/tutorial-broadcast
+
+Copy the following configuration into a :cylc:conf:`flow.cylc` file:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 1012
+       [[graph]]
+           R1 = wipe_log => announce
+           PT1H = announce[-PT1H] => announce
+
+   [runtime]
+       [[wipe_log]]
+           # Delete any files in the workflow's "share" directory.
+           script = rm "${CYLC_WORKFLOW_SHARE_DIR}/knights" || true
+
+       [[announce]]
+           script = echo "${CYLC_TASK_CYCLE_POINT} - ${MESSAGE}" >> "${FILE}"
+           [[[environment]]]
+               WORD = ni
+               MESSAGE = We are the knights who say \"${WORD}\"!
+               FILE = "${CYLC_WORKFLOW_SHARE_DIR}/knights"
+
+We now have a workflow with an ``announce`` task which runs every hour, writing a
+message to a log file (``share/knights``) when it does so. For the first cycle
+the log entry will look like this::
+
+   10120101T0000Z - We are the knights who say "ni"!
+
+The ``cylc broadcast`` command enables us to change runtime configuration
+whilst the workflow is running. For instance we could change the value of the
+``WORD`` environment variable using the command::
+
+   cylc broadcast tutorial-broadcast -n announce -s "[environment]WORD=it"
+
+* ``tutorial-broadcast`` is the name of the workflow.
+* ``-n announce`` tells Cylc we want to change the runtime configuration of the
+  ``announce`` task.
+* ``-s "[environment]WORD=it"`` changes the value of the ``WORD`` environment
+  variable to ``it``.
+
+Run the workflow then try using the ``cylc broadcast`` command to change the
+message::
+
+   cylc validate .
+   cylc install
+   cylc play tutorial-broadcast
+   cylc broadcast tutorial-broadcast -n announce -s "[environment]WORD=it"
+
+Inspect the ``share/knights`` file, you should see the message change at
+certain points.
+
+Stop the workflow::
+
+   cylc stop tutorial-broadcast
+
+
+In-Situ Example
+---------------
+
+We can call ``cylc broadcast`` from within a task's script. This effectively
+provides the ability for tasks to communicate between themselves.
+
+It is almost always better for tasks to communicate using files but there are
+some niche situations where communicating via ``cylc broadcast`` is justified.
+This tutorial walks you through using ``cylc broadcast`` to communicate between
+tasks.
+
+.. TODO - examples of this?
+
+Add the following recurrence to the ``graph`` section:
+
+.. code-block:: cylc
+
+           PT3H = announce[-PT1H] => change_word => announce
+
+The ``change_word`` task runs the ``cylc broadcast`` command to randomly
+change the ``WORD`` environment variable used by the ``announce`` task.
+
+Add the following runtime configuration to the ``runtime`` section:
+
+.. code-block:: cylc
+
+       [[change_word]]
+           script = """
+               # Select random word.
+               IFS=',' read -r -a WORDS <<< $WORDS
+               WORD=${WORDS[$(date +%s) % ${#WORDS[@]}]}
+
+               # Broadcast random word to the announce task.
+               cylc broadcast $CYLC_WORKFLOW_ID -n announce -s "[environment]WORD=${WORD}"
+           """
+           [[[environment]]]
+               WORDS = ni, it, ekke ekke ptang zoo boing
+
+Re-install and run the workflow, and inspect the log.
+You should see the message change randomly
+after every third entry (because the ``change_word`` task runs every 3 hours)
+e.g::
+
+   10120101T0000Z - We are the knights who say "ni"!
+   10120101T0100Z - We are the knights who say "ni"!
+   10120101T0200Z - We are the knights who say "ni"!
+   10120101T0300Z - We are the knights who say "ekke ekke ptang zoo boing!"
+
+Stop the workflow::
+
+   cylc stop tutorial-broadcast
diff --git a/nightly_8.3/html/_sources/tutorial/furthertopics/clock-triggered-tasks.rst.txt b/nightly_8.3/html/_sources/tutorial/furthertopics/clock-triggered-tasks.rst.txt
new file mode 100644
index 00000000000..0612200c21d
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/furthertopics/clock-triggered-tasks.rst.txt
@@ -0,0 +1,186 @@
+.. _tutorial-cylc-clock-trigger:
+
+Clock Triggered Tasks
+=====================
+
+In a :term:`datetime cycling` workflow the time represented by the
+:term:`cycle points <cycle point>` bear no relation to the real-world time.
+Using clock-triggers we can make tasks wait until their cycle point time before
+running.
+
+Clock-triggering effectively enables us to tether the "cycle time" to the
+"real world time" which we refer to as the :term:`wallclock time`.
+
+.. note::
+
+   Clock triggers are :ref:`Section External Triggers`. They differ from
+   custom external triggers only in that they are provided with Cylc.
+
+
+Clock Triggering
+----------------
+
+When clock-triggering tasks we can use different
+:ref:`offsets <tutorial-iso8601-durations>` to the cycle time as follows:
+
+.. code-block:: cylc
+
+   my_clock_trigger = wall_clock(offset=<iso8601 duration>)
+
+.. note::
+
+   Regardless of the offset used, the task still belongs to the cycle from
+   which the offset has been applied.
+
+
+Example
+-------
+
+Our example workflow will simulate a clock chiming on the hour.
+
+Within your ``~/cylc-src`` directory create a new directory called
+``clock-trigger``::
+
+   mkdir ~/cylc-src/clock-trigger
+   cd ~/cylc-src/clock-trigger
+
+Paste the following code into a ``flow.cylc`` file:
+
+.. code-block:: cylc
+
+   [scheduler]
+       UTC mode = True # Ignore DST
+
+   [scheduling]
+       initial cycle point = TODO
+       final cycle point = +P1D # Run for one day
+       [[graph]]
+           PT1H = bell
+
+   [runtime]
+       [[root]]
+           [[[events]]]
+               mail events = failed
+       [[bell]]
+           script = printf 'bong%.02d\n' $(seq 1 $(cylc cyclepoint --print-hour))
+
+Change the initial cycle point to 00:00 this morning (e.g. if it was
+the first of January 2000 we would write ``2000-01-01T00Z``).
+
+We now have a simple workflow with a single task that prints "bong" a number
+of times equal to the (cycle point) hour.
+
+Run your workflow using::
+
+   cylc validate .
+   cylc install
+   cylc play clock-trigger
+
+Stop the workflow after a few cycles using ``cylc stop --now --now clock-trigger``.
+Notice how the tasks run as soon as possible rather than
+waiting for the actual time to be equal to the cycle point.
+
+
+Clock-Triggering Tasks
+----------------------
+
+We want our clock to only ring in real-time rather than the simulated
+cycle time.
+
+To do this, modify the ``[scheduling][graph]`` section of
+your ``flow.cylc``:
+
+.. code-block:: cylc
+
+   PT1H = @wall_clock  => bell
+
+This tells the workflow to clock trigger the ``bell`` task with a cycle
+offset of ``0`` hours.
+
+Save your changes, install and run your workflow.
+
+Your workflow should now be running the ``bell`` task in real-time. Any cycle times
+that have already passed (such as the one defined by ``initial cycle time``)
+will be run as soon as possible, while those in the future will wait for that
+time to pass.
+
+At this point you may want to leave your workflow running until the next hour
+has passed in order to confirm the clock triggering is working correctly.
+Once you are satisfied, stop your workflow.
+
+By making the ``bell`` task a clock triggered task we have made it run in
+real-time. Thus, when the wallclock time caught up with the cycle time, the
+``bell`` task triggered.
+
+
+Adding More Clock-Triggered Tasks
+---------------------------------
+
+Running clock triggered tests at the cycle time is a special case:
+We will now modify our workflow to run tasks at quarter-past, half-past and
+quarter-to the hour.
+
+Open your ``flow.cylc`` and modify the ``[runtime]`` section by adding the
+following:
+
+.. code-block:: cylc
+
+   [[quarter_past, half_past, quarter_to]]
+       script = echo 'chimes'
+
+Edit the ``[[scheduling]]`` section to read:
+
+.. code-block:: cylc
+
+   initial cycle point = now
+   final cycle point = +P1D # Run for one day
+   [[xtriggers]]
+       quarter_past_trigger = wall_clock(offset=PT15M):PT30S
+       half_past_trigger = wall_clock(offset=PT30M):PT30S
+       quarter_to_trigger = wall_clock(offset=PT45M):PT30S
+   [[graph]]
+       PT1H = """
+           @wall_clock => bell
+           @quarter_past_trigger => quarter_past
+           @half_past_trigger => half_past
+           @quarter_to_trigger => quarter_to
+       """
+
+Note the different values used for the cycle offsets of the clock-trigger tasks.
+
+Save your changes, install and run your workflow using::
+
+   cylc validate .
+   cylc install
+   cylc play clock-trigger
+
+.. note::
+
+   Setting ``initial cycle point = now`` will run your workflow using the
+   current time at startup as the initial cycle point.
+
+Again, notice how the tasks trigger until the current time is reached.
+
+Leave your workflow running for a while to confirm it is working as expected
+before stopping it.
+
+
+.. note::
+
+   You may have noticed the ``:PT30S`` at the end of each clock trigger
+   definition. This how often the :ref:`Section External Triggers` is checked.
+   By default external triggers are checked every 10 seconds, but if there
+   are a lot of external triggers this can be hard work for the computer
+   running the workflow and it may not be necessary to check this often.
+
+
+Summary
+-------
+
+* Clock triggers are a type of :term:`dependency` which cause
+  :term:`tasks <task>` to wait for the :term:`wallclock time` to reach the
+  :term:`cycle point` time.
+* Clock triggers are a built in example of :ref:`Section External Triggers`.
+* Clock triggers can only be used in datetime cycling workflows.
+
+For more information see the `Cylc User Guide`_.
diff --git a/nightly_8.3/html/_sources/tutorial/furthertopics/family-triggers.rst.txt b/nightly_8.3/html/_sources/tutorial/furthertopics/family-triggers.rst.txt
new file mode 100644
index 00000000000..c19cd93217b
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/furthertopics/family-triggers.rst.txt
@@ -0,0 +1,213 @@
+.. _tutorial-cylc-family-triggers:
+
+Family Triggers
+===============
+
+To reduce duplication in the :term:`graph` is is possible to write
+:term:`dependencies <dependency>` using collections of tasks called
+:term:`families <family>`).
+
+This tutorial walks you through writing such dependencies using family
+:term:`triggers <task trigger>`.
+
+
+Explanation
+-----------
+
+Dependencies between tasks can be written using a :term:`qualifier` to describe
+the :term:`task state` that the dependency refers to (e.g. ``succeed``
+``fail``, etc). If a dependency does not use a qualifier then it is assumed
+that the dependency refers to the ``succeed`` state e.g:
+
+.. code-block:: cylc-graph
+
+   bake_bread => sell_bread           # sell_bread is dependent on bake_bread succeeding.
+   bake_bread:succeed => sell_bread?  # sell_bread is dependent on bake_bread succeeding.
+   sell_bread:fail? => throw_away     # throw_away is dependent on sell_bread failing.
+
+The left-hand side of a :term:`dependency` (e.g. ``sell_bread:fail``) is
+referred to as the :term:`trigger <task trigger>`.
+
+.. note::
+
+   ``sell_bread(:succeed)`` and ``sell_bread:fail`` are mutually exclusive
+   outcomes. As both appear in the graph above, it is
+   necessary to use the ``?`` syntax to mark them as
+   :ref:`optional outputs`.
+
+When we write a trigger involving a family, special qualifiers are required
+to specify whether the dependency is concerned with *all* or *any* of the tasks
+in that family reaching the desired :term:`state <task state>` e.g:
+
+* ``succeed-all``
+* ``succeed-any``
+* ``fail-all``
+
+Such :term:`triggers <task trigger>` are referred to as
+:term:`family triggers <family trigger>`
+
+
+Example
+-------
+
+Create a new workflow called ``tutorial-family-triggers``::
+
+   mkdir ~/cylc-src/tutorial-family-triggers
+   cd ~/cylc-src/tutorial-family-triggers
+
+Paste the following configuration into the :cylc:conf:`flow.cylc` file:
+
+.. code-block:: cylc
+
+   [scheduler]
+       UTC mode = True # Ignore DST
+   [scheduling]
+       [[graph]]
+           R1 = visit_mine => MINERS
+   [runtime]
+       [[visit_mine]]
+           script = sleep 5; echo 'off to work we go'
+
+       [[MINERS]]
+           script = """
+               sleep 5;
+               if (($RANDOM % 2)); then
+                   echo 'Diamonds!'; true;
+               else
+                   echo 'Nothing...'; false;
+               fi
+           """
+       [[doc, grumpy, sleepy, happy, bashful, sneezy, dopey]]
+           inherit = MINERS
+
+You have now created a workflow that:
+
+* Has a ``visit_mine`` task that sleeps for 5 seconds then outputs a
+  message.
+* Contains a ``MINERS`` family with a command in it that randomly succeeds
+  or fails.
+* Has 7 tasks that inherit from the ``MINERS`` family.
+
+Validate, install and run the workflow::
+
+   cylc validate .
+   cylc install
+   cylc play tutorial-family-triggers
+
+You should see the ``visit_mine`` task run, then trigger the members of the
+``MINERS`` family. Note that some of the ``MINERS`` tasks may fail so you
+will need to stop your workflow using the "stop" button in the UI, or::
+
+   cylc stop tutorial-family-triggers
+
+
+Family Triggering: Success
+--------------------------
+
+As you will have noticed by watching the workflow run, some of the tasks in the
+``MINERS`` family succeed and some fail.
+
+We would like to add a task to sell any diamonds we find, but wait for all
+the miners to report back first so we only make the one trip.
+
+We can address this by using *family triggers*. In particular, we are going
+to use the ``finish-all`` trigger to check for all members of the ``MINERS``
+family finishing, and the ``succeed-any`` trigger to check for any of the
+tasks in the ``MINERS`` family succeeding.
+
+Open your :cylc:conf:`flow.cylc` file and change the ``[[graph]]`` to look like
+this:
+
+.. code-block:: cylc
+
+   [[graph]]
+       R1 = """
+           visit_mine => MINERS?
+           MINERS:finish-all & MINERS:succeed-any? => sell_diamonds
+       """
+
+Then, add the following task to the ``[runtime]`` section:
+
+.. code-block:: cylc
+
+   [[sell_diamonds]]
+      script = sleep 5
+
+These changes add a ``sell_diamonds`` task to the workflow which is run once
+all the ``MINERS`` tasks have finished and if any of them have succeeded.
+
+Save your changes and run your workflow. You should see the new
+``sell_diamonds`` task being run once all the miners have finished and at
+least one of them has succeeded. Stop your workflow as described above.
+
+.. seealso::
+
+   User guide on
+   :ref:`family triggers and optional outputs<optional outputs.family triggers>`.
+
+Family Triggering: Failure
+--------------------------
+
+Cylc also allows us to trigger off failure of tasks in a particular family.
+
+We would like to add another task to close down unproductive mineshafts once
+all the miners have reported back and had time to discuss their findings.
+
+To do this we will make use of family triggers in a similar manner to before.
+
+Open your :cylc:conf:`flow.cylc` file and change the ``[[graph]]`` to look like
+this:
+
+.. code-block:: cylc
+
+   [[graph]]
+       R1 = """
+           visit_mine => MINERS?
+           MINERS:finish-all & MINERS:succeed-any? => sell_diamonds
+           MINERS:finish-all & MINERS:fail-any? => close_shafts
+       """
+
+Alter the ``[[sell_diamonds]]`` section to look like this:
+
+.. code-block:: cylc
+
+   [[close_shafts, sell_diamonds]]
+       script = sleep 5
+
+These changes add a ``close_shafts`` task which is run once all the
+``MINERS`` tasks have finished and any of them have failed.
+
+Save your changes and run your workflow. You should see the new
+``close_shafts`` run should any of the ``MINERS`` tasks be in the failed
+state once they have all finished.
+
+
+Different Triggers
+------------------
+
+Other family :term:`qualifiers <qualifier>` beyond those covered in the
+example are also available.
+
+The following types of "all" qualifier are available:
+
+* ``:start-all`` - all the tasks in the family have started
+* ``:succeed-all`` - all the tasks in the family have succeeded
+* ``:fail-all`` - all the tasks in the family have failed
+* ``:finish-all`` - all the tasks in the family have finished
+
+The following types of "any" qualifier are available:
+
+* ``:start-any`` - at least one task in the family has started
+* ``:succeed-any`` - at least one task in the family has succeeded
+* ``:fail-any`` - at least one task in the family has failed
+* ``:finish-any`` - at least one task in the family has finished
+
+
+Summary
+-------
+
+* Family triggers allow you to write dependencies for collections of tasks.
+* Like :term:`task triggers <task trigger>`, family triggers can be based on
+  success, failure, starting and finishing of tasks in a family.
+* Family triggers can trigger off either *all* or *any* of the tasks in a
+  family.
diff --git a/nightly_8.3/html/_sources/tutorial/furthertopics/index.rst.txt b/nightly_8.3/html/_sources/tutorial/furthertopics/index.rst.txt
new file mode 100644
index 00000000000..b8d40cc66e6
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/furthertopics/index.rst.txt
@@ -0,0 +1,18 @@
+.. _tutorials.furthertopics:
+
+Further Topics
+==============
+
+This section looks at further topics in cylc.
+
+.. toctree::
+   :name: cylc-further-topics
+   :maxdepth: 1
+
+   clock-triggered-tasks
+   broadcast
+   family-triggers
+   inheritance
+   queues
+   retries
+   message-triggers
diff --git a/nightly_8.3/html/_sources/tutorial/furthertopics/inheritance.rst.txt b/nightly_8.3/html/_sources/tutorial/furthertopics/inheritance.rst.txt
new file mode 100644
index 00000000000..a48fb9e4d3e
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/furthertopics/inheritance.rst.txt
@@ -0,0 +1,614 @@
+.. _tutorial-inheritance:
+
+Inheritance
+===========
+
+We have seen in the :ref:`runtime tutorial <tutorial-cylc-families>` how
+tasks can be grouped into families.
+
+In this tutorial we will look at nested families, inheritance order and
+multiple inheritance.
+
+
+Inheritance Hierarchy
+---------------------
+
+Within your ``~/cylc-src`` directory create a new directory called
+``inheritance-tutorial``::
+
+   mkdir ~/cylc-src/inheritance-tutorial
+   cd ~/cylc-src/inheritance-tutorial
+
+And paste the following code into a ``flow.cylc`` file. This
+defines two tasks each representing different aircraft, the Airbus A380 jumbo
+jet and the Robson R44 helicopter:
+
+.. image:: https://upload.wikimedia.org/wikipedia/commons/0/09/A6-EDY_A380_Emirates_31_jan_2013_jfk_%288442269364%29_%28cropped%29.jpg
+   :width: 49%
+   :alt: A380
+
+.. image:: https://upload.wikimedia.org/wikipedia/commons/2/2f/Robinson-R44_1.jpg
+   :width: 49%
+   :alt: R44
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = a380 & r44
+
+   [runtime]
+       [[VEHICLE]]
+           init-script = echo 'Boarding'
+           pre-script = echo 'Departing'
+           post-script = echo 'Arriving'
+
+       [[AIR_VEHICLE]]
+           inherit = VEHICLE
+           [[[meta]]]
+               description = A vehicle which can fly.
+       [[AIRPLANE]]
+           inherit = AIR_VEHICLE
+           [[[meta]]]
+               description = An air vehicle with fixed wings.
+           [[[environment]]]
+               CAN_TAKE_OFF_VERTICALLY = false
+       [[HELICOPTER]]
+           inherit = AIR_VEHICLE
+           [[[meta]]]
+               description = An air vehicle with rotors.
+           [[[environment]]]
+               CAN_TAKE_OFF_VERTICALLY = true
+
+       [[a380]]
+           inherit = AIRPLANE
+           [[[meta]]]
+               title = Airbus A380 Jumbo-Jet.
+       [[r44]]
+           inherit = HELICOPTER
+           [[[meta]]]
+               title = Robson R44 Helicopter.
+
+.. note::
+
+   The ``[meta]`` section is a freeform section where we can define metadata
+   to be associated with a task, family or the workflow itself.
+
+   This metadata should not be mistaken for Rose :ref:`conf-meta`.
+
+.. admonition:: Reminder
+   :class: hint
+
+   By convention we write family names in upper case (with the exception of the
+   special ``root`` family) and task names in lower case.
+
+These two tasks sit at the bottom of an inheritance tree. The ``cylc graph``
+command has an option (``-n``) for drawing such inheritance hierarchies::
+
+   cylc graph -n . &
+
+Running this command will generate the following output:
+
+.. digraph:: Example
+   :align: center
+
+   AIRPLANE  [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   a380   [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   AIRPLANE -> a380   [color=royalblue];
+   HELICOPTER   [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   r44    [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   HELICOPTER -> r44  [color=royalblue];
+   root   [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   VEHICLE   [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   root -> VEHICLE    [color=royalblue];
+   AIR_VEHICLE  [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   VEHICLE -> AIR_VEHICLE   [color=royalblue];
+   AIR_VEHICLE -> AIRPLANE  [color=royalblue];
+   AIR_VEHICLE -> HELICOPTER   [color=royalblue];
+
+.. note::
+
+   The ``root`` family sits at the top of the inheritance tree as all
+   tasks/families automatically inherit it:
+
+Cylc handles inheritance by starting with the root family and working down the
+inheritance tree applying each section in turn.
+
+To see the resulting configuration for the ``a380`` task use the
+``cylc config`` command::
+
+   cylc config . -i "[runtime][a380]"
+
+You should see some settings which have been inherited from the ``VEHICLE`` and
+``AIRPLANE`` families as well as a couple defined in the ``a380`` task.
+
+.. code-block:: cylc
+
+   init-script = echo 'Boarding'                       # Inherited from VEHICLE
+   pre-script = echo 'Departing'                       # Inherited from VEHICLE
+   post-script = echo 'Arriving'                       # Inherited from VEHICLE
+   inherit = AIRPLANE                                  # Defined in a380
+   [[[meta]]]
+       description = An air vehicle with fixed wings.  # Inherited from AIR_VEHICLE - overwritten by AIRPLANE
+       title = Airbus A380 Jumbo-Jet.                  # Defined in a380
+   [[[environment]]]
+       CAN_TAKE_OFF_VERTICALLY = false                 # Inherited from AIRPLANE
+
+Note that the ``description`` setting is defined in the ``AIR_VEHICLE``
+family but is overwritten by the value specified in the ``AIRPLANE`` family.
+
+
+Multiple Inheritance
+--------------------
+
+Next we want to add a vehicle called the V-22 Osprey to the workflow. The V-22
+is a cross between a plane and a helicopter - it has wings but can take-off and
+land vertically.
+
+.. image:: https://upload.wikimedia.org/wikipedia/commons/e/e3/MV-22_mcas_Miramar_2014.JPG
+   :width: 300px
+   :align: center
+
+As the V-22 can be thought of as both a plane and a helicopter we want it to
+inherit from both the ``AIRPLANE`` and ``HELICOPTER`` families. In Cylc we can
+inherit from multiple families by separating their names with commas:
+
+Add the following task to your :cylc:conf:`flow.cylc` file.
+
+.. code-block:: cylc
+
+       [[v22]]
+           inherit = AIRPLANE, HELICOPTER
+           [[[meta]]]
+               title = V-22 Osprey Military Aircraft.
+
+Re-run the ``cylc graph`` command.
+
+The inheritance hierarchy should now look like this:
+
+.. digraph:: Example
+   :align: center
+
+   AIRPLANE  [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   v22    [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   AIRPLANE -> v22    [color=royalblue];
+   a380   [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   AIRPLANE -> a380   [color=royalblue];
+   HELICOPTER   [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   HELICOPTER -> v22  [color=royalblue];
+   r44    [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   HELICOPTER -> r44  [color=royalblue];
+   root   [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   VEHICLE   [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   root -> VEHICLE    [color=royalblue];
+   AIR_VEHICLE  [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   VEHICLE -> AIR_VEHICLE   [color=royalblue];
+   AIR_VEHICLE -> AIRPLANE  [color=royalblue];
+   AIR_VEHICLE -> HELICOPTER   [color=royalblue];
+
+Inspect the configuration of the ``v22`` task using the ``cylc config``
+command.
+
+.. spoiler:: Hint warning
+
+   .. code-block:: bash
+
+      cylc config . -i "[runtime][v22]"
+
+You should see that the ``CAN_TASK_OFF_VERTICALLY`` environment variable has
+been set to ``false`` which isn't right. This is because of the order in which
+inheritance is applied.
+
+Cylc handles multiple-inheritance by applying each family from right to left.
+For the ``v22`` task we specified ``inherit = AIRPLANE, HELICOPTER`` so the
+``HELICOPTER`` family will be applied first and the ``AIRPLANE`` family after.
+
+The inheritance order would be as follows:
+
+.. code-block:: bash
+
+   root
+   VEHICLE
+   AIR_VEHICLE
+   HELICOPTER   # sets "CAN_TAKE_OFF_VERTICALLY to "true"
+   AIRPLANE     # sets "CAN_TAKE_OFF_VERTICALLY to "false"
+   v22
+
+We could fix this problem by changing the order of inheritance:
+
+.. code-block:: cylc
+
+   inherit = HELICOPTER, AIRPLANE
+
+Now the ``HELICOPTER`` family is applied second so its values will override any
+in the ``AIRPLANE`` family.
+
+.. code-block:: bash
+
+   root
+   VEHICLE
+   AIR_VEHICLE
+   AIRPLANE     # sets "CAN_TAKE_OFF_VERTICALLY to "false"
+   HELICOPTER   # sets "CAN_TAKE_OFF_VERTICALLY to "true"
+   v22
+
+Inspect the configuration of the ``v22`` task using ``cylc config`` to
+confirm this.
+
+
+More Inheritance
+----------------
+
+We will now add some more families and tasks to the workflow.
+
+Engine Type
+^^^^^^^^^^^
+
+Next we will define four families to represent three different types of engine.
+
+.. digraph:: Example
+   :align: center
+
+   size = "5,5"
+
+   ENGINE [color=royalblue, fillcolor=powderblue, shape=box, style=filled,
+       margin="0.3,0.055"]
+   TURBINE_ENGINE [color=royalblue, fillcolor=powderblue, shape=box,
+       style=filled, margin="0.3,0.055"]
+   INTERNAL_COMBUSTION_ENGINE [color=royalblue, fillcolor=powderblue,
+       shape=box, style=filled, margin="0.3,0.055"]
+   HUMAN_ENGINE [color=royalblue, fillcolor=powderblue, shape=box,
+       style=filled, margin="0.3,0.055"]
+
+   "ENGINE" -> "TURBINE_ENGINE"
+   "ENGINE" -> "INTERNAL_COMBUSTION_ENGINE"
+   "ENGINE" -> "HUMAN_ENGINE"
+
+Each engine type should set an environment variable called ``FUEL`` which we
+will assign to the following values:
+
+* Turbine - kerosene
+* Internal Combustion - petrol
+* Human - pizza
+
+Add lines to the ``runtime`` section to represent these four families.
+
+.. spoiler:: Solution warning
+
+   .. code-block:: cylc
+
+          [[ENGINE]]
+          [[TURBINE_ENGINE]]
+              inherit = ENGINE
+              [[[environment]]]
+                  FUEL = kerosene
+          [[INTERNAL_COMBUSTION_ENGINE]]
+              inherit = ENGINE
+              [[[environment]]]
+                  FUEL = petrol
+          [[HUMAN_ENGINE]]
+              inherit = ENGINE
+              [[[environment]]]
+                  FUEL = pizza
+
+We now need to make the three aircraft inherit from one of the three engines.
+The aircraft use the following types of engine:
+
+* A380 - turbine
+* R44 - internal combustion
+* V22 - turbine
+
+Modify the three tasks so that they inherit from the relevant engine families.
+
+.. spoiler:: Solution warning
+
+   .. code-block:: cylc
+
+         [[a380]]
+             inherit = AIRPLANE, TURBINE_ENGINE
+             [[[meta]]]
+                 title = Airbus A380 Jumbo-Jet.
+         [[r44]]
+             inherit = HELICOPTER, INTERNAL_COMBUSTION_ENGINE
+             [[[meta]]]
+                 title = Robson R44 Helicopter.
+         [[v22]]
+             inherit = AIRPLANE, HELICOPTER, TURBINE_ENGINE
+             [[[meta]]]
+                 title = V-22 Ofsprey Military Aircraft.
+
+Penny Farthing
+^^^^^^^^^^^^^^
+
+Next we want to add a new type of vehicle, an old-fashioned bicycle called a
+penny farthing.
+
+.. image:: https://upload.wikimedia.org/wikipedia/commons/a/a7/Ordinary_bicycle01.jpg
+   :width: 300px
+   :alt: Penny Farthing Bicycle
+   :align: center
+
+To do this we will need to add two new families, ``LAND_VEICHLE`` and
+``BICYCLE`` as well as a new task, ``penny_farthing`` related in the
+following manner:
+
+.. digraph:: Example
+   :align: center
+
+   VEHICLE [color=royalblue, fillcolor=powderblue, shape=box, style=filled]
+   LAND_VEHICLE [color=royalblue, fillcolor=powderblue, shape=box,
+       style=filled]
+   BICYCLE [color=royalblue, fillcolor=powderblue, shape=box, style=filled]
+   HUMAN_ENGINE [color=royalblue, fillcolor=powderblue, shape=box,
+       style=filled, margin="0.3,0.055"]
+   penny_farthing [color=royalblue, fillcolor=powderblue, shape=box,
+       style=filled, margin="0.3,0.055"]
+   VEHICLE -> LAND_VEHICLE -> BICYCLE -> penny_farthing
+   HUMAN_ENGINE -> penny_farthing
+
+Add lines to the ``runtime`` section to represent the two new families and one
+task outlined above.
+
+Add a description (``[meta]description``) to the ``LAND_VEHICLE`` and
+``BICYCLE`` families and a title (``[meta]title``) to the ``penny_farthing``
+task.
+
+.. spoiler:: Solution warning
+
+   .. code-block:: cylc
+
+         [[LAND_VEHICLE]]
+             inherit = VEHICLE
+             [[[meta]]]
+                 description = A vehicle which can travel over the ground.
+
+         [[BICYCLE]]
+             inherit = LAND_VEHICLE
+             [[[meta]]]
+                 description = A small two-wheeled vehicle.
+
+         [[penny_farthing]]
+             inherit = BICYCLE, HUMAN_ENGINE
+             [[[meta]]]
+                 title = An old-fashioned bicycle.
+
+
+Using ``cylc config`` to inspect the configuration of the ``penny_farthing``
+task we can see that it inherits settings from the ``VEHICLE``,
+``BICYCLE`` and ``HUMAN_ENGINE`` families.
+
+.. code-block:: cylc
+
+   inherit = BICYCLE, HUMAN_ENGINE
+   init-script = echo 'Boarding'  # Inherited from VEHICLE
+   pre-script = echo 'Departing'  # Inherited from VEHICLE
+   post-script = echo 'Arriving'  # Inherited from VEHICLE
+   [[[environment]]]
+       FUEL = pizza               # Inherited from HUMAN_ENGINE
+   [[[meta]]]
+       description = A small two-wheeled vehicle.  # Inherited from LAND_VEHICLE - overwritten by BICYCLE
+       title = An old-fashioned bicycle.           # Defined in penny_farthing
+
+.. spoiler:: Hint hint
+
+   .. code-block:: bash
+
+      cylc config . -i "[runtime]penny_farthing"
+
+Hovercraft
+^^^^^^^^^^
+
+We will now add a hovercraft called the Hoverwork BHT130, better known to some
+as the Isle Of Wight Ferry.
+
+.. image:: https://upload.wikimedia.org/wikipedia/commons/e/e7/Hovercraft_leaving_Ryde.JPG
+   :width: 300px
+   :align: center
+   :alt: Hoverwork BHT130 Hovercraft
+
+Hovercraft can move over both land and water and in some respects can be thought
+of as flying vehicles.
+
+.. digraph:: Example
+   :align: center
+
+   size = "7,5"
+
+   VEHICLE [color=royalblue, fillcolor=powderblue, shape=box, style=filled]
+   AIR_VEHICLE [color=royalblue, fillcolor=powderblue, shape=box, style=filled]
+   LAND_VEHICLE [color=royalblue, fillcolor=powderblue, shape=box,
+       style=filled]
+   WATER_VEHICLE [color=royalblue, fillcolor=powderblue, shape=box,
+       style=filled]
+   HOVERCRAFT [color=royalblue, fillcolor=powderblue, shape=box, style=filled]
+   bht130 [color=royalblue, fillcolor=powderblue, shape=box, style=filled]
+   ENGINE [color=royalblue, fillcolor=powderblue, shape=box, style=filled]
+   INTERNAL_COMBUSTION_ENGINE [color=royalblue, fillcolor=powderblue,
+       shape=box, style=filled, margin="0.3,0.055"]
+   VEHICLE -> AIR_VEHICLE -> HOVERCRAFT
+   VEHICLE -> LAND_VEHICLE -> HOVERCRAFT
+   VEHICLE -> WATER_VEHICLE -> HOVERCRAFT
+   HOVERCRAFT -> bht130
+   ENGINE -> INTERNAL_COMBUSTION_ENGINE -> bht130
+
+Write new families and one new task to represent the above structure.
+
+Add a description (``[meta]description``) to the ``WATER_VEHICLE`` and
+``HOVERCRAFT`` families and a title (``[meta]title``) to the ``bht130`` task.
+
+.. spoiler:: Solution warning
+
+   .. code-block:: cylc
+
+         [[WATER_VEHICLE]]
+             inherit = VEHICLE
+             [[[meta]]]
+                 description = A vehicle which can travel over water.
+
+         [[HOVERCRAFT]]
+             inherit = LAND_VEHICLE, AIR_VEHICLE, WATER_VEHICLE
+             [[[meta]]]
+                 description = A vehicle which can travel over ground, water and ice.
+
+         [[bht130]]
+             inherit = HOVERCRAFT, INTERNAL_COMBUSTION_ENGINE
+             [[[meta]]]
+                 title = Griffon Hoverwork BHT130 (Isle Of Whight Ferry).
+
+
+Finished Workflow
+-----------------
+
+You should now have a workflow with an inheritance hierarchy which looks like
+this:
+
+.. digraph:: Example
+
+   size = "7, 5"
+
+   root   [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   ENGINE    [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   root -> ENGINE  [color=royalblue];
+   VEHICLE   [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   root -> VEHICLE    [color=royalblue];
+   INTERNAL_COMBUSTION_ENGINE  [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled,
+      margin="0.3,0.055"];
+   ENGINE -> INTERNAL_COMBUSTION_ENGINE    [color=royalblue];
+   TURBINE_ENGINE  [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled,
+      margin="0.3,0.055"];
+   ENGINE -> TURBINE_ENGINE    [color=royalblue];
+   HUMAN_ENGINE    [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled,
+      margin="0.3,0.055"];
+   ENGINE -> HUMAN_ENGINE   [color=royalblue];
+   LAND_VEHICLE    [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   VEHICLE -> LAND_VEHICLE  [color=royalblue];
+   WATER_VEHICLE   [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   VEHICLE -> WATER_VEHICLE    [color=royalblue];
+   AIR_VEHICLE  [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   VEHICLE -> AIR_VEHICLE   [color=royalblue];
+   r44    [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   INTERNAL_COMBUSTION_ENGINE -> r44    [color=royalblue];
+   bht130    [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   INTERNAL_COMBUSTION_ENGINE -> bht130    [color=royalblue];
+   v22    [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   TURBINE_ENGINE -> v22    [color=royalblue];
+   a380   [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   TURBINE_ENGINE -> a380   [color=royalblue];
+   penny_farthing  [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled,
+      margin="0.3,0.055"];
+   HUMAN_ENGINE -> penny_farthing    [color=royalblue];
+   AIRPLANE  [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   AIRPLANE -> v22    [color=royalblue];
+   AIRPLANE -> a380   [color=royalblue];
+   HELICOPTER   [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   HELICOPTER -> v22  [color=royalblue];
+   HELICOPTER -> r44  [color=royalblue];
+   HOVERCRAFT   [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   HOVERCRAFT -> bht130  [color=royalblue];
+   LAND_VEHICLE -> HOVERCRAFT  [color=royalblue];
+   BICYCLE   [color=royalblue,
+      fillcolor=powderblue,
+      shape=box,
+      style=filled];
+   LAND_VEHICLE -> BICYCLE  [color=royalblue];
+   WATER_VEHICLE -> HOVERCRAFT    [color=royalblue];
+   AIR_VEHICLE -> AIRPLANE  [color=royalblue];
+   AIR_VEHICLE -> HELICOPTER   [color=royalblue];
+   AIR_VEHICLE -> HOVERCRAFT   [color=royalblue];
+   BICYCLE -> penny_farthing   [color=royalblue];
diff --git a/nightly_8.3/html/_sources/tutorial/furthertopics/message-triggers.rst.txt b/nightly_8.3/html/_sources/tutorial/furthertopics/message-triggers.rst.txt
new file mode 100644
index 00000000000..af31724cd73
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/furthertopics/message-triggers.rst.txt
@@ -0,0 +1,432 @@
+.. _tutorial-cylc-message-triggers:
+
+Message Triggers
+================
+
+:term:`Message triggers <message trigger>` allow us to trigger dependent tasks
+before the upstream task has completed.
+
+Explanation
+-----------
+
+We have seen :ref:`before <tutorial-qualifiers>` that tasks can have
+:term:`qualifiers <qualifier>` for different
+:term:`task states <task state>`.
+:term:`Message triggers <message trigger>` are essentially custom qualifiers.
+We can produce a bespoke output while our task is still running.
+This output could be, for example, a report or perhaps another task.
+
+Usage
+-----
+
+:term:`Message triggers <message trigger>` are particularly useful if we have
+a long running task and we want to produce multiple tailored outputs whilst
+this task is running, rather than having to wait for the task to
+complete.
+
+We could also set up :term:`message triggers <message trigger>` to, for example,
+send an email to inform us that a submission has failed, making use of Cylc's
+task event handling system. More information is available on these in the
+`Cylc User Guide`_.
+
+
+:term:`Message triggers <message trigger>` provide a superior solution to
+the problem of file system polling. We could, for example, design our workflow
+such that we check if our task is finished by polling at intervals.
+It is inefficient to 'spam' task hosts with polling commands, it is preferable
+to set up a message trigger.
+
+How to create a message trigger
+-------------------------------
+
+In order to get our workflow to trigger messages, we need to:
+
+* specify our custom message in a section called ``[[outputs]]`` within the
+     ``[runtime]`` section of our workflow,
+
+* add ``cylc message -- "${CYLC_WORKFLOW_ID}" "${CYLC_TASK_JOB}" "YOUR CHOSEN TRIGGER MESSAGE"``
+     to the ``script`` section of ``[runtime]``, your chosen trigger message
+     should be unique and should exactly match the message defined in
+     ``[[outputs]]``.
+
+* Refer to these messages in the ``[dependencies]`` section of our workflow.
+
+.. note::
+
+   The message will be recorded in the workflow's scheduler log.
+   See :ref:`scheduler logs.cylc message` for details of how messages appear.
+
+These outputs are then triggered during the running of the task.
+We can use these to manage tasks dependent on partially completed tasks.
+
+So, a basic example, where we have a task foo, that when partially completed
+triggers another task bar and when fully completed triggers another task, baz.
+
+   .. code-block:: cylc
+
+      [scheduling]
+          [[graph]]
+              R1 = """
+                  foo:out1 => bar
+                  foo => baz
+              """
+      [runtime]
+          [[foo]]
+              script = """
+                  sleep 5
+                  cylc message -- "${CYLC_WORKFLOW_ID}" "${CYLC_TASK_JOB}" "file 1 done"
+                  sleep 10
+              """
+              [[[outputs]]]
+                  out1 = "file 1 done"
+
+          [[bar, baz]]
+              script = sleep 10
+
+.. _message triggers practical:
+
+.. practical::
+
+   .. rubric:: In this practical example, we will create a workflow to demonstrate
+      :term:`message triggers <message trigger>`. We will use message triggers
+      to both produce a report and trigger a new task from a partially completed
+      task.
+
+   #. **Create a new directory.**
+
+      Within your ``~/cylc-src`` directory create a new directory called
+
+      ``message-triggers`` and move into it:
+
+      .. code-block:: bash
+
+         mkdir ~/cylc-src/message-triggers
+         cd ~/cylc-src/message-triggers
+
+   #. **Install the script needed for our workflow**
+
+      The workflow we will be designing requires a bash script, ``random.sh``,
+      to produce our report. It will simply create a text file ``report.txt``
+      with some random numbers in it. This will be executed when the associated
+      task is run.
+
+      Scripts should be kept in the ``bin`` sub-directory within the
+      :term:`run directory <run directory>`. If a ``/bin``
+      exists in the run directory, it will be prepended $PATH at run
+      time.
+
+      Create a ``/bin`` directory.
+
+      .. code-block:: bash
+
+         mkdir ~/cylc-src/message-triggers/bin
+
+      Create a bash script in the bin directory:
+
+      .. code-block:: bash
+
+         touch bin/random.sh
+
+      We will need to make this script executable.
+
+      .. code-block:: bash
+
+         chmod +x bin/random.sh
+
+      Open the file and paste the following basic bash script into it:
+
+      .. code-block:: bash
+
+         #!/usr/bin/env bash
+         set -eu  # Prevent bash script failing quietly.
+
+         counter=1
+
+         while [ $counter -le 10 ]; do
+             newrand=$(( (( RANDOM % 40) + 1 ) ));
+             echo $newrand >> report.txt;
+             counter=$((counter + 1));
+         done
+
+
+   #. **Create a new workflow.**
+
+      Create a :cylc:conf:`flow.cylc` file and paste the following basic workflow into it:
+
+      .. code-block:: cylc
+
+         [meta]
+             title = "test workflow to demo message triggers"
+
+         [scheduler]
+             UTC mode = True
+
+         [scheduling]
+             initial cycle point = 2019-06-27T00Z
+             final cycle point = 2019-10-27T00Z
+             [[graph]]
+                 P2M = """
+                     long_forecasting_task =>  another_weather_task
+                     long_forecasting_task => different_weather_task
+                     long_forecasting_task[-P2M] => long_forecasting_task
+                 """
+
+      This is a basic workflow, currently it does not have any message triggers
+      attached to any task.
+
+
+   #. **Define our tasks in the runtime section.**
+
+      Next we want to create our ``runtime`` section of our workflow.
+      First we define what the tasks do. In this example
+      ``long_forecasting_task`` will sleep, create a file containing some
+      random numbers and produce a message.
+      (Note that the random number generator bash script has already been
+      preloaded into your ``bin`` directory.)
+      ``another_weather_task`` and ``different_weather_task`` simply sleep.
+
+      Add the following code to the  :cylc:conf:`flow.cylc` file.
+
+      .. code-block:: cylc
+
+         [runtime]
+
+             [[long_forecasting_task]]
+                 script = """
+                     sleep 2
+                     random.sh
+
+                     sleep 2
+                     random.sh
+
+                     sleep 2
+                     random.sh
+                 """
+
+             [[another_weather_task, different_weather_task]]
+                 script = sleep 1
+
+
+   #. **Create message triggers.**
+
+      We now have a workflow with a task, ``long_forecasting_task`` which, after
+      it has fully completed, triggers two more tasks, ``another_weather_task``
+      and ``different_weather_task``.
+
+      Suppose we want ``another_weather_task`` and ``different_weather_task``
+      to start before ``long_forecasting_task`` has fully completed, perhaps
+      after some data has become available.
+
+      In this case, we shall trigger ``another_weather_task`` after one set of
+      random numbers has been created
+      and ``different_weather_task`` after a second set of random numbers has
+      been created.
+
+      There are three aspects of creating message triggers.
+      The first is to create the messages. Within ``runtime``, ``TASK`` in our
+      workflow, we need to create a sub-section called ``outputs``. Here we create
+      our custom outputs.
+
+      .. code-block:: diff
+
+         +        [[[outputs]]]
+         +            update1 = "Task partially complete, report ready to view"
+         +            update2 = "Task partially complete, report updated"
+
+      The second thing we need to do is to create a cylc message in our script.
+      This should be placed where you want the message to be called. In our
+      case, this is after each of the first two set of random numbers are
+      generated.
+
+      .. tip::
+         Remember that the ``cylc message`` should exactly match the outputs
+         stated in our ``[[[outputs]]]`` section.
+
+      Modify the ``[[long_forecasting_task]]`` script in the :cylc:conf:`flow.cylc` file
+      as follows:
+
+      .. code-block:: diff
+
+         [runtime]
+
+             [[long_forecasting_task]]
+                 script = """
+                     sleep 2
+                     random.sh
+         +           cylc message -- "${CYLC_WORKFLOW_ID}" "${CYLC_TASK_JOB}" \
+         +                "Task partially complete, report ready to view"
+                     sleep 2
+                     random.sh
+         +           cylc message -- "${CYLC_WORKFLOW_ID}" "${CYLC_TASK_JOB}" \
+         +               "Task partially complete, report updated"
+                     sleep 2
+                     random.sh
+                 """
+
+      Lastly, we need to make reference to the messages in the
+      graph section.
+      This will ensure your tasks trigger off of the messages correctly.
+
+      Adapt the ``[[dependencies]]`` section in the :cylc:conf:`flow.cylc` file to read as
+      follows:
+
+      .. code-block:: diff
+
+                  [[[P2M]]]
+                      graph = """
+         -               long_forecasting_task =>  another_weather_task
+         -               long_forecasting_task => different_weather_task
+         +               long_forecasting_task:update1 =>  another_weather_task
+         +               long_forecasting_task:update2 => different_weather_task
+                         long_forecasting_task[-P2M] => long_forecasting_task
+                     """
+
+      This completes our :cylc:conf:`flow.cylc` file.
+
+      Our final workflow should look like this:
+
+      .. spoiler:: Solution warning
+
+         .. code-block:: cylc
+
+            [meta]
+                title = "test workflow to demo message triggers"
+
+            [scheduler]
+                UTC mode = True
+
+            [scheduling]
+                initial cycle point = 2019-06-27T00Z
+                final cycle point = 2019-10-27T00Z
+
+                [[graph]]
+                    P2M = """
+                        long_forecasting_task:update1 =>  another_weather_task
+                        long_forecasting_task:update2 => different_weather_task
+                        long_forecasting_task[-P2M] => long_forecasting_task
+                    """
+
+            [runtime]
+                [[long_forecasting_task]]
+                    script = """
+                        sleep 2
+                        random.sh
+                        cylc message -- "${CYLC_WORKFLOW_ID}" "${CYLC_TASK_JOB}" \
+                            "Task partially complete, report ready to view"
+                        sleep 2
+                        random.sh
+                        cylc message -- "${CYLC_WORKFLOW_ID}" "${CYLC_TASK_JOB}" \
+                            "Task partially complete, report updated"
+                        sleep 2
+                        random.sh
+                    """
+                    [[[outputs]]]
+                        update1 = "Task partially complete, report ready to view"
+                        update2 = "Task partially complete, report updated"
+
+                [[another_weather_task, different_weather_task]]
+                    script = sleep 1
+
+   #. **Validate the workflow.**
+
+      It is a good idea to check that our :cylc:conf:`flow.cylc` file does not have any
+      configuration issues.
+
+      Run ``cylc validate`` to check for any errors:
+
+      .. code-block:: bash
+
+          cylc validate .
+
+   #. **Install and Play the workflow.**
+
+      Now we are ready to run our workflow. Validate, install, then open
+      the :ref:`GUI <tutorial.gui>` or :ref:`TUI <tutorial.tui>` and play
+      the workflow.
+
+      .. code-block:: bash
+
+         cylc validate .
+         cylc install
+         cylc play message-triggers
+
+      Your workflow should now run, the tasks should succeed.
+
+   #. **Inspect the work directory.**
+
+      You can now check for your report outputs. These should appear in the
+      :term:`work directory` of the workflow. All being well, our first cycle
+      point should produce a test file with some random numbers, and each
+      subsequent cycle point file should have more random numbers added.
+
+   #. **Extension.**
+
+      Suppose now we would like to send an email alerting us to the reports
+      being ready to view.
+
+      We will need to add to our :cylc:conf:`flow.cylc` file.
+
+      In the ``runtime`` section, add a sub-section called ``[[[events]]]``.
+      Within this section we will make use of the built-in setting
+      ``mail events``.
+      Here, we specify a list of events for which notifications should be sent.
+
+      The events we are interested in are, in this case, our outputs.
+
+      Add the following code to your ``[[[events]]]`` section.
+
+        .. code-block:: cylc
+
+           [[[events]]]
+               mail events = update1, update2
+
+        Our updated workflow should look like this:
+
+      .. spoiler:: Solution warning
+
+         .. code-block:: cylc
+
+            [scheduler]
+                UTC mode = True
+            [meta]
+                title = "test workflow to demo message triggers"
+            [scheduling]
+                initial cycle point = 2019-06-27T00Z
+                final cycle point = 2019-10-27T00Z
+                [[graph]]
+                    P2M = """
+                        long_forecasting_task:update1 =>  another_weather_task
+                        long_forecasting_task:update2 => different_weather_task
+                        long_forecasting_task[-P2M] => long_forecasting_task
+                    """
+            [runtime]
+                [[long_forecasting_task]]
+                    script = """
+                        sleep 2
+                        random.sh
+                        cylc message -- "${CYLC_WORKFLOW_ID}" "${CYLC_TASK_JOB}" \
+                            "Task partially complete, report ready to view"
+                        sleep 2
+                        random.sh
+                        cylc message -- "${CYLC_WORKFLOW_ID}" "${CYLC_TASK_JOB}" \
+                            "Task partially complete, report updated"
+                        sleep 2
+                        random.sh
+                    """
+
+                    [[[outputs]]]
+                        update1 = "Task partially complete, report ready to view"
+                        update2 = "Task partially complete, report updated"
+
+                    [[[events]]]
+                        mail events = update1, update2
+
+                [[another_weather_task, different_weather_task]]
+                    script = sleep 1
+
+      Save your changes and run your workflow.
+      Check your emails and you should have, one email for the first update and,
+      a second email alerting you to the subsequent updated reports being ready.
+
+      Note that the second email automatically bundles the messages to prevent
+      your inbox from being flooded.
diff --git a/nightly_8.3/html/_sources/tutorial/furthertopics/queues.rst.txt b/nightly_8.3/html/_sources/tutorial/furthertopics/queues.rst.txt
new file mode 100644
index 00000000000..2f52eb19196
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/furthertopics/queues.rst.txt
@@ -0,0 +1,119 @@
+.. _tutorial.furthertopics.queues:
+
+Queues
+======
+
+Queues are used to put a limit on the number of tasks that will be active at
+any one time, even if their dependencies are satisfied. This avoids swamping
+systems with too many tasks at once.
+
+
+Example
+-------
+
+In this example, our workflow manages a particularly understaffed restaurant.
+
+Create a new workflow called ``queues-tutorial``::
+
+   mkdir -p ~/cylc-src/queues-tutorial
+   cd ~/cylc-src/queues-tutorial
+
+And paste the following into :cylc:conf:`flow.cylc`:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = """
+               open_restaurant => steak1 & steak2 & pasta1 & pasta2 & pasta3 & \
+                                  pizza1 & pizza2 & pizza3 & pizza4
+               steak1 => ice_cream1
+               steak2 => cheesecake1
+               pasta1 => ice_cream2
+               pasta2 => sticky_toffee1
+               pasta3 => cheesecake2
+               pizza1 => ice_cream3
+               pizza2 => ice_cream4
+               pizza3 => sticky_toffee2
+               pizza4 => ice_cream5
+           """
+
+   [runtime]
+       [[open_restaurant]]
+       [[MAINS]]
+       [[DESSERT]]
+       [[steak1,steak2,pasta1,pasta2,pasta3,pizza1,pizza2,pizza3,pizza4]]
+           inherit = MAINS
+       [[ice_cream1,ice_cream2,ice_cream3,ice_cream4,ice_cream5]]
+           inherit = DESSERT
+       [[cheesecake1,cheesecake2,sticky_toffee1,sticky_toffee2]]
+           inherit = DESSERT
+
+.. note::
+
+   In graph sections, lines can be split on ``&``, i.e. the
+   following two examples are equivalent:
+
+   .. code-block:: cylc-graph
+
+      foo => bar &
+             baz
+
+   .. code-block:: cylc-graph
+
+      foo => bar & baz
+
+   ``|`` (or), and ``=>`` act in the same way.
+
+Validate, install and play the workflow::
+
+   cylc validate .
+   cylc install --run-name without-queues
+
+Look at the workflow with :ref:`tutorial.gui` or :ref:`tutorial.tui`
+
+Play the workflow, either from the GUI or the command line::
+
+   cylc play queues-tutorial/without-queues
+
+You will see that all the ``steak``, ``pasta``, and ``pizza`` tasks are run
+at once, swiftly followed by all the ``ice_cream``, ``cheesecake``,
+``sticky_toffee`` tasks as the customers order from the dessert menu.
+
+
+This will overwhelm our restaurant staff! The chef responsible for ``MAINS``
+can only handle 3 tasks at any given time, and the ``DESSERT`` chef can only
+handle 2.
+
+We need to add some queues. Add a ``[queues]`` section to the ``[scheduling]``
+section like so:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[queues]]
+           [[[mains_chef_queue]]]
+               limit = 3  # Only 3 mains dishes at one time.
+               members = MAINS
+           [[[dessert_chef_queue]]]
+               limit = 2  # Only 2 dessert dishes at one time.
+               members = DESSERT
+
+Install and play the workflow::
+
+   cylc validate .
+   cylc install --run-name tutorial-with-queues
+
+Play the workflow using the :ref:`GUI <tutorial.gui>`
+or :ref:`TUI <tutorial.tui>`.
+
+You should see that there are now never more than 3 active ``MAINS`` tasks
+running and never more than 2 active ``DESSERT`` tasks running.
+
+The customers will obviously have to wait!
+
+
+Further Reading
+---------------
+
+For more information, see the `Cylc User Guide`_.
diff --git a/nightly_8.3/html/_sources/tutorial/furthertopics/retries.rst.txt b/nightly_8.3/html/_sources/tutorial/furthertopics/retries.rst.txt
new file mode 100644
index 00000000000..5b04f81ab2e
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/furthertopics/retries.rst.txt
@@ -0,0 +1,164 @@
+Retries
+=======
+
+Retries allow us to automatically re-submit tasks which have failed due to
+failure in submission or execution.
+
+
+Purpose
+-------
+
+Retries can be useful for tasks that occasionally fail for known, fixable
+reasons. Cylc can rerun a failing job multiple times, with user-defined delays
+between tries.
+
+Tasks that fail because of temporary hardware or network outages may succeed if
+simply resubmitted after a delay. Others might succeed if configured differently
+on the retry.
+
+A job environment variable ``$CYLC_TASK_TRY_NUMBER`` increments with each try,
+to allow try-dependent behaviour in the task script.
+
+.. note::
+
+   Tasks only enter the ``submit-failed`` state if job submission fails with no
+   retries left. Otherwise they return to the waiting state, to wait on the
+   next try.
+
+   Tasks only enter the ``failed`` state if job execution fails with no retries
+   left. Otherwise they return to the waiting state, to wait on the next try.
+
+
+Example
+-------
+
+.. image:: https://upload.wikimedia.org/wikipedia/commons/7/73/Double-six-dice.jpg
+   :width: 200px
+   :align: right
+   :alt: Two dice both showing the number six
+
+Create a new workflow by running the following commands::
+
+   mkdir -p ~/cylc-src/retries-tutorial
+   cd ~/cylc-src/retries-tutorial
+
+And paste the following code into a ``flow.cylc`` file. This workflow has a
+``roll_doubles`` task that simulates trying to roll doubles using two dice:
+
+.. code-block:: cylc
+
+   [scheduler]
+       UTC mode = True # Ignore DST
+
+   [scheduling]
+       [[graph]]
+           R1 = start => roll_doubles => win
+
+   [runtime]
+       [[start]]
+       [[win]]
+       [[roll_doubles]]
+           script = """
+               sleep 10
+               RANDOM=$$  # Seed $RANDOM
+               DIE_1=$((RANDOM%6 + 1))
+               DIE_2=$((RANDOM%6 + 1))
+               echo "Rolled $DIE_1 and $DIE_2..."
+               if (($DIE_1 == $DIE_2)); then
+                   echo "doubles!"
+               else
+                   exit 1
+               fi
+           """
+
+
+Running Without Retries
+-----------------------
+
+Let's see what happens when we run the workflow as it is.
+Look at the workflow with :ref:`tutorial.gui` or :ref:`tutorial.tui`
+
+Then validate install and run the workflow::
+
+   cylc validate .
+   cylc install
+   cylc play retries-tutorial
+
+Unless you're lucky, the workflow should fail at the roll_doubles task.
+
+Stop the workflow::
+
+   cylc stop retries-tutorial
+
+
+Configuring Retries
+-------------------
+
+We need to tell Cylc to retry it a few times. To do this, add the following
+to the end of the ``[[roll_doubles]]`` task section in the :cylc:conf:`flow.cylc` file:
+
+.. code-block:: cylc
+
+   execution retry delays = 5*PT6S
+
+This means that if the ``roll_doubles`` task fails, Cylc expects to
+retry running it 5 times before finally failing. Each retry will have
+a delay of 6 seconds.
+
+We can apply multiple retry periods with the ``execution retry delays`` setting
+by separating them with commas, for example the following line would tell Cylc
+to retry a task four times, once after 15 seconds, then once after 10 minutes,
+then once after one hour then once after three hours.
+
+.. code-block:: cylc
+
+   execution retry delays = PT15S, PT10M, PT1H, PT3H
+
+
+Running With Retries
+--------------------
+
+Look at the workflow with :ref:`tutorial.gui` or :ref:`tutorial.tui`
+
+Re-install and run the workflow::
+
+   cylc validate .
+   cylc install
+   cylc play retries-tutorial
+
+What you should see is Cylc retrying the ``roll_doubles`` task. Hopefully,
+it will succeed (there is only about a 1 in 3 chance of every task
+failing) and the workflow will continue.
+
+
+Altering Behaviour
+------------------
+
+We can alter the behaviour of the task based on the number of retries, using
+``$CYLC_TASK_TRY_NUMBER``.
+
+Change the ``script`` setting for the ``roll_doubles`` task to this::
+
+   sleep 10
+   RANDOM=$$  # Seed $RANDOM
+   DIE_1=$((RANDOM%6 + 1))
+   DIE_2=$((RANDOM%6 + 1))
+   echo "Rolled $DIE_1 and $DIE_2..."
+   if (($DIE_1 == $DIE_2)); then
+       echo "doubles!"
+   elif (($CYLC_TASK_TRY_NUMBER >= 2)); then
+       echo "look over there! ..."
+       echo "doubles!"  # Cheat!
+   else
+       exit 1
+   fi
+
+If your workflow is still running, stop it, then run it again.
+
+This time, the task should definitely succeed before the third retry.
+
+
+Further Reading
+---------------
+
+For more information see the `Cylc User Guide`_.
diff --git a/nightly_8.3/html/_sources/tutorial/index.rst.txt b/nightly_8.3/html/_sources/tutorial/index.rst.txt
new file mode 100644
index 00000000000..4eb13712687
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/index.rst.txt
@@ -0,0 +1,15 @@
+.. _Cylc Tutorial:
+
+Tutorial
+========
+
+This tutorial shows how to write and run basic Cylc workflows.
+
+.. toctree::
+   :name: cylc-tutorial
+   :maxdepth: 2
+
+   introduction
+   scheduling/index
+   runtime/index
+   furthertopics/index
diff --git a/nightly_8.3/html/_sources/tutorial/introduction.rst.txt b/nightly_8.3/html/_sources/tutorial/introduction.rst.txt
new file mode 100644
index 00000000000..ebaada27d8b
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/introduction.rst.txt
@@ -0,0 +1,100 @@
+.. _cylc-introduction:
+
+Introduction
+============
+
+.. _cylc-what-is-a-workflow:
+
+What Is A Workflow?
+-------------------
+
+.. epigraph::
+
+   A workflow consists of an orchestrated and repeatable pattern of business
+   activity enabled by the systematic organization of resources into processes
+   that transform materials, provide services, or process information.
+
+   -- Wikipedia
+
+.. ifnotslides::
+
+   In research, business and other fields we may need to repeat processes in
+   the course of our work. At its simplest a workflow is a set of steps that
+   must be followed in a particular order to achieve some end goal.
+
+   We can represent each "step" in a workflow as a node in a graph, and the
+   order with arrows between them.
+
+.. nextslide::
+
+.. digraph:: bakery
+   :align: center
+
+   "purchase ingredients" -> "make dough" -> "bake bread" -> "sell bread"
+   "bake bread" -> "clean oven"
+   "pre-heat oven" -> "bake bread"
+
+
+.. _cylc-what-is-cylc:
+
+What Is Cylc?
+-------------
+
+.. ifnotslides::
+
+   Cylc (pronounced silk) is a workflow engine, a system that automatically
+   executes tasks according to schedules and dependencies.
+
+   In a Cylc workflow each step is a computational task that runs a script or
+   application of some kind. Cylc runs each task as soon as it is appropriate
+   to do so.
+
+.. minicylc::
+   :align: center
+   :theme: demo
+
+    a => b => c
+    b => d => f
+    e => f
+
+.. nextslide::
+
+Cylc can automatically:
+
+- Submit tasks across computer systems and resource managers.
+- Recover from failures.
+- Repeat workflows.
+
+.. ifnotslides::
+
+   Cylc was originally developed at NIWA (The National Institute of Water and
+   Atmospheric Research, New Zealand) for running their weather forecasting
+   workflows. It is now developed by an international partnership including
+   NIWA, the Met Office (UK), and members of the Unified Model Consortium.
+   Though initially developed for meteorological purposes Cylc is a general
+   purpose tool as applicable in business as it is in scientific research.
+
+.. nextslide::
+
+.. ifslides::
+
+   * Originally developed at NIWA (New Zealand)
+   * Now developed by an international partnership including the
+     Met Office (UK).
+   * General purpose tool as applicable in business as in
+     scientific research.
+
+.. nextslide::
+
+Cylc provides a variety of command line and GUI tools for visualising,
+monitoring, and controlling workflows. The Cylc TUI (Terminal
+User Interface), web GUI, and ``cylc scan`` (bottom left) are shown below.
+
+.. image:: /tutorial/img/cylc-tools.png
+   :alt: A screenshot of several Cylc tools.
+
+.. nextslide::
+
+.. ifslides::
+
+   :ref:`tutorial-cylc-graphing`
diff --git a/nightly_8.3/html/_sources/tutorial/runtime/configuration-consolidation/families.rst.txt b/nightly_8.3/html/_sources/tutorial/runtime/configuration-consolidation/families.rst.txt
new file mode 100644
index 00000000000..d4899905dd6
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/runtime/configuration-consolidation/families.rst.txt
@@ -0,0 +1,333 @@
+.. _tutorial-cylc-families:
+
+Families
+========
+
+:term:`Families <family>` provide a way of grouping tasks together so they can
+be treated as one.
+
+
+Runtime
+-------
+
+.. ifnotslides::
+
+   :term:`Families <family>` are groups of tasks which share a common
+   configuration. In the present example the common configuration is:
+
+   .. code-block:: cylc
+
+      script = get-observations
+      [[[environment]]]
+          API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+
+   We define a family as a new task consisting of the common configuration. By
+   convention families are named in upper case:
+
+.. code-block:: cylc
+
+   [[GET_OBSERVATIONS]]
+       script = get-observations
+       [[[environment]]]
+           API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+
+.. ifnotslides::
+
+   We "add" tasks to a family using the ``inherit`` setting:
+
+.. code-block:: cylc
+
+   [[get_observations_heathrow]]
+       inherit = GET_OBSERVATIONS
+       [[[environment]]]
+           SITE_ID = 3772
+
+.. ifnotslides::
+
+   When we add a task to a family in this way it :term:`inherits <family
+   inheritance>` the configuration from the family, i.e. the above example is
+   equivalent to:
+
+.. code-block:: cylc
+
+   [[get_observations_heathrow]]
+       script = get-observations
+       [[[environment]]]
+           API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+           SITE_ID = 3772
+
+.. nextslide::
+
+.. ifnotslides::
+
+   It is possible to override inherited configuration within the task. For
+   example if we wanted the ``get_observations_heathrow`` task to use a
+   different API key we could write:
+
+.. code-block:: cylc
+   :emphasize-lines: 4
+
+   [[get_observations_heathrow]]
+       inherit = GET_OBSERVATIONS
+       [[[environment]]]
+           API_KEY = special-api-key
+           SITE_ID = 3772
+
+.. nextslide::
+
+.. ifnotslides::
+
+   Using families the ``get_observations`` tasks could be written like so:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[GET_OBSERVATIONS]]
+           script = get-observations
+           [[[environment]]]
+               API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+
+       [[get_observations_heathrow]]
+           inherit = GET_OBSERVATIONS
+           [[[environment]]]
+               SITE_ID = 3772
+       [[get_observations_camborne]]
+           inherit = GET_OBSERVATIONS
+           [[[environment]]]
+               SITE_ID = 3808
+       [[get_observations_shetland]]
+           inherit = GET_OBSERVATIONS
+           [[[environment]]]
+               SITE_ID = 3005
+       [[get_observations_aldergrove]]
+           inherit = GET_OBSERVATIONS
+           [[[environment]]]
+               SITE_ID = 3917
+
+
+Graphing
+--------
+
+.. ifnotslides::
+
+   :term:`Families <family>` can be used in the workflow's :term:`graph`, e.g:
+
+.. code-block:: cylc-graph
+
+   GET_OBSERVATIONS:succeed-all => consolidate_observations
+
+.. ifnotslides::
+
+   The ``:succeed-all`` is a special :term:`qualifier` which in this example
+   means that the ``consolidate_observations`` task will run once *all* of the
+   members of the ``GET_OBSERVATIONS`` family have succeeded. This is
+   equivalent to:
+
+.. code-block:: cylc-graph
+
+   get_observations_heathrow => consolidate_observations
+   get_observations_camborne => consolidate_observations
+   get_observations_shetland => consolidate_observations
+   get_observations_aldergrove => consolidate_observations
+
+.. ifnotslides::
+
+   The ``GET_OBSERVATIONS:succeed-all`` part is referred to as a
+   :term:`family trigger`. Family triggers use special qualifiers which are
+   non-optional. The most commonly used ones are:
+
+   ``succeed-all``
+      Run if all of the members of the family have succeeded.
+   ``succeed-any``
+      Run as soon as any one family member has succeeded.
+   ``finish-all``
+      Run as soon as all of the family members have completed (i.e. have each
+      either succeeded or failed).
+
+   For more information on family triggers see the `Cylc User Guide`_.
+
+.. ifslides::
+
+   * ``succeed-all``
+   * ``succeed-any``
+   * ``finish-all``
+
+
+The ``root`` Family
+-------------------
+
+.. ifnotslides::
+
+   There is a special family called ``root`` (in lowercase) which is used only
+   in the runtime to provide configuration which will be inherited by all
+   tasks.
+
+   In the following example the task ``bar`` will inherit the environment
+   variable ``FOO`` from the ``[root]`` section:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[root]]
+           [[[environment]]]
+               FOO = foo
+       [[bar]]
+           script = echo $FOO
+
+
+.. TODO - Replace once the new GUI supports this.
+
+   Families and ``cylc graph``
+   ---------------------------
+
+
+   .. ifnotslides::
+
+      By default, ``cylc graph`` groups together all members of a family
+      in the :term:`graph`. To un-group a family right click on it and select
+      :menuselection:`UnGroup`.
+
+      For instance if the tasks ``bar`` and ``baz`` both
+      inherited from ``BAR`` ``cylc graph`` would produce:
+
+   .. digraph:: Example
+      :align: center
+
+      subgraph cluster_1 {
+         label = "Grouped"
+         "1/foo" [label="foo"]
+         "1/BAR" [label="BAR", shape="doubleoctagon"]
+      }
+
+      subgraph cluster_2 {
+         label = "Un-Grouped"
+         "2/foo" [label="foo"]
+         "2/bar" [label="bar"]
+         "2/baz" [label="baz"]
+      }
+
+      "1/foo" -> "1/BAR"
+      "2/foo" -> "2/bar"
+      "2/foo" -> "2/baz"
+
+
+.. nextslide::
+
+.. ifslides::
+
+   .. rubric:: In this practical we will consolidate the configuration of the
+      :ref:`weather-forecasting workflow <tutorial-cylc-runtime-forecasting-workflow>`
+      from the previous section.
+
+   Next section: :ref:`Jinja2 <tutorial-cylc-jinja2>`
+
+
+.. _cylc-tutorial-families-practical:
+
+.. practical::
+
+   .. rubric:: In this practical we will consolidate the configuration of the
+      :ref:`weather-forecasting workflow <tutorial-cylc-runtime-forecasting-workflow>`
+      from the previous section.
+
+   1. **Create A New Workflow.**
+
+      To make a new copy of the forecasting workflow run the following commands:
+
+      .. code-block:: bash
+
+         cylc get-resources tutorial/consolidation-tutorial
+         cd ~/cylc-src/consolidation-tutorial
+
+   2. **Move Site-Wide Settings Into The** ``root`` **Family.**
+
+      The following two environment variables are used by multiple tasks:
+
+      .. code-block:: none
+
+         RESOLUTION = 0.2
+         DOMAIN = -12,48,5,61  # Do not change!
+
+      Rather than manually adding them to each task individually we could put
+      them in the ``root`` family, making them accessible to all tasks.
+
+      Add a ``root`` section containing these two environment variables.
+      Remove the variables from any other task's ``environment`` sections:
+
+      .. code-block:: diff
+
+          [runtime]
+         +    [[root]]
+         +        [[[environment]]]
+         +            # The dimensions of each grid cell in degrees.
+         +            RESOLUTION = 0.2
+         +            # The area to generate forecasts for (lng1, lat1, lng2, lat2).
+         +            DOMAIN = -12,48,5,61  # Do not change!
+
+      .. code-block:: diff
+
+          [[consolidate_observations]]
+              script = consolidate-observations
+         -    [[[environment]]]
+         -        # The dimensions of each grid cell in degrees.
+         -        RESOLUTION = 0.2
+         -        # The area to generate forecasts for (lng1, lat1, lng2, lat2).
+         -        DOMAIN = -12,48,5,61  # Do not change!
+
+          [[get_rainfall]]
+              script = get-rainfall
+              [[[environment]]]
+                  # The key required to get weather data from the DataPoint service.
+                  # To use archived data comment this line out.
+                  API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+         -        # The dimensions of each grid cell in degrees.
+         -        RESOLUTION = 0.2
+         -        # The area to generate forecasts for (lng1, lat1, lng2, lat2).
+         -        DOMAIN = -12,48,5,61  # Do not change!
+
+          [[forecast]]
+              script = forecast 60 5  # Generate 5 forecasts at 60 minute intervals.
+              [[[environment]]]
+         -        # The dimensions of each grid cell in degrees.
+         -        RESOLUTION = 0.2
+         -        # The area to generate forecasts for (lng1, lat1, lng2, lat2)
+         -        DOMAIN = -12,48,5,61  # Do not change!
+                  # The path to the files containing wind data (the {variables} will
+                  # get substituted in the forecast script).
+                  WIND_FILE_TEMPLATE = $CYLC_WORKFLOW_WORK_DIR/{cycle}/consolidate_observations/wind_{xy}.csv
+                  # List of cycle points to process wind data from.
+                  WIND_CYCLES = 0, -3, -6
+
+                  # The path to the rainfall file.
+                  RAINFALL_FILE = $CYLC_WORKFLOW_WORK_DIR/$CYLC_TASK_CYCLE_POINT/get_rainfall/rainfall.csv
+                  # Create the html map file in the task's log directory.
+                  MAP_FILE = "${CYLC_TASK_LOG_ROOT}-map.html"
+                  # The path to the template file used to generate the html map.
+                  MAP_TEMPLATE = "$CYLC_WORKFLOW_RUN_DIR/lib/template/map.html"
+
+          [[post_process_exeter]]
+              # Generate a forecast for Exeter 60 minutes into the future.
+              script = post-process exeter 60
+         -    [[[environment]]]
+         -        # The dimensions of each grid cell in degrees.
+         -        RESOLUTION = 0.2
+         -        # The area to generate forecasts for (lng1, lat1, lng2, lat2).
+         -        DOMAIN = -12,48,5,61  # Do not change!
+
+      To ensure that the environment variables are being inherited correctly
+      by the tasks, inspect the ``[runtime]`` section using ``cylc config``
+      by running the following command:
+
+      .. code-block:: bash
+
+         cylc config . -i "[runtime]"
+
+      You should see the environment variables from the ``[root]`` section
+      in the ``[environment]`` section for all tasks.
+
+      .. tip::
+
+         You may find it easier to open the output of this command in a text
+         editor, e.g::
+
+            cylc config . -i "[runtime]" | gvim -
diff --git a/nightly_8.3/html/_sources/tutorial/runtime/configuration-consolidation/index.rst.txt b/nightly_8.3/html/_sources/tutorial/runtime/configuration-consolidation/index.rst.txt
new file mode 100644
index 00000000000..30a0287c791
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/runtime/configuration-consolidation/index.rst.txt
@@ -0,0 +1,187 @@
+.. _tutorial-cylc-consolidating-configuration:
+
+Consolidating Configuration
+===========================
+
+.. ifnotslides::
+
+   In the last section we wrote out the following code in the
+   :cylc:conf:`flow.cylc` file:
+
+.. slide:: Weather Forecasting Workflow
+   :level: 2
+   :inline-contents: True
+
+   .. code-block:: cylc
+
+      [runtime]
+          [[get_observations_heathrow]]
+              script = get-observations
+              [[[environment]]]
+                  SITE_ID = 3772
+                  API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+          [[get_observations_camborne]]
+              script = get-observations
+              [[[environment]]]
+                  SITE_ID = 3808
+                  API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+          [[get_observations_shetland]]
+              script = get-observations
+              [[[environment]]]
+                  SITE_ID = 3005
+                  API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+          [[get_observations_aldergrove]]
+              script = get-observations
+              [[[environment]]]
+                  SITE_ID = 3917
+                  API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+
+.. ifnotslides::
+
+   In this code the ``script`` item and the ``API_KEY`` environment variable have
+   been repeated for each task. This is bad practice as it makes the
+   configuration lengthy and harder to maintain.
+
+   Likewise the graph relating to the ``get_observations`` tasks is highly
+   repetitive:
+
+.. ifslides::
+
+   .. slide:: Weather Forecasting Workflow
+      :level: 2
+
+      Repetition
+
+      * ``script``
+      * ``API_KEY``
+
+.. slide:: Weather Forecasting Workflow
+   :level: 2
+   :inline-contents: True
+
+   .. code-block:: cylc
+
+      [scheduling]
+          [[graph]]
+              T00/PT3H = """
+                  get_observations_aldergrove => consolidate_observations
+                  get_observations_camborne => consolidate_observations
+                  get_observations_heathrow => consolidate_observations
+                  get_observations_shetland => consolidate_observations
+              """
+
+.. nextslide::
+
+Cylc offers three ways of consolidating configurations to help improve the
+structure of a workflow and avoid duplication.
+
+.. toctree::
+   :maxdepth: 1
+
+   families
+   jinja2
+   parameters
+
+
+The ``cylc config`` Command
+---------------------------
+
+.. ifnotslides::
+
+   The ``cylc config`` command reads in either the
+   :cylc:conf:`global.cylc` file, or a specific workflow's :cylc:conf:`flow.cylc`
+   file, and it prints the parsed configuration out to the terminal.
+
+   Throughout this section as we introduce methods for consolidating
+   the :cylc:conf:`flow.cylc` file, the ``cylc config`` command can be used to
+   "expand" the file back to its full form.
+
+   .. note::
+
+      A primary use of ``cylc config`` is inspecting the
+      ``[runtime]`` section of a workflow. However, the command does not
+      expand :term:`parameterizations <parameterization>` and
+      :term:`families <family>` in the workflow :term:`graph`. To see the
+      expanded graph use the ``cylc graph`` command.
+
+   Call ``cylc config`` with the path of the workflow (or ``.`` if you are
+   already in the :term:`source directory` or the :term:`run directory`).
+
+.. code-block:: sub
+
+   cylc config <path>
+
+.. ifnotslides::
+
+   To view the configuration of a particular section or setting refer to it by
+   name using the ``-i`` option (see :ref:`Cylc file format` for details), e.g:
+
+.. code-block:: sub
+
+   # Print the contents of the [scheduling] section.
+   cylc config <path> -i '[scheduling]'
+   # Print the contents of the get_observations_heathrow task.
+   cylc config <path> -i '[runtime][get_observations_heathrow]'
+   # Print the value of the script setting in the get_observations_heathrow task
+   cylc config <path> -i '[runtime][get_observations_heathrow]script'
+
+.. nextslide::
+
+.. ifslides::
+
+   Note that ``cylc config`` doesn't expand families or parameterizations
+   in the :term:`graph`. Use ``cylc graph`` to visualise these.
+
+   .. TODO - Raise and issue for this, note cylc config and cylc view.
+
+
+The Three Approaches
+--------------------
+
+.. ifnotslides::
+
+   The next three sections cover the three consolidation approaches and how we
+   could use them to simplify the workflow from the previous tutorial. *Work
+   through them in order!*
+
+* :ref:`families <tutorial-cylc-families>`
+* :ref:`jinja2 <tutorial-cylc-jinja2>`
+* :ref:`parameters <tutorial-cylc-parameterization>`
+
+
+.. _cylc-tutorial-consolidation-conclusion:
+
+Which Approach To Use
+---------------------
+
+.. ifnotslides::
+
+   Each approach has its uses. Cylc permits mixing approaches, allowing us to
+   use what works best for us. As a rule of thumb:
+
+   * :term:`Families <family>` work best consolidating runtime configuration by
+     collecting tasks into broad groups, e.g. groups of tasks which run on a
+     particular machine or groups of tasks belonging to a particular system.
+   * `Jinja2`_ is good at configuring settings which apply to the entire workflow
+     rather than just a single task, as we can define variables then use them
+     throughout the workflow.
+   * :term:`Parameterization <parameterization>` works best for describing tasks
+     which are very similar but which have subtly different configurations
+     (e.g. different arguments or environment variables).
+
+.. ifslides::
+
+   As a rule of thumb each method works best for:
+
+   Families
+      Collecting tasks into broad groups.
+   Jinja2
+      Configuration settings which apply to the entire workflow.
+   Parameterization
+      Tasks which are similar.
+
+.. nextslide::
+
+.. ifslides::
+
+   Next section: :ref:`Rose Tutorial <tutorial-rose-configurations>`
diff --git a/nightly_8.3/html/_sources/tutorial/runtime/configuration-consolidation/jinja2.rst.txt b/nightly_8.3/html/_sources/tutorial/runtime/configuration-consolidation/jinja2.rst.txt
new file mode 100644
index 00000000000..606e2a406fd
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/runtime/configuration-consolidation/jinja2.rst.txt
@@ -0,0 +1,237 @@
+.. _shebang: https://en.wikipedia.org/wiki/Shebang_(Unix)
+
+
+.. _tutorial-cylc-jinja2:
+
+Jinja2
+======
+
+
+`Jinja2`_ is a templating language often used in web design, with some
+similarities to Python. It can be used to make a workflow definition more
+dynamic.
+
+
+The Jinja2 Language
+-------------------
+
+In Jinja2 statements are wrapped with ``{%`` characters, i.e:
+
+.. code-block:: none
+
+   {% ... %}
+
+Variables are initialised with the ``set`` statement, e.g:
+
+.. code-block:: css+jinja
+
+   {% set foo = 3 %}
+
+.. nextslide::
+
+Expressions wrapped with ``{{`` characters will be replaced with
+the evaluated expression, e.g:
+
+.. code-block:: css+jinja
+
+   There are {{ foo }} methods for consolidating the flow.cylc file
+
+Would result in::
+
+   There are 3 methods for consolidating the flow.cylc file
+
+.. nextslide::
+
+Loops are written with ``for`` statements, e.g:
+
+.. code-block:: css+jinja
+
+   {% for x in range(foo) %}
+      {{ x }}
+   {% endfor %}
+
+Would result in:
+
+.. code-block:: none
+
+      0
+      1
+      2
+
+.. nextslide::
+
+To enable Jinja2 in the :cylc:conf:`flow.cylc` file, add the following `shebang`_ to the
+top of the file:
+
+.. code-block:: cylc
+
+   #!Jinja2
+
+For more information see the `Jinja2`_ documentation.
+
+
+Example
+-------
+
+To consolidate the configuration for the ``get_observations`` tasks we could
+define a dictionary of station and ID pairs:
+
+.. code-block:: css+jinja
+
+   {% set stations = {'aldergrove': 3917,
+                      'camborne': 3808,
+                      'heathrow': 3772,
+                      'shetland': 3005} %}
+
+.. nextslide::
+
+We could then loop over the stations like so:
+
+.. code-block:: css+jinja
+
+   {% for station in stations %}
+       {{ station }}
+   {% endfor %}
+
+After processing, this would result in:
+
+.. code-block:: none
+
+       aldergrove
+       camborne
+       heathrow
+       shetland
+
+.. nextslide::
+
+We could also loop over both the stations and corresponding IDs like so:
+
+.. code-block:: css+jinja
+
+   {% for station, id in stations.items() %}
+       {{ station }} - {{ id }}
+   {% endfor %}
+
+This would result in:
+
+.. code-block:: none
+
+       aldergrove - 3917
+       camborne - 3808
+       heathrow - 3772
+       shetland - 3005
+
+.. nextslide::
+
+.. ifnotslides::
+
+   Putting this all together, the ``get_observations`` configuration could be
+   written as follows:
+
+.. code-block:: cylc
+
+   #!Jinja2
+
+   {% set stations = {'aldergrove': 3917,
+                      'camborne': 3808,
+                      'heathrow': 3772,
+                      'shetland': 3005} %}
+
+   [scheduler]
+       allow implicit tasks = True
+
+   [scheduling]
+       [[graph]]
+           T00/PT3H = """
+   {% for station in stations %}
+               get_observations_{{station}} => consolidate_observations
+   {% endfor %}
+           """
+
+.. nextslide::
+
+.. code-block:: cylc
+
+   [runtime]
+   {% for station, id in stations.items() %}
+       [[get_observations_{{station}}]]
+           script = get-observations
+           [[[environment]]]
+               SITE_ID = {{ id }}
+               API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+
+   {% endfor %}
+
+.. nextslide::
+
+.. ifslides::
+
+   .. rubric:: This practical continues on from the
+      :ref:`families practical <cylc-tutorial-families-practical>`.
+
+   Next section: :ref:`tutorial-cylc-parameterization`
+
+
+.. _cylc-tutorial-jinja2-practical:
+
+.. practical::
+
+   .. rubric:: This practical continues on from the
+      :ref:`families practical <cylc-tutorial-families-practical>`.
+
+   3. **Use Jinja2 To Avoid Duplication.**
+
+      The ``API_KEY`` environment variable is used by both the
+      ``get_observations`` and ``get_rainfall`` tasks. Rather than writing it
+      out multiple times we will use Jinja2 to centralise this configuration.
+
+      At the top of the :cylc:conf:`flow.cylc` file add the Jinja2 shebang line. Then
+      copy the value of the ``API_KEY`` environment variable and use it to
+      define an ``API_KEY`` Jinja2 variable:
+
+      .. code-block:: cylc
+
+         #!Jinja2
+
+         {% set API_KEY = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' %}
+
+      Next replace the key, where it appears in the workflow, with
+      ``{{ API_KEY }}``:
+
+      .. code-block:: diff
+
+          [runtime]
+              [[get_observations_heathrow]]
+                  script = get-observations
+                  [[[environment]]]
+                      SITE_ID = 3772
+         -            API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+         +            API_KEY = {{ API_KEY }}
+              [[get_observations_camborne]]
+                  script = get-observations
+                  [[[environment]]]
+                      SITE_ID = 3808
+         -            API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+         +            API_KEY = {{ API_KEY }}
+              [[get_observations_shetland]]
+                  script = get-observations
+                  [[[environment]]]
+                     SITE_ID = 3005
+         -            API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+         +            API_KEY = {{ API_KEY }}
+              [[get_observations_aldergrove]]
+                  script = get-observations
+                  [[[environment]]]
+                      SITE_ID = 3917
+         -            API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+         +            API_KEY = {{ API_KEY }}
+             [[get_rainfall]]
+                 script = get-rainfall
+                 [[[environment]]]
+                     # The key required to get weather data from the DataPoint service.
+                     # To use archived data comment this line out.
+         -            API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+         +            API_KEY = {{ API_KEY }}
+
+      Check the result with ``cylc config``. The Jinja2 will be processed
+      so you should not see any difference after making these changes.
diff --git a/nightly_8.3/html/_sources/tutorial/runtime/configuration-consolidation/parameters.rst.txt b/nightly_8.3/html/_sources/tutorial/runtime/configuration-consolidation/parameters.rst.txt
new file mode 100644
index 00000000000..09780b0bddc
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/runtime/configuration-consolidation/parameters.rst.txt
@@ -0,0 +1,344 @@
+.. _tutorial-cylc-parameterization:
+
+
+Parameterized Tasks
+===================
+
+
+Parameterized tasks (see :term:`parameterization`) provide a way of implicitly
+looping over tasks without the need for Jinja2.
+
+
+Cylc Parameters
+---------------
+
+.. ifnotslides::
+
+   Parameters are defined in their own section, e.g:
+
+.. code-block:: cylc
+
+   [task parameters]
+       world = Mercury, Venus, Earth
+
+
+.. ifnotslides::
+
+   They can then be referenced by writing the name of the parameter in angle
+   brackets, e.g:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = start => hello<world> => end
+   [runtime]
+       [[hello<world>]]
+           script = echo 'Hello World!'
+
+.. nextslide::
+
+.. ifnotslides::
+
+   When the :cylc:conf:`flow.cylc` file is read by Cylc, the parameters will be expanded.
+   For example the code above is equivalent to:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = """
+               start => hello_Mercury => end
+               start => hello_Venus => end
+               start => hello_Earth => end
+           """
+   [runtime]
+       [[hello_Mercury]]
+           script = echo 'Hello World!'
+       [[hello_Venus]]
+           script = echo 'Hello World!'
+       [[hello_Earth]]
+           script = echo 'Hello World!'
+
+.. nextslide::
+
+.. ifnotslides::
+
+   We can refer to a specific parameter by writing it after an ``=`` sign:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[hello<world=Earth>]]
+           script = echo 'Greetings Earth!'
+
+
+Environment Variables
+---------------------
+
+.. ifnotslides::
+
+   The name of the parameter is provided to the job as an environment variable
+   called ``CYLC_TASK_PARAM_<parameter>`` where ``<parameter>`` is the name of
+   the parameter (in the present case ``world``):
+
+.. code-block:: cylc
+
+   [runtime]
+       [[hello<world>]]
+           script = echo "Hello ${CYLC_TASK_PARAM_world}!"
+
+
+Parameter Types
+---------------
+
+Parameters can be either strings or integers:
+
+.. code-block:: cylc
+
+   [task parameters]
+       foo = 1..5
+       bar = 1..5..2
+       baz = pub, qux, bol
+
+.. nextslide::
+
+.. hint::
+
+   Remember that by default Cylc automatically inserts an underscore between the task and
+   the parameter, e.g. the following lines are equivalent:
+
+   .. code-block:: cylc-graph
+
+      task<baz=pub>
+      task_pub
+
+.. nextslide::
+
+.. hint::
+
+   .. ifnotslides::
+
+      When using integer parameters, to prevent confusion, Cylc prefixes the
+      parameter value with the parameter name. For example:
+
+   .. ifslides::
+
+      Cylc prefixes integer parameters with the parameter name:
+
+   .. code-block:: cylc
+
+      [scheduling]
+          [[graph]]
+              R1 = """
+                  # task<bar> would result in:
+                  task_bar1
+                  task_bar3
+                  task_bar5
+
+                  # task<baz> would result in:
+                  task_pub
+                  task_qux
+                  task_bol
+              """
+
+.. nextslide::
+
+.. ifnotslides::
+
+   Using parameters the ``get_observations`` configuration could be written like
+   so:
+
+.. code-block:: cylc
+
+   [scheduling]
+      [[graph]]
+          T00/PT3H = """
+              get_observations<station> => consolidate_observations
+          """
+   [runtime]
+       [[get_observations<station>]]
+           script = get-observations
+           [[[environment]]]
+               API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+
+       [[get_observations<station=aldergrove>]]
+           [[[environment]]]
+               SITE_ID = 3917
+       [[get_observations<station=camborne>]]
+           [[[environment]]]
+               SITE_ID = 3808
+       [[get_observations<station=heathrow>]]
+           [[[environment]]]
+               SITE_ID = 3772
+       [[get_observations<station=shetland>]]
+           [[[environment]]]
+               SITE_ID = 3005
+
+.. nextslide::
+
+.. ifnotslides::
+
+   For more information see the `Cylc User Guide`_.
+
+.. ifslides::
+
+   .. rubric:: This practical continues on from the
+      :ref:`Jinja2 practical <cylc-tutorial-jinja2-practical>`.
+
+   Next section: :ref:`Which approach to use
+   <cylc-tutorial-consolidation-conclusion>`
+
+
+.. _cylc-tutorial-parameters-practical:
+
+.. practical::
+
+   .. rubric:: This practical continues on from the
+      :ref:`Jinja2 practical <cylc-tutorial-jinja2-practical>`.
+
+   4. **Use Parameterization To Consolidate The** ``get_observations``
+      **Tasks**.
+
+      Next we will parameterize the ``get_observations`` tasks.
+
+      Add a parameter called ``station``:
+
+      .. code-block:: diff
+
+         +[task parameters]
+         +    station = aldergrove, camborne, heathrow, shetland
+
+          [scheduler]
+              UTC mode = True
+
+      Remove the four ``get_observations`` tasks and insert the following code
+      in their place:
+
+      .. code-block:: cylc
+
+         [[get_observations<station>]]
+             script = get-observations
+             [[[environment]]]
+                 API_KEY = {{ API_KEY }}
+
+      Using ``cylc config`` you should see that Cylc replaces the
+      ``<station>`` with each of the stations in turn, creating a new task for
+      each:
+
+      .. code-block:: bash
+
+         cylc config . -i "[runtime]"
+
+      The ``get_observations`` tasks are now missing the ``SITE_ID``
+      environment variable. Add a new section for each station with a
+      ``SITE_ID``:
+
+      .. code-block:: cylc
+
+         [[get_observations<station=heathrow>]]
+             [[[environment]]]
+                 SITE_ID = 3772
+
+      .. hint::
+
+         The relevant IDs are:
+
+         * Aldergrove - ``3917``
+         * Camborne - ``3808``
+         * Heathrow - ``3772``
+         * Shetland - ``3005``
+
+      .. spoiler:: Solution warning
+
+         .. code-block:: cylc
+
+            [[get_observations<station=aldergrove>]]
+                [[[environment]]]
+                    SITE_ID = 3917
+            [[get_observations<station=camborne>]]
+                [[[environment]]]
+                    SITE_ID = 3808
+            [[get_observations<station=heathrow>]]
+                [[[environment]]]
+                    SITE_ID = 3772
+            [[get_observations<station=shetland>]]
+                [[[environment]]]
+                    SITE_ID = 3005
+
+      Using ``cylc config`` you should now see four ``get_observations``
+      tasks, each with a ``script``, an ``API_KEY`` and a ``SITE_ID``:
+
+      .. code-block:: bash
+
+         cylc config . -i "[runtime]"
+
+      Finally we can use this parameterization to simplify the workflow's
+      graphing. Replace the ``get_observations`` lines in the graph with
+      ``get_observations<station>``:
+
+      .. code-block:: diff
+
+          # Repeat every three hours starting at the initial cycle point.
+          PT3H = """
+         -    get_observations_aldergrove => consolidate_observations
+         -    get_observations_camborne => consolidate_observations
+         -    get_observations_heathrow => consolidate_observations
+         -    get_observations_shetland => consolidate_observations
+         +    get_observations<station> => consolidate_observations
+          """
+
+      .. hint::
+
+         The ``cylc config`` command does not expand parameters or families
+         in the graph so you must use ``cylc graph`` to inspect changes to the
+         graphing.
+
+   #. **Use Parameterization To Consolidate The** ``post_process`` **Tasks**.
+
+      At the moment we only have one ``post_process`` task
+      (``post_process_exeter``), but suppose we wanted to add a second task for
+      Edinburgh.
+
+      Create a new parameter called ``site`` and set it to contain ``exeter``
+      and ``edinburgh``. Parameterize the ``post_process`` task using this
+      parameter.
+
+      .. hint::
+
+         The first argument to the ``post-process`` task is the name of the
+         site. We can use the ``CYLC_TASK_PARAM_site`` environment variable to
+         avoid having to write out this section twice.
+
+         .. TODO - use parameter environment templates instead of
+            CYLC_TASK_PARAM.
+
+      .. spoiler:: Solution warning
+
+         First we must create the ``site`` parameter:
+
+         .. code-block:: diff
+
+             [scheduler]
+                 UTC mode = True
+             [task parameters]
+                 station = aldergrove, camborne, heathrow, shetland
+            +        site = exeter, edinburgh
+
+         Next we parameterize the task in the graph:
+
+         .. code-block:: diff
+
+
+            -get_rainfall => forecast => post_process_exeter
+            +get_rainfall => forecast => post_process<site>
+
+         And also the runtime:
+
+         .. code-block:: diff
+
+            -[[post_process_exeter]]
+            +[[post_process<site>]]
+                 # Generate a forecast for Exeter 60 minutes in the future.
+            -    script = post-process exeter 60
+            +    script = post-process $CYLC_TASK_PARAM_site 60
diff --git a/nightly_8.3/html/_sources/tutorial/runtime/index.rst.txt b/nightly_8.3/html/_sources/tutorial/runtime/index.rst.txt
new file mode 100644
index 00000000000..ed68447ac9f
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/runtime/index.rst.txt
@@ -0,0 +1,19 @@
+.. _tutorial-runtime:
+
+Runtime
+=======
+
+This section covers:
+
+* Associating workflow tasks with executable applications (scripts and
+  programs).
+* Providing executables with runtime configurations, within the workflow.
+* Running Cylc workflows.
+
+.. toctree::
+   :name: rug-runtime-toc
+   :maxdepth: 2
+
+   introduction
+   runtime-configuration
+   configuration-consolidation/index
diff --git a/nightly_8.3/html/_sources/tutorial/runtime/introduction.rst.txt b/nightly_8.3/html/_sources/tutorial/runtime/introduction.rst.txt
new file mode 100644
index 00000000000..8a8e11fae6d
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/runtime/introduction.rst.txt
@@ -0,0 +1,597 @@
+.. _tutorial-cylc-runtime-introduction:
+
+Introduction
+============
+
+.. ifnotslides::
+
+   So far we have worked with the ``[scheduling]`` section of the ``flow.cylc``
+   file, where workflow :term:`tasks <task>` and :term:`dependencies
+   <dependency>` are defined.
+
+   Now, in the ``[runtime]`` section, we need to associate each task with a
+   script or application to run when its dependencies are met.
+
+.. ifslides::
+
+   ``[scheduling]``
+      Defines the workflow in terms of :term:`tasks <task>` and
+      :term:`dependencies <dependency>`.
+   ``[runtime]``
+      Determines what runs, where, and how it runs, for each task.
+
+Task Definitions
+----------------
+
+.. ifnotslides::
+
+   The runtime settings for each task are stored in a sub-section of the
+   ``[runtime]`` section. E.g. for a task called ``hello_world`` we would write
+   settings inside the following section:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[hello_world]]
+
+.. note::
+
+   A runtime sub-section for each task is normally required, even if it is
+   empty. However, in the previous tutorials we disabled this requirement
+   with :cylc:conf:`flow.cylc[scheduler]allow implicit tasks`.
+   See :ref:`ImplicitTasks` for more details.
+
+
+The ``script`` Setting
+----------------------
+
+.. ifnotslides::
+
+   The task ``script`` setting tells Cylc *what* to execute when a task is
+   ready to run.
+
+   This value of this setting is interpreted as a bash script. The following
+   example defines a task called ``hello_world`` which simply writes ``Hello
+   World!`` to standard output.
+
+.. code-block:: cylc
+
+   [runtime]
+       [[hello_world]]
+           script = echo 'Hello World!'
+
+.. note::
+
+   A task with no ``script`` defined will run a job that does nothing but
+   communicate its status back to the scheduler before exiting immediately.
+
+
+We can also call other scripts or executables in this way, e.g:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[hello_world]]
+           script = ~/foo/bar/baz/hello_world
+
+
+``PATH`` and :envvar:`PYTHONPATH`
+---------------------------------
+
+.. ifnotslides::
+
+   Keeping task scripts with the workflow, rather than leaving them elsewhere on
+   the system, helps isolate the workflow from external changes.
+
+   To help with this, Cylc automatically adds a ``bin/`` sub-directory of the
+   workflow :term:`source directory` to the executable search path (``$PATH``)
+   in task environments.
+
+.. code-block:: bash
+   :caption: bin/hello_world
+
+   #!/bin/bash
+   echo 'Hello World!'
+
+.. code-block:: cylc
+   :caption: flow.cylc
+
+   [runtime]
+       [[hello_world]]
+           script = hello_world
+
+.. nextslide::
+
+.. ifnotslides::
+
+   Similarly the ``lib/python/`` directory gets prepended to the
+   :envvar:`PYTHONPATH` variable.
+
+.. code-block:: python
+   :caption: lib/python/hello.py
+
+   def world():
+      print('Hello World!')
+
+.. code-block:: cylc
+   :caption: flow.cylc
+
+   [runtime]
+      [[hello_world]]
+         script = python -c 'import hello; hello.world()'
+
+
+.. _tutorial-tasks-and-jobs:
+
+Tasks And Jobs
+--------------
+
+.. ifnotslides::
+
+   When a :term:`task` is ready to run Cylc creates a :term:`job script` for
+   it: a bash file containing the scripting defined for the task along with
+   other configuration and error trapping code. This is what actually executes
+   as the job.
+
+   :term:`Tasks<task>` typically go through the following states as a workflow
+   runs:
+
+   Waiting
+      Waiting for dependencies to be met.
+   Preparing
+      Dependencies met; preparing the task :term:`job script` for submission.
+   Submitted
+      Job script submitted to the :term:`job runner`; waiting on execution.
+   Running
+      Job script executing.
+   Succeeded
+      Job completed successfully (i.e. exited with 0 return status).
+
+   There are several other task states as well, such as **failed**.
+
+   See the :ref:`next section for more about running jobs <tutorial-job-runner>`.
+
+
+.. ifslides::
+
+   When a :term:`task` is ready to run, Cylc creates a :term:`job`.
+
+   The life-cycle of a task:
+
+   * Waiting
+   * Preparing
+   * Submitted
+   * Running
+   * Succeeded / Failed
+
+The Cylc User Interfaces
+------------------------
+
+.. ifnotslides::
+
+   To help you to keep monitor and control running workflows Cylc has
+
+   - A graphical user interface (Cylc GUI).
+   - A terminal-based user interface (Cylc TUI).
+   - A comprehensive command line interface (Cylc CLI).
+
+
+.. _tutorial.cli:
+
+The Cylc CLI
+^^^^^^^^^^^^
+
+.. ifnotslides::
+
+   You can start, stop, query, and control workflow, in every possible way,
+   from the command line.
+
+   All Cylc commands have built-in help information:
+
+.. code-block:: bash
+
+   cylc help
+   cylc play --help  # etc.
+
+
+.. _tutorial.tui:
+
+The Cylc TUI
+^^^^^^^^^^^^
+
+.. ifnotslides::
+
+   The Cylc TUI (Terminal User Interface) enables you to view and interact
+   with your workflows.
+
+   To start the Cylc TUI:
+
+.. code-block:: bash
+
+   cylc tui <workflow_id>
+
+.. _tutorial.gui:
+
+The Cylc GUI
+^^^^^^^^^^^^
+
+.. ifnotslides::
+
+   The Cylc GUI has different views you can use to examine your workflows,
+   including a Cylc scan menu allowing you to switch between workflows.
+
+   .. note::
+
+      You only need to have one instance of the Cylc GUI open - you can
+      easily switch between workflows.
+
+   To start the Cylc UI, open a new terminal window or tab, then type:
+
+.. code-block:: bash
+
+   cylc gui
+
+.. nextslide::
+
+Task & Job States
+^^^^^^^^^^^^^^^^^
+
+.. ifnotslides::
+
+   - Task states have grey icons.
+   - Job states have colour coded squares.
+
+.. csv-table::
+   :header: Task Icon, Job Icon, Description
+   :align: left
+   :widths: 25, 25, 50
+
+   |task-waiting|, , Task waiting
+   |task-submitted|, |job-submitted|, Job submitted
+   |task-running|, |job-running|, Job running
+   |task-succeeded|, |job-succeeded|, Job ran successfully
+   |task-failed|, |job-failed|, Job failed
+
+.. ifnotslides::
+
+   .. seealso::
+
+      Full list of :ref:`task-job-states`.
+
+.. nextslide::
+
+.. ifnotslides::
+
+   This is the "tree" view:
+
+.. figure:: ../img/cylc-gui-tree-view.png
+   :figwidth: 75%
+   :align: center
+
+   Screenshot of the Cylc GUI in "Tree" view mode.
+
+.. nextslide::
+
+This is the "table" view:
+
+.. figure:: ../img/cylc-gui-table-view.png
+   :figwidth: 75%
+   :align: center
+
+   Screenshot of the Cylc GUI in "Table" view mode.
+
+.. nextslide::
+
+.. ifnotslides::
+
+   You can navigate between workflows using the list on the left (the
+   screenshot shows only one, however).
+
+
+.. figure:: ../img/cylc-gui-scan-view.png
+   :figwidth: 75%
+   :align: center
+
+   Screenshot of the Cylc GUI "Scan" bar.
+
+
+
+Validating A Workflow
+---------------------
+
+.. ifnotslides::
+
+   We recommend using ``cylc validate`` to check a workflow definition for
+   errors before running it.
+
+.. code-block:: console
+
+   $ cylc validate ~/cylc-src/my_workflow
+
+
+Installing A Workflow
+---------------------
+
+.. ifnotslides::
+
+   .. seealso::
+
+      :ref:`The full guide to Cylc install <Installing-workflows>`.
+
+   To separate the development and running of workflows, use the
+   :term:`cylc install <install>` command.
+
+.. code-block:: bash
+
+   cylc install my_workflow
+
+.. ifnotslides::
+
+   This will install ``~/cylc-src/my_workflow`` to ``~/cylc-run/my_workflow/runN``.
+
+
+Running a workflow
+------------------
+
+.. ifnotslides::
+
+   Now we have installed the workflow we can run it
+   using the ``cylc play`` command:
+
+.. code-block:: console
+
+   $ cylc play my_workflow
+
+.. ifnotslides::
+
+
+Generated Workflow Files
+------------------------
+
+Numbered run directories
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. ifnotslides::
+
+   .. seealso::
+
+      :ref:`Installing-workflows` for a fuller description of Cylc install,
+      including the option of naming rather than numbering runs.
+
+   By default ``cylc install`` will create a new numbered run directory each
+   time you run it:
+
+.. code-block:: console
+
+   $ cylc install my_workflow
+   INSTALLED my_workflow/run1 from ...
+   $ cylc install my_workflow
+   INSTALLED my_workflow/run2 from ...
+
+   # The most recent ``runX`` directory is symlinked to ``runN``
+   $ ls -l ~/cylc-run/my_workflow/runN
+   ~/cylc-run/baz/runN -> run2
+
+.. nextslide::
+
+.. ifnotslides::
+
+   You can run cylc commands using a specific run number, but if you don't,
+   ``runN`` will be used:
+
+.. code-block:: console
+
+   $ cylc play my_workflow
+   # is the same as
+   $ cylc play my_workflow/runN
+   # and the same as (in this case)
+   $ cylc play my_workflow/run2
+
+
+Files Generated at Runtime
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. ifnotslides::
+
+   Cylc generates files and directories when it runs a workflow, namely:
+
+   ``log``
+      ``db``
+         The database which Cylc uses to record the state of the workflow;
+      ``job``
+         The directory where all :term:`job log files <job log>` live,
+         primarily the job script itself (``job``) and the job output logs
+         (``job.out`` and ``job.err``);
+      ``scheduler``
+         The directory where :term:`scheduler log files <scheduler log>` live.
+         These are written as the workflow runs and are useful when troubleshooting.
+      ``config/flow.cylc.processed``
+         A copy of the :cylc:conf:`flow.cylc` file made after any `Jinja2`_ has been
+         processed - we will cover this in the
+         :ref:`tutorial-cylc-consolidating-configuration` section.
+      ``remote-install``
+         Information related to :ref:`RemoteInit` file installation can be found
+         here. A separate file is created per install target.
+
+   ``share/``
+      The :term:`share directory` is where :term:`tasks <task>` can
+      read or write files shared with other tasks.
+   ``work/``
+      Contains task :term:`work directories <work directory>`, i.e. the
+      *current working directories* of running tasks. These are
+      removed automatically if empty when a task finishes.
+
+    The job log directory path ends in ``<cycle-point>/<task-name>/<job-submission-num>/``,
+    where the :term:`job submission number` starts at 1 and increments each time a
+    task re-runs.
+
+    You can use the command line to view scheduler or job logs without
+    having to find them yourself on the filesystem:
+
+    .. code-block:: bash
+
+       cylc cat-log <workflow-name>
+       cylc cat-log <workflow-name>//<cycle-point>/<task-name>
+
+
+.. ifslides::
+
+   * ``log/``
+      * ``db``
+      * ``job``
+      * ``scheduler``
+      * ``config/flow.cylc.processed``
+   * ``share/``
+   * ``work/``
+
+   .. nextslide::
+
+   .. rubric:: In this practical we will add some scripts to, and run, the
+      :ref:`weather forecasting workflow <tutorial-datetime-cycling-practical>`
+      from the :ref:`scheduling tutorial <tutorial-scheduling>`.
+
+   Next section: :ref:`tutorial-cylc-runtime-configuration`
+
+.. ifnotslides::
+
+   .. note::
+      If you used pip to install Cylc, you will need to run
+
+      .. code-block:: bash
+
+         pip install 'cylc-flow[tutorial]'
+
+      to install extra dependencies needed for running the following
+      tutorial workflows.
+
+.. practical::
+
+   .. rubric:: In this practical we will add some scripts to, and run, the
+      :ref:`weather forecasting workflow <tutorial-datetime-cycling-practical>`
+      from the :ref:`scheduling tutorial <tutorial-scheduling>`.
+
+   #. **Create A New Workflow.**
+
+      The following command will copy some workflow files into
+      a new source directory called ``runtime-introduction``:
+
+      .. code-block:: bash
+
+         cylc get-resources tutorial/runtime-introduction
+         cd ~/cylc-src/runtime-introduction
+
+      This includes the :cylc:conf:`flow.cylc` file from the
+      :ref:`weather forecasting workflow <tutorial-datetime-cycling-practical>`
+      with some runtime configuration added to it.
+
+      There is also a script called ``get-observations`` located in the bin
+      directory.
+
+      Take a look at the ``[runtime]`` section in the :cylc:conf:`flow.cylc` file.
+
+   #. **Run The Workflow.**
+
+      First validate the workflow by running:
+
+      .. code-block:: bash
+
+         cylc validate .
+
+      Then install the workflow:
+
+      .. code-block:: bash
+
+         cylc install
+
+      Open a user interface (:ref:`tutorial.tui` or :ref:`tutorial.gui`) to view
+      your workflow.
+
+      Finally run the workflow by executing:
+
+      .. code-block:: bash
+
+         cylc play runtime-introduction
+
+      The tasks will start to run - you should see them going through the
+      *waiting*, *running* and *succeeded* states. The *preparing* and
+      *submitted* states may be too quick to notice.
+
+      When the workflow reaches the final cycle point and all tasks have succeeded
+      the scheduler will shutdown automatically.
+
+      .. tip::
+
+         You can run a workflow from the Cylc GUI by pressing the "play"
+         button at the top.
+
+   #. **Inspect A Job Log.**
+
+      Try opening the ``job.out`` log for one of the
+      ``get_observations`` tasks in a text editor. The file will be
+      in the :term:`job log directory`:
+
+      .. code-block:: sub
+
+         cd ~/cylc-run/runtime-introduction/runN
+         cat log/job/<cycle-point>/get_observations_heathrow/01/job.out
+
+      You should see something like this:
+
+      .. code-block:: none
+
+         Workflow    : runtime-introduction
+         Job : 20000101T0000Z/get_observations_heathrow/01 (try 1)
+         User@Host: username@hostname
+
+         Guessing Weather Conditions
+         Writing Out Wind Data
+
+         1970-01-01T00:00:00Z NORMAL - started
+         2038-01-19T03:14:08Z NORMAL - succeeded
+
+      * The first three lines are identifying information written by Cylc.
+      * *The lines in the middle are the job stdout.*
+      * The last two lines are written by Cylc, to record job start and finish
+        times. The started message would be above the job stdout for a
+        longer-running job.
+
+   #. **Inspect A Work Directory.**
+
+      The ``get_rainfall`` task should create a file called ``rainfall`` in its
+      :term:`work directory`. Try opening this file, recalling that the
+      format of the relevant path from within the work directory will be:
+
+      .. code-block:: sub
+
+         work/<cycle-point>/get_rainfall/rainfall
+
+      .. hint::
+
+         The ``get_rainfall`` task only runs every third cycle.
+
+   #. **Extension: Explore The Cylc GUI**
+
+      * Try re-installing the workflow and running it from the GUI.
+
+      * Try adding a new view(s).
+
+        .. tip::
+
+           You can do this from the "Add View" button (top-right):
+
+           .. image:: ../img/cylc-gui-views-button.png
+              :align: center
+              :scale: 75%
+
+      * Try pressing the "Pause" button which is found in the top left-hand
+        corner of the GUI.
+
+      * Try clicking on a task state icon. From the menu you could try:
+
+        * "Trigger"
+        * "Hold"
+        * "Release"
+
+   .. seealso::
+
+      See guide to :ref:`task-job-states` for a guide to the icons.
diff --git a/nightly_8.3/html/_sources/tutorial/runtime/runtime-configuration.rst.txt b/nightly_8.3/html/_sources/tutorial/runtime/runtime-configuration.rst.txt
new file mode 100644
index 00000000000..3fdc5b300c4
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/runtime/runtime-configuration.rst.txt
@@ -0,0 +1,510 @@
+.. _tutorial-cylc-runtime-configuration:
+
+Runtime Configuration
+=====================
+
+In the last section we associated tasks with scripts and ran a simple workflow. In
+this section we will look at how to configure these tasks.
+
+
+Environment Variables
+---------------------
+
+.. ifnotslides::
+
+   We can define environment variables in task ``[environment]`` sections,
+   to be provided to task :term:`jobs <job>` at runtime.
+
+.. code-block:: cylc
+
+   [runtime]
+       [[countdown]]
+           script = seq $START_NUMBER
+           [[[environment]]]
+               START_NUMBER = 5
+
+.. ifnotslides::
+
+   Each job is also provided with some standard environment variables e.g:
+
+   ``CYLC_WORKFLOW_RUN_DIR``
+       The path to the :term:`run directory`
+       *(e.g. ~/cylc-run/workflow)*.
+   ``CYLC_TASK_WORK_DIR``
+       The path to the associated task's :term:`work directory`
+       *(e.g. run-directory/work/cycle/task)*.
+   ``CYLC_TASK_CYCLE_POINT``
+       The :term:`cycle point` for the associated task
+       *(e.g. 20171009T0950)*.
+
+   .. seealso::
+
+      There are many more environment variables - see
+      :ref:`Task Job Script Variables` for more information.
+
+.. ifslides::
+
+   * ``CYLC_WORKFLOW_RUN_DIR``
+   * ``CYLC_TASK_WORK_DIR``
+   * ``CYLC_TASK_CYCLE_POINT``
+
+
+.. _tutorial-job-runner:
+
+Job Submission
+--------------
+
+.. ifnotslides::
+
+   By default Cylc runs :term:`jobs <job>` on the same machine as
+   the scheduler. It can run them on other machines too if we set the
+   :term:`platform` like this:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[hello_computehost]]
+           script = echo "Hello Compute Host"
+           platform = powerful_computer
+
+.. _background processes: https://en.wikipedia.org/wiki/Background_process
+.. _job scheduler: https://en.wikipedia.org/wiki/Job_scheduler
+
+.. nextslide::
+
+.. ifnotslides::
+
+   By default Cylc also executes jobs as `background processes`_.
+   We often want to submit jobs to a :term:`job runner` instead,
+   particularly on shared compute resources. Cylc supports the following
+   job runners:
+
+* at
+* loadleveler
+* lsf
+* pbs
+* sge
+* slurm
+* moab
+
+.. nextslide::
+
+.. ifnotslides::
+
+   :term:`Job runners <job runner>` typically require
+   :term:`directives <directive>` in some form, to specify
+   job requirements such as memory use and number of CPUs to run on. For
+   example:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[big_task]]
+           script = big-executable
+
+           # Submit to the host "big-computer".
+           platform = slurm_platform
+
+           # job requires 500MB of RAM & 4 CPUs
+           [[[directives]]]
+               --mem = 500
+               --ntasks = 4
+
+
+Time Limits
+-----------
+
+.. ifnotslides::
+
+   We can specify an execution time limit, as an :term:`ISO8601 duration`, after
+   which a job will be terminated. Cylc automatically translates this to
+   the correct :term:`job runner` directives.
+
+.. code-block:: cylc
+
+   [runtime]
+       [[some_task]]
+           script = some-executable
+           execution time limit = PT15M  # 15 minutes.
+
+
+Retries
+-------
+
+Jobs can fail for several reasons:
+
+.. nextslide::
+
+* Something went wrong with job submission, e.g:
+
+  * A network problem;
+  * The :term:`job host` became unavailable or overloaded;
+  * The job runner rejected your job directives.
+
+.. nextslide::
+
+* Something went wrong with job execution, e.g:
+
+  * A bug;
+  * A system error;
+  * The job hitting the ``execution time limit``.
+
+
+.. nextslide::
+
+.. ifnotslides::
+
+   We can configure Cylc to automatically retry tasks that fail,
+   by setting ``submission retry delays`` and/or ``execution retry delays``
+   to a list of :term:`ISO8601 durations <ISO8601 duration>`.
+   For example, setting ``execution retry delays = PT10M``
+   will cause the job to retry every 10 minutes on execution failure.
+
+   Use a multiplier to limit the number of retries:
+
+.. code-block:: cylc
+
+   [runtime]
+      [[some-task]]
+         script = some-script
+
+         # On execution failure
+         #   retry up to 3 times every 15 minutes.
+         execution retry delays = 3*PT15M
+         # On submission failure
+         #   retry up to 2 times every 10 min,
+         #   then every 30 mins thereafter.
+         submission retry delays = 2*PT10M, PT30M
+
+.. note::
+
+   Tasks only enter the ``submit-failed`` state if job submission fails with no
+   retries left. Otherwise they return to the waiting state, to wait on the
+   next try.
+
+   Tasks only enter the ``failed`` state if job execution fails with no retries
+   left. Otherwise they return to the waiting state, to wait on the next try.
+
+
+
+.. _tutorial.start_stop_restart:
+
+Start, Stop, Restart
+--------------------
+
+.. ifnotslides::
+
+   We have seen how to start and stop Cylc workflows with ``cylc play`` and
+   ``cylc stop``. By default ``cylc stop`` causes the scheduler to wait
+   for running jobs to finish before it shuts down. There are several
+   other stop options, however. For example:
+
+   ``cylc stop --kill``
+      Kill all running jobs before stopping. (Cylc can kill jobs on remote
+      hosts, via the configured :term:`job runner`).
+   ``cylc stop --now --now``
+      stop right now, leaving any jobs running.
+
+   Once a workflow has stopped you can restart it with ``cylc play``.
+   The scheduler will pick up where it left off, and carry on as normal.
+
+   .. code-block:: bash
+
+      # Run the workflow "name".
+      cylc play <id>
+      # Stop the workflow "name", killing any running tasks.
+      cylc stop <id> --kill
+      # Restart the workflow "name", picking up where it left off.
+      cylc play <id>
+
+.. ifslides::
+
+   .. code-block:: sub
+
+      cylc play <id>
+      cylc stop <id>
+      cylc play <id>
+
+      cylc stop <id> --kill
+      cylc stop <id> --now --now
+
+   .. nextslide::
+
+   .. rubric:: In this practical we will add runtime configuration to the
+      :ref:`weather-forecasting workflow <tutorial-datetime-cycling-practical>`
+      from the :ref:`scheduling tutorial <tutorial-scheduling>`.
+
+   Next section: :ref:`tutorial-cylc-consolidating-configuration`
+
+
+.. _tutorial-cylc-runtime-forecasting-workflow:
+
+.. practical::
+
+   .. TODO - is this Met Office specific?
+
+   .. rubric:: In this practical we will add runtime configuration to the
+      :ref:`weather-forecasting workflow <tutorial-datetime-cycling-practical>`
+      from the :ref:`scheduling tutorial <tutorial-scheduling>`.
+
+   #. **Create A New Workflow.**
+
+      Create a new workflow by running the command:
+
+      .. code-block:: bash
+
+         cylc get-resources tutorial/runtime-tutorial
+         cd ~/cylc-src/runtime-tutorial
+
+      You will now have a copy of the weather-forecasting workflow along with some
+      executables and python modules.
+
+   #. **Set The Initial And Final Cycle Points.**
+
+      We want the workflow to run for 6 hours, starting at least 7 hours ago, on
+      the hour.
+
+      We could work out the dates and times manually, or we could let Cylc do
+      the maths for us.
+
+      Set the :term:`initial cycle point`:
+
+      .. code-block:: cylc
+
+         initial cycle point = previous(T-00) - PT7H
+
+      * ``previous(T-00)`` returns the current time ignoring minutes and
+        seconds.
+
+        *e.g. if the current time is 12:34 this will return 12:00*
+
+      * ``-PT7H`` subtracts 7 hours from this value.
+
+      Set the :term:`final cycle point`:
+
+      .. code-block:: cylc
+
+         final cycle point = +PT6H
+
+      This sets the :term:`final cycle point` six hours after the
+      :term:`initial cycle point`.
+
+      Run ``cylc validate`` to check for any errors::
+
+         cylc validate .
+
+   #. **Add Runtime Configuration For The** ``get_observations`` **Tasks.**
+
+      In the ``bin`` directory is a script called ``get-observations``. This
+      script gets weather data from the MetOffice `DataPoint`_ service.
+      It requires two environment variables:
+
+      ``SITE_ID``:
+          A four digit numerical code which is used to identify a
+          weather station, e.g. ``3772`` is Heathrow Airport.
+      ``API_KEY``:
+          An authentication key required for access to the service.
+
+      .. TODO: Add instructions for offline configuration
+
+      Generate a Datapoint API key::
+
+         cylc get-resources api-key
+
+      Add the following lines to the bottom of the :cylc:conf:`flow.cylc` file replacing
+      ``xxx...`` with your API key:
+
+      .. code-block:: cylc
+
+         [runtime]
+             [[get_observations_heathrow]]
+                 script = get-observations
+                 [[[environment]]]
+                     SITE_ID = 3772
+                     API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+
+
+      Add three more ``get_observations`` tasks for each of the remaining
+      weather stations.
+
+      You will need the codes for the other three weather stations, which are:
+
+      * Camborne - ``3808``
+      * Shetland - ``3005``
+      * Aldergrove - ``3917``
+
+      .. spoiler:: Solution warning
+
+         .. code-block:: cylc
+
+            [runtime]
+                [[get_observations_heathrow]]
+                    script = get-observations
+                    [[[environment]]]
+                        SITE_ID = 3772
+                        API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+                [[get_observations_camborne]]
+                    script = get-observations
+                    [[[environment]]]
+                        SITE_ID = 3808
+                        API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+                [[get_observations_shetland]]
+                    script = get-observations
+                    [[[environment]]]
+                        SITE_ID = 3005
+                        API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+                [[get_observations_aldergrove]]
+                    script = get-observations
+                    [[[environment]]]
+                        SITE_ID = 3917
+                        API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+
+      Check the :cylc:conf:`flow.cylc` file is valid by running the command:
+
+      .. code-block:: bash
+
+         cylc validate .
+
+      .. TODO: Add advice on what to do if the command fails.
+
+   #. **Test the** ``get_observations`` **tasks.**
+
+      Next we will test the ``get_observations`` tasks.
+
+      Install the workflow:
+
+      .. code-block:: bash
+
+         cylc install
+
+      Open a user interface (:ref:`tutorial.tui` or :ref:`tutorial.gui`) to view
+      your workflow.
+
+      Run the workflow either by pressing the play button in the Cylc UI or by
+      running the command:
+
+      .. code-block:: bash
+
+         cylc play runtime-tutorial
+
+      If all goes well the workflow will startup and the tasks will run and
+      succeed. Note that the tasks which do not have a ``[runtime]`` section
+      will still run though they will not do anything as they do not call any
+      scripts.
+
+      Once the workflow has reached the final cycle point and all tasks have
+      succeeded the scheduler will shut down automatically.
+
+      .. TODO: Advise on what to do if all does not go well.
+
+      The ``get-observations`` script produces a file called ``wind.csv`` which
+      specifies the wind speed and direction. This file is written in the task's
+      :term:`work directory`.
+
+      Try and open one of the ``wind.csv`` files. Note that the path to the
+      :term:`work directory` is:
+
+      .. code-block:: sub
+
+         work/<cycle-point>/<task-name>
+
+      You should find a file containing four numbers:
+
+      * The longitude of the weather station;
+      * The latitude of the weather station;
+      * The wind direction (*the direction the wind is blowing towards*)
+        in degrees;
+      * The wind speed in miles per hour.
+
+      .. spoiler:: Hint hint
+
+         If you run ``ls work`` you should see a
+         list of cycles. Pick one of them and open the file::
+
+            work/<cycle-point>/get_observations_heathrow/wind.csv
+
+   #. **Add runtime configuration for the other tasks.**
+
+      The runtime configuration for the remaining tasks has been written out
+      for you in the ``runtime`` file which you will find in the
+      :term:`run directory`. Copy the code in the ``runtime`` file to the
+      bottom of the :cylc:conf:`flow.cylc` file.
+
+      Check the :cylc:conf:`flow.cylc` file is valid by running the command:
+
+      .. code-block:: bash
+
+         cylc validate .
+         cylc install
+
+      .. TODO: Add advice on what to do if the command fails.
+
+   #. **Run The Workflow.**
+
+      Open a user interface (:ref:`tutorial.tui` or :ref:`tutorial.gui`) to view
+      your workflow.
+
+      .. spoiler:: Hint hint
+
+         .. code-block:: bash
+
+            cylc tui runtime-tutorial
+            # or
+            cylc gui  # If you haven't already got an instance running.
+
+         Run the workflow either by:
+
+         * Pressing the play button in the Cylc GUI. Then, ensuring that
+           "Cold Start" is selected within the dialogue window, pressing the
+           "Start" button.
+         * Running the command ``cylc play runtime-tutorial``.
+
+   #. **View The Forecast Summary.**
+
+      The ``post_process_exeter`` task will produce a one-line summary of the
+      weather in Exeter, as forecast two hours ahead of time. This summary can
+      be found in the ``summary.txt`` file in the :term:`work directory`.
+
+      Try opening the summary file - it will be in the last cycle. The path to
+      the :term:`work directory` is:
+
+      .. code-block:: sub
+
+          work/<cycle-point>/<task-name>
+
+      .. spelling:word-list::
+
+         exeter
+
+      .. spoiler:: Hint hint
+
+         * ``cycle-point`` - this will be the last cycle of the workflow,
+           i.e. the final cycle point.
+         * ``task-name`` - set this to "post_process_exeter".
+
+   #. **View The Rainfall Data.**
+
+      .. TODO: Skip this if you don't have internet connection.
+
+      The ``forecast`` task will produce a html page where the rainfall
+      data is rendered on a map. This html file is called ``job-map.html`` and
+      is saved alongside the :term:`job log`.
+
+      Try opening this file in a web browser, e.g via:
+
+      .. code-block:: sub
+
+         firefox <filename> &
+
+      The path to the :term:`job log directory` is:
+
+      .. code-block:: sub
+
+         log/job/<cycle-point>/<task-name>/<submission-number>
+
+      .. spoiler:: Hint hint
+
+         * ``cycle-point`` - this will be the last cycle of the workflow,
+           i.e. the final cycle point.
+         * ``task-name`` - set this to "forecast".
+         * ``submission-number`` - set this to "01".
diff --git a/nightly_8.3/html/_sources/tutorial/scheduling/datetime-cycling.rst.txt b/nightly_8.3/html/_sources/tutorial/scheduling/datetime-cycling.rst.txt
new file mode 100644
index 00000000000..f12ee696f0e
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/scheduling/datetime-cycling.rst.txt
@@ -0,0 +1,639 @@
+.. _nowcasting: https://en.wikipedia.org/wiki/Nowcasting_(meteorology)
+
+.. _tutorial-datetime-cycling:
+
+Datetime Cycling
+================
+
+.. admonition:: Aims
+   :class: aims
+
+   | You should be able to:
+   | ✅ Write workflows  with datetime cycle points.
+
+
+In the last section we created an :term:`integer cycling` workflow
+with numbered :term:`cycle points <cycle point>`.
+
+.. ifnotslides::
+
+   Workflows may need to be repeated at a regular time intervals, say every day
+   or every few hours. To support this Cylc can generate datetime sequences
+   as :term:`cycle points <cycle point>` instead of integers.
+
+   .. admonition:: Reminder
+      :class: tip
+
+      In Cylc, :term:`cycle points <cycle point>` are task labels that anchor the
+      dependencies between individual tasks: this task depends on that task in
+      that cycle. Tasks can run as soon as their individual dependencies are met,
+      so cycles do not necessarily run in order, or at the real world time
+      corresponding to the cycle point value (to do that, see
+      :ref:`tutorial-clock-triggers`).
+
+
+.. _tutorial-iso8601:
+
+ISO8601
+-------
+
+Cylc uses the :term:`ISO8601` datetime standard to represent datetimes and durations.
+
+.. _tutorial-iso8601-datetimes:
+
+ISO8601 Datetimes
+^^^^^^^^^^^^^^^^^
+
+.. ifnotslides::
+
+   ISO8601 datetimes are written from the largest unit to the smallest
+   (year, month, day, hour, minute, second) with a ``T`` separating the date
+   and time components. For example, midnight on the 1st of January 2000 is
+   written ``20000101T000000``.
+
+   For brevity we can omit seconds (or minutes) from the time:
+   ``20000101T0000`` (or ``20000101T00``).
+
+   .. note::
+
+      The smallest interval for a datetime cycling sequence in Cylc is 1 minute.
+
+   For readability we can add hyphens (``-``) between the date components
+   and colons (``:``) between the time components.
+   This is optional, but if you do it you must use both hyphens *and* colons.
+
+   Time-zone information can be added onto the end. UTC is written ``Z``,
+   UTC+1 is written ``+01``, etc. E.G: ``2000-01-01T00:00Z``.
+
+.. Diagram of an iso8601 datetime's components.
+
+.. image:: ../img/iso8601-dates.svg
+   :width: 75%
+   :align: center
+
+.. _tutorial-iso8601-durations:
+
+ISO8601 Durations
+^^^^^^^^^^^^^^^^^
+
+.. ifnotslides::
+
+   ISO8601 durations are prefixed with a ``P`` (for "period") and
+   special characters following each unit:
+
+* ``Y`` for year.
+* ``M`` for month.
+* ``D`` for day.
+* ``W`` for week.
+* ``H`` for hour.
+* ``M`` for minute.
+* ``S`` for second.
+
+.. nextslide::
+
+.. ifnotslides::
+
+   As for datetimes, duration components are written in order from largest to
+   smallest, and the date and time components are separated by a ``T``:
+
+* ``P1D``: one day.
+* ``PT1H``: one hour.
+* ``P1DT1H``: one day and one hour.
+* ``PT1H30M``: one and a half hours.
+* ``P1Y1M1DT1H1M1S``: a year and a month and a day and an hour and a
+  minute and a second.
+
+
+Datetime Recurrences
+--------------------
+
+In :term:`integer cycling`, workflows, recurrences are written ``P1``, ``P2``,
+etc.
+
+In :term:`datetime cycling <datetime cycling>` workflows, there are two ways to
+write recurrences:
+
+1. Using ISO8601 durations (e.g. ``P1D``, ``PT1H``).
+2. Using ISO8601 datetimes with inferred recurrence.
+
+.. _tutorial-inferred-recurrence:
+
+Inferred Recurrence
+^^^^^^^^^^^^^^^^^^^
+
+.. ifnotslides::
+
+   Recurrence can be inferred from a datetime by omitting  components from the
+   front. For example, if the year is omitted then the recurrence can be
+   inferred to be annual. E.g.:
+
+.. csv-table::
+   :header: Recurrence, Description
+   :align: left
+   :widths: 30, 70
+
+   ``2000-01-01T00``, Midnight on the 1st of January 2000
+   ``01-01T00``, Every year on the 1st of January
+   ``01T00``, Every month on the first of the month
+   ``T00``, Every day at midnight
+   ``T-00``, Every hour at zero minutes past (i.e. every hour on the hour)
+
+.. note::
+
+   To omit hours from a date time, place a ``-`` after the ``T`` character.
+
+
+Recurrence Formats
+^^^^^^^^^^^^^^^^^^
+
+.. ifnotslides::
+
+   As with integer cycling, recurrences start at the :term:`initial cycle
+   point` by default. We can override this in two ways:
+
+.. rubric::
+   By giving an arbitrary start cycle point (``datetime/recurrence``):
+
+``2000/P4Y``
+   Every fourth year, starting with the year 2000.
+``2000-01-01T00/P1D``
+   Every day at midnight, starting on the 1st of January 2000.
+
+.. nextslide::
+
+.. _tutorial-cylc-datetime-offset-icp:
+
+.. rubric::
+   By offset, relative to the initial cycle point (``offset/recurrence``).
+
+The offset must be an ISO8601 duration preceded by a plus character:
+
+``+PT1H/PT1H``
+   Every hour starting one hour after the initial cycle point.
+``+P1Y/P1Y``
+   Every year starting one year after the initial cycle point.
+
+Durations and the Initial Cycle Point
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+When using durations, beware that a change in the initial cycle point
+might produce different results for the recurrences.
+
+.. nextslide::
+
+.. list-table::
+   :class: grid-table
+   :width: 50%
+
+   * - .. code-block:: cylc
+          :emphasize-lines: 3
+
+          [scheduling]
+              initial cycle point = \
+                  2000-01-01T00
+              [[graph]]
+                  P1D = foo[-P1D] => foo
+
+     - .. code-block:: cylc
+          :emphasize-lines: 3
+
+          [scheduling]
+              initial cycle point = \
+                  2000-01-01T12
+              [[graph]]
+                  P1D = foo[-P1D] => foo
+
+   * - .. digraph:: Example
+          :align: center
+
+          size = "3,3"
+
+          "1/foo" [label="foo\n2000-01-01T00"]
+          "2/foo" [label="foo\n2000-01-02T00"]
+          "3/foo" [label="foo\n2000-01-03T00"]
+
+          "1/foo" -> "2/foo" -> "3/foo"
+
+     - .. digraph:: Example
+          :align: center
+
+          size = "3,3"
+
+          "1/foo" [label="foo\n2000-01-01T12"]
+          "2/foo" [label="foo\n2000-01-02T12"]
+          "3/foo" [label="foo\n2000-01-03T12"]
+
+          "1/foo" -> "2/foo" -> "3/foo"
+
+.. nextslide::
+
+We could write the recurrence "every midnight" independent of the initial
+cycle point by:
+
+* Using an `inferred recurrence`_ instead (i.e. ``T00``).
+* Overriding the recurrence start point (i.e. ``T00/P1D``)
+* Using ``[scheduling]initial cycle point constraints`` to
+  constrain the initial cycle point (e.g. to a particular time of day). See
+  the `Cylc User Guide`_ for details.
+
+The Initial and Final Cycle Points
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. ifnotslides::
+
+   There are two special recurrences for the initial and final cycle points:
+
+* ``R1``: run once at the initial cycle point.
+* ``R1/P0Y``: run once at the final cycle point.
+
+.. TODO - change terminology as done in the cylc user guide, "repeat" can be
+   confusing. Use occur?
+
+Intercycle Dependencies
+^^^^^^^^^^^^^^^^^^^^^^^
+
+.. ifnotslides::
+
+   Intercycle dependencies are written as ISO8601 durations, e.g:
+
+* ``foo[-P1D]``: the task ``foo`` from the cycle one day before.
+* ``bar[-PT1H30M]``: the task ``bar`` from the cycle 1 hour 30 minutes before.
+
+.. ifnotslides::
+
+   The initial cycle point can be referenced using a caret character ``^``, e.g:
+
+* ``baz[^]``: the task ``baz`` from the initial cycle point.
+
+
+.. _tutorial-cylc-datetime-utc:
+
+UTC Mode
+--------
+
+.. ifnotslides::
+
+   Cylc can generate datetime cycle points in any time zone, but "daylight saving"
+   boundaries can cause problems so we typically use UTC, i.e. the ``+00`` time
+   zone:
+
+.. code-block:: cylc
+
+   [scheduler]
+       UTC mode = True
+
+.. note::
+
+   UTC is sometimes also labelled ``Z`` ("Zulu" from the NATO phonetic alphabet)
+   according to the
+   `military time zone convention <https://en.wikipedia.org/wiki/List_of_military_time_zones>`_.
+
+.. _tutorial-datetime-cycling-practical:
+
+Putting It All Together
+-----------------------
+
+.. ifslides::
+
+   We will now develop a simple weather forecasting workflow.
+
+.. ifnotslides::
+
+   Cylc was originally developed for running operational weather forecasting. In
+   this section we will outline how to implement a basic weather-forecasting workflow.
+
+   .. note::
+
+      Technically this example is a `nowcasting`_ workflow,
+      but the distinction doesn't matter here.
+
+   A basic weather forecasting workflow has three main steps:
+
+1. Gathering Observations
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. ifnotslides::
+
+   We gather observations from different weather stations to build a picture of
+   the current weather. Our dummy weather forecast will get wind observations
+   from four weather stations:
+
+   * Aldergrove (Near Belfast in NW of the UK)
+   * Camborne (In Cornwall, the far SW of England)
+   * Heathrow (Near London in the SE)
+   * Shetland (The northernmost part of the UK)
+
+   The tasks that retrieve observation data will be called
+   ``get_observations_<site>`` where ``site`` is the name of the weather
+   station.
+
+   Next we need to consolidate the observations so that our forecasting
+   system can work with them. To do this we have a
+   ``consolidate_observations`` task.
+
+   We will fetch wind observations **every three hours, starting from the
+   initial cycle point**.
+
+   The ``consolidate_observations`` task must run after the
+   ``get_observations<site>`` tasks.
+
+.. digraph:: example
+   :align: center
+
+   size = "7,4"
+
+   get_observations_aldergrove -> consolidate_observations
+   get_observations_camborne -> consolidate_observations
+   get_observations_heathrow -> consolidate_observations
+   get_observations_shetland -> consolidate_observations
+
+   hidden [style="invis"]
+   get_observations_aldergrove -> hidden [style="invis"]
+   get_observations_camborne -> hidden [style="invis"]
+   hidden -> consolidate_observations [style="invis"]
+
+.. ifnotslides::
+
+   We will also use the UK radar network to get rainfall data with a task
+   called ``get_rainfall``.
+
+   We will fetch rainfall data *every six hours, from six hours after the
+   initial cycle point*.
+
+2. Running Computer Models to Generate Forecast Data
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. ifnotslides::
+
+   We will do this with a task called ``forecast`` that runs
+   *every six hours, from six hours after the initial cycle point*.
+   The ``forecast`` task will depend on:
+
+   * The ``consolidate_observations`` task from the previous two cycles and
+     the present cycle.
+   * The ``get_rainfall`` task from the present cycle.
+
+.. digraph:: example
+   :align: center
+
+   size = "7,4"
+
+   subgraph cluster_T00 {
+       label="+PT0H"
+       style="dashed"
+       "observations.t00" [label="consolidate observations\n+PT0H"]
+   }
+
+   subgraph cluster_T03 {
+       label="+PT3H"
+       style="dashed"
+       "observations.t03" [label="consolidate observations\n+PT3H"]
+   }
+
+   subgraph cluster_T06 {
+       label="+PT6H"
+       style="dashed"
+       "forecast.t06" [label="forecast\n+PT6H"]
+       "get_rainfall.t06" [label="get_rainfall\n+PT6H"]
+       "observations.t06" [label="consolidate observations\n+PT6H"]
+   }
+
+   "observations.t00" -> "forecast.t06"
+   "observations.t03" -> "forecast.t06"
+   "observations.t06" -> "forecast.t06"
+   "get_rainfall.t06" -> "forecast.t06"
+
+3. Processing the data output to produce user-friendly forecasts
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. ifnotslides::
+
+   This will be done with a task called ``post_process_<location>`` where
+   ``location`` is the place we want to generate the forecast for. For
+   the moment we will use Exeter.
+
+   The ``post_process_exeter`` task will run *every six hours starting six
+   hours after the initial cycle point* and will be dependent on the
+   ``forecast`` task.
+
+.. digraph:: example
+   :align: center
+
+   size = "2.5,2"
+
+   "forecast" -> "post_process_exeter"
+
+.. nextslide::
+
+.. ifslides::
+
+   .. rubric:: Next Steps
+
+   1. Read through the "Putting It All Together" section.
+   2. Complete the practical.
+
+   Next section: :ref:`tutorial-cylc-further-scheduling`
+
+
+.. _datetime cycling practical:
+
+.. practical::
+
+   .. rubric:: In this practical we will create a dummy forecasting workflow
+      using datetime cycling.
+
+   #. **Create A New Workflow.**
+
+      Create a new source directory ``datetime-cycling`` under ``~/cylc-src``,
+      and move into it:
+
+      .. code-block:: bash
+
+         mkdir ~/cylc-src/datetime-cycling
+         cd ~/cylc-src/datetime-cycling
+
+      Create a :cylc:conf:`flow.cylc` file and paste the following code into it:
+
+      .. code-block:: cylc
+
+         [scheduler]
+             UTC mode = True
+             allow implicit tasks = True
+         [scheduling]
+             initial cycle point = 20000101T00Z
+             [[graph]]
+
+   #. **Add The Recurrences.**
+
+      The weather-forecasting workflow will require two
+      recurrences. Add these under the ``graph`` section
+      based on the information given above.
+
+      .. hint::
+
+         See :ref:`Datetime Recurrences<tutorial-cylc-datetime-offset-icp>`.
+
+      .. spoiler:: Solution warning
+
+         The two recurrences you need are
+
+         * ``PT3H``: repeat every three hours starting from the initial cycle
+           point.
+         * ``+PT6H/PT6H``: repeat every six hours starting six hours after the
+           initial cycle point.
+
+         .. code-block:: diff
+
+             [scheduler]
+                 UTC mode = True
+                 allow implicit tasks = True
+             [scheduling]
+                 initial cycle point = 20000101T00Z
+                 [[graph]]
+            +        PT3H =
+            +        +PT6H/PT6H =
+
+   #. **Write The Graph.**
+
+      With the help of the the information above add the tasks and dependencies to
+      to implement the weather-forecasting workflow.
+
+      You will need to consider the intercycle dependencies between tasks as well.
+
+      Use ``cylc graph`` to inspect your work.
+
+      .. spoiler:: Hint hint
+
+         The dependencies you will need to formulate are as follows:
+
+         * The ``consolidate_observations`` task depends on ``get_observations_<site>``.
+         * The ``forecast`` task depends on:
+
+           * the ``get_rainfall`` task;
+           * the ``consolidate_observations`` tasks from:
+
+             * the same cycle;
+             * the cycle 3 hours before (``-PT3H``);
+             * the cycle 6 hours before (``-PT6H``).
+
+         * The ``post_process_exeter`` task depends on the ``forecast``
+           task.
+
+         To visualise your workflow run the command:
+
+         .. code-block:: sub
+
+            cylc graph <path/to/flow.cylc>
+
+      .. spoiler:: Solution warning
+
+         .. code-block:: cylc
+
+           [scheduler]
+               UTC mode = True
+               allow implicit tasks = True
+           [scheduling]
+               initial cycle point = 20000101T00Z
+               [[graph]]
+                   PT3H = """
+                       get_observations_aldergrove => consolidate_observations
+                       get_observations_camborne => consolidate_observations
+                       get_observations_heathrow => consolidate_observations
+                       get_observations_shetland => consolidate_observations
+                   """
+                   +PT6H/PT6H = """
+                       consolidate_observations => forecast
+                       consolidate_observations[-PT3H] => forecast
+                       consolidate_observations[-PT6H] => forecast
+                       get_rainfall => forecast => post_process_exeter
+                   """
+
+   #. **Intercycle Offsets.**
+
+      To ensure the ``forecast`` tasks run in the right order (one cycle
+      after another) they each need to depend on their own previous run:
+
+      .. digraph:: example
+         :align: center
+
+         size = "4,1.5"
+         rankdir=LR
+
+         subgraph cluster_T06 {
+             label="T06"
+             style="dashed"
+             "forecast.t06" [label="forecast\nT06"]
+         }
+
+         subgraph cluster_T12 {
+             label="T12"
+             style="dashed"
+             "forecast.t12" [label="forecast\nT12"]
+         }
+
+         subgraph cluster_T18 {
+             label="T18"
+             style="dashed"
+             "forecast.t18" [label="forecast\nT18"]
+         }
+
+         "forecast.t06" -> "forecast.t12" -> "forecast.t18"
+
+      We can express this dependency as ``forecast[-PT6H] => forecast``.
+
+      .. TODO - re-enable this: https://github.com/cylc/cylc-flow/issues/4638
+
+            Try adding this line to your workflow then visualising it with ``cylc
+            graph``.
+
+            .. hint::
+
+               Try adjusting the number of cycles displayed by ``cylc graph``:
+
+               .. code-block:: console
+
+                  $ cylc graph . 2000 20000101T12Z &
+
+            You will notice that there is a dependency which looks like this:
+
+
+            .. digraph:: example
+            :align: center
+
+               size = "4,1"
+               rankdir=LR
+
+               "forecast.t00" [label="forecast\n20000101T0000Z"
+                              color="#888888"
+                              fontcolor="#888888"]
+               "forecast.t06" [label="forecast\n20000101T0600Z"]
+
+
+               "forecast.t00" -> "forecast.t06"
+
+            Note in particular that the ``forecast`` task in the 00:00 cycle is
+            grey. The reason for this is that this task does not exist. Remember
+            the forecast task runs every six hours
+            **starting 6 hours after the initial cycle point**, so the
+            dependency is only valid from 12:00 onwards. To fix the problem we
+            must add a new dependency section which repeats every six hours
+            **starting 12 hours after the initial cycle point**.
+
+            Make the following changes to your workflow and the grey task should
+            disappear:
+
+      However, the forecast task runs every six hours
+      *starting 6 hours after the initial cycle point*, so the
+      dependency is only valid from 12:00 onwards. To fix the problem we
+      must add a new dependency section which repeats every six hours
+      *starting 12 hours after the initial cycle point*:
+
+      .. code-block:: diff
+
+                    +PT6H/PT6H = """
+                        ...
+         -              forecast[-PT6H] => forecast
+                    """
+         +          +PT12H/PT6H = """
+         +              forecast[-PT6H] => forecast
+         +          """
diff --git a/nightly_8.3/html/_sources/tutorial/scheduling/further-scheduling.rst.txt b/nightly_8.3/html/_sources/tutorial/scheduling/further-scheduling.rst.txt
new file mode 100644
index 00000000000..b97f251f43b
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/scheduling/further-scheduling.rst.txt
@@ -0,0 +1,115 @@
+.. _tutorial-cylc-further-scheduling:
+
+Further Scheduling
+==================
+
+.. admonition:: Aims
+   :class: aims
+
+   | You should be aware of some more advanced scheduling features:
+   | ✅ Task state qualifiers.
+   | ✅ Clock triggers.
+   | ✅ Alternative calendars.
+
+
+.. _tutorial-qualifiers:
+
+Qualifiers
+----------
+
+.. ifnotslides::
+
+   So far we have written dependencies like ``foo => bar``. This is, in fact,
+   shorthand for ``foo:succeed => bar``. It means that the task ``bar`` will run
+   once ``foo`` has finished successfully. If ``foo`` were to fail then ``bar``
+   would not run. We will talk more about these :term:`task states <task state>`
+   in the :ref:`Runtime Section <tutorial-tasks-and-jobs>`.
+
+   We refer to the ``:succeed`` descriptor as a :term:`qualifier`.
+   There are qualifiers for different :term:`task states <task state>` e.g:
+
+.. ifslides::
+
+   .. code-block:: cylc-graph
+
+      foo => bar
+      foo:succeed => bar
+      foo:fail => bar
+
+``:start``
+   When the task has started running.
+``:fail``
+   When the task finishes if it fails (produces non-zero return code).
+``:finish``
+   When the task has completed (either succeeded or failed).
+
+.. nextslide::
+
+It is also possible to create your own :term:`qualifiers <qualifier>`
+to handle events within your code (custom outputs).
+
+.. ifnotslides::
+
+   *For more information see the* `Cylc User Guide`_.
+
+
+.. _tutorial-clock-triggers:
+
+Clock Triggers
+--------------
+
+.. ifnotslides::
+
+   In Cylc, :term:`cycle points <cycle point>` are just task labels. Tasks are
+   triggered when their dependencies are met, regardless of cycle point.
+   But *clock triggers* can be used to force tasks to wait for a particular
+   real time, relative to their cycle point, before running.
+   This is necessary for certain operational and monitoring systems, e.g. for
+   tasks that process real-time data.
+
+   For example in the following workflow the cycle ``2000-01-01T12Z`` will wait
+   until 11:00 on the 1st of January 2000 before running:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 2000-01-01T00Z
+       [[xtriggers]]
+           PT1H_trigger = wall_clock(offset=-PT1H):PT30S
+       [[graph]]
+           # "daily" will run, at the earliest, one hour before midday.
+           T12 = @PT1H_trigger => daily
+
+.. tip::
+
+   See the :ref:`tutorial-cylc-clock-trigger` tutorial for more information.
+
+
+Alternative Calendars
+---------------------
+
+.. ifnotslides::
+
+   By default Cylc uses the Gregorian calendar for :term:`datetime cycling`,
+   but it also supports:
+
+   - Integer cycling.
+   - 360-day calendar (12 months of 30 days each in a year).
+   - 365-day calendar (never a leap year).
+   - 366-day calendar (always a leap year).
+
+.. code-block:: cylc
+
+   [scheduling]
+       cycling mode = 360day
+
+.. ifnotslides::
+
+   .. seealso:: :cylc:conf:`[scheduling]cycling mode`
+
+.. nextslide::
+
+.. ifslides::
+
+   Next section: :ref:`Runtime Introduction
+   <tutorial-cylc-runtime-introduction>`
diff --git a/nightly_8.3/html/_sources/tutorial/scheduling/graphing.rst.txt b/nightly_8.3/html/_sources/tutorial/scheduling/graphing.rst.txt
new file mode 100644
index 00000000000..ec2df1cadf0
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/scheduling/graphing.rst.txt
@@ -0,0 +1,431 @@
+.. _Cylc file format:
+
+The :cylc:conf:`flow.cylc` File Format
+======================================
+
+.. admonition:: Aims
+   :class: aims
+
+   | You will be able to:
+   | ✅ Recognise the ``flow.cylc`` file format.
+   | ✅ Write simple chains of dependencies.
+
+
+.. ifnotslides::
+
+   A :term:`Cylc workflow` is defined by a :cylc:conf:`flow.cylc` configuration
+   file, which uses a nested `INI`_ format:
+
+.. ifslides::
+
+   * A Cylc workflow is defined by a :cylc:conf:`flow.cylc` file
+   * It is written in a nested `INI`_-based format
+
+.. ifnotslides::
+
+   * Comments start with a ``#`` character.
+   * Settings are written as ``key = value`` pairs.
+   * Settings can be contained within sections.
+   * Sections are written inside square brackets i.e. ``[section-name]``.
+   * Sections can be nested, by adding an extra square bracket with each level,
+     so a sub-section would be written ``[[sub-section]]``, a sub-sub-section
+     ``[[[sub-sub-section]]]``, and so on.
+
+   .. note::
+
+      Prior to Cylc 8, :cylc:conf:`flow.cylc` was named ``suite.rc``,
+      but that name is now deprecated.
+
+      See :ref:`cylc_7_compat_mode` for information on compatibility with
+      existing Cylc 7 ``suite.rc`` files.
+
+Example
+^^^^^^^
+
+.. code-block:: cylc
+
+   # Comment
+   [section]
+       key = value
+       [[sub-section]]
+           another-key = another-value  # Inline comment
+           yet-another-key = """
+               A
+               Multi-line
+               String
+           """
+
+Shorthand
+^^^^^^^^^
+
+.. include:: ../../reference/config/shorthand.rst
+
+Duplicate Items
+^^^^^^^^^^^^^^^
+
+Duplicate sections get merged:
+
+.. list-table::
+   :class: grid-table
+
+   * -
+      .. code-block:: cylc
+         :caption: input
+
+         [a]
+            c = C
+         [b]
+            d = D
+         [a]  # duplicate
+            e = E
+
+     -
+      .. code-block:: cylc
+         :caption: result
+
+         [a]
+            c = C
+            e = E
+         [b]
+            d = D
+
+.. nextslide::
+
+Duplicate settings get overwritten:
+
+.. list-table::
+   :class: grid-table
+
+   * -
+      .. code-block:: cylc
+         :caption: input
+
+         a = foo
+         a = bar  # duplicate
+
+     -
+      .. code-block:: cylc
+         :caption: result
+
+         a = bar
+
+Except for duplicate graph string items, which get merged:
+
+.. list-table::
+   :class: grid-table
+
+   * -
+      .. code-block:: cylc
+         :caption: input
+
+         R1 = "foo => bar"
+         R1 = "foo => baz"
+
+     -
+      .. code-block:: cylc
+         :caption: result
+
+         R1 = "foo => bar & baz"
+
+
+Indentation
+^^^^^^^^^^^
+
+It is a good idea to indent :cylc:conf:`flow.cylc` files for readability.
+
+However, Cylc ignores indentation, so the following examples are equivalent:
+
+.. list-table::
+   :class: grid-table
+
+   * -
+       .. code-block:: cylc
+          :caption: input
+
+          [section]
+              a = A
+              [[sub-section]]
+                  b = B
+              b = C
+              # this setting is still
+              # in [[sub-section]]
+
+
+     -
+       .. code-block:: cylc
+          :caption: result
+
+          [section]
+              a = A
+              [[sub-section]]
+                  b = C
+
+
+.. _tutorial-cylc-graphing:
+
+
+The Dependency Graph
+^^^^^^^^^^^^^^^^^^^^
+
+Graph Strings
+-------------
+
+Cylc workflows are defined in terms of :term:`tasks <task>` and
+:term:`dependencies <dependency>`.
+
+.. ifnotslides::
+
+   Task have names, and dependencies are represented by arrows
+   (``=>``) between them. For example, here's a task ``make_dough`` that should
+   run after another task ``buy_ingredients`` has succeeded:
+
+.. minicylc::
+   :align: center
+   :snippet:
+   :theme: demo
+
+   buy_ingredients => make_dough
+
+.. nextslide::
+
+.. ifnotslides::
+
+   These :term:`dependencies <dependency>` can be chained together in
+   :term:`graph strings<graph string>`:
+
+.. minicylc::
+   :align: center
+   :snippet:
+   :theme: demo
+
+   buy_ingredients => make_dough => bake_bread => sell_bread
+
+.. nextslide::
+
+.. ifnotslides::
+
+   Graph strings can be combined to form more complex graphs:
+
+.. minicylc::
+   :align: center
+   :snippet:
+   :theme: demo
+
+   buy_ingredients => make_dough => bake_bread => sell_bread
+   pre_heat_oven => bake_bread
+   bake_bread => clean_oven
+
+.. nextslide::
+
+.. ifnotslides::
+
+   Graphs can also contain logical operators ``&`` (*and*) and ``|`` (*or*).
+   For example, the following lines are equivalent to those just above:
+
+.. code-block:: cylc-graph
+
+   buy_ingredients => make_dough
+   pre_heat_oven & make_dough => bake_bread => sell_bread & clean_oven
+
+
+.. nextslide::
+
+Collectively, all the graph strings make up the workflow dependency :term:`graph`.
+
+.. admonition:: Note
+   :class: tip
+
+   .. ifnotslides::
+
+      The order of lines in the graph doesn't matter, so
+      the following examples are equivalent:
+
+      .. list-table::
+         :class: grid-table
+
+         * -
+            .. code-block:: cylc-graph
+
+               foo => bar
+               bar => baz
+
+           -
+            .. code-block:: cylc-graph
+
+               bar => baz
+               foo => bar
+
+
+Cylc Graphs
+-----------
+
+.. ifnotslides::
+
+   A *non-cycling* :term:`graph` can be defined with ``[scheduling][graph]R1``,
+   where ``R1`` means *run once*:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = """
+               buy_ingredients => make_dough
+               pre_heat_oven & make_dough => bake_bread
+               bake_bread => sell_bread & clean_oven
+           """
+
+.. nextslide::
+
+.. ifnotslides::
+
+   This is a minimal :term:`Cylc workflow` that defines a :term:`graph` of
+   tasks to run, but does not yet say what scripts or applications to run
+   for each task. We will cover that later in the :ref:`runtime tutorial
+   <tutorial-runtime>`.
+
+   Cylc provides a command line utility
+   for visualising :term:`graphs <graph>`, ``cylc graph <path>``, where
+   ``path`` is the location of the :cylc:conf:`flow.cylc` file.
+   It generates diagrams similar to the ones you have seen so far. The number
+   ``1`` below each task is the :term:`cycle point`. We will explain what this
+   means in the next section.
+
+.. image:: ../img/cylc-graph.png
+   :align: center
+
+.. nextslide::
+
+.. hint::
+
+   .. ifnotslides::
+
+      A graph can be drawn in multiple ways, for instance the following two
+      examples are equivalent:
+
+   .. ifslides::
+
+      A graph can be drawn in multiple ways:
+
+   .. image:: ../img/cylc-graph-reversible.svg
+      :align: center
+
+   .. ifnotslides::
+
+      Graphs drawn by ``cylc graph`` may vary slightly from one run to
+      another, but the tasks and dependencies will always be the same.
+
+.. nextslide::
+
+.. ifslides::
+
+   .. rubric:: In this practical we will create a new Cylc workflow and write a
+      graph of tasks for it to run.
+
+   Next session: :ref:`tutorial-integer-cycling`
+
+.. practical::
+
+   .. rubric:: In this practical we will create a new Cylc workflow and write a
+      graph of tasks for it to run.
+
+   #. **Create a Cylc workflow.**
+
+      A :term:`Cylc workflow` is defined by a :cylc:conf:`flow.cylc` file.
+
+      If you don't have one already, create a ``cylc-src`` directory in your
+      user space:
+
+      .. code-block::
+
+         mkdir ~/cylc-src
+
+      Now create a new workflow :term:`source directory` called
+      ``graph-introduction`` under ``cylc-src`` and move into it:
+
+      .. code-block:: bash
+
+         mkdir ~/cylc-src/graph-introduction
+         cd ~/cylc-src/graph-introduction
+
+      In your new source directory create a :cylc:conf:`flow.cylc`
+      file and paste the following text into it:
+
+      .. code-block:: cylc
+
+         [scheduler]
+             allow implicit tasks = True
+         [scheduling]
+             [[graph]]
+                 R1 = """
+                     # Write graph strings here!
+                 """
+
+   #. **Write a graph.**
+
+      We now have a blank Cylc workflow. Next we need to define a graph.
+
+      Edit your :cylc:conf:`flow.cylc` file to add graph strings representing the
+      following graph:
+
+      .. digraph:: graph_tutorial
+         :align: center
+
+         a -> b -> d -> e
+         c -> b -> f
+
+   #. **Visualise the workflow.**
+
+      Once you have written some graph strings try using ``cylc graph`` to
+      display the workflow. Run the following command:
+
+      .. code-block:: bash
+
+         cylc graph .
+
+      .. admonition:: Note
+         :class: hint
+
+         ``cylc graph`` takes the path to the workflow as an argument. Inside
+         the :term:`source directory` we can just run ``cylc graph .``.
+
+      If the results don't match the diagram above try to correct the graph
+      in your :cylc:conf:`flow.cylc` file.
+
+
+      .. spoiler:: Solution warning
+
+         There are multiple correct ways to write this graph. So long as what
+         you see from ``cylc graph`` matches the above diagram then you have a
+         correct solution.
+
+
+         Two valid examples:
+
+            .. list-table::
+               :class: grid-table
+
+               * -
+                  .. code-block:: cylc-graph
+
+                     a & c => b => d & f
+                     d => e
+
+                 -
+                  .. code-block:: cylc-graph
+
+                     a => b => d => e
+                     c => b => f
+
+
+         The whole workflow should look something like this:
+
+         .. code-block:: cylc
+
+            [scheduler]
+                allow implicit tasks = True
+            [scheduling]
+                [[graph]]
+                    R1 = """
+                        a & c => b => d & f
+                        d => e
+                    """
diff --git a/nightly_8.3/html/_sources/tutorial/scheduling/index.rst.txt b/nightly_8.3/html/_sources/tutorial/scheduling/index.rst.txt
new file mode 100644
index 00000000000..0d3a917a8f3
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/scheduling/index.rst.txt
@@ -0,0 +1,15 @@
+.. _tutorial-scheduling:
+
+Scheduling
+==========
+
+This section shows how to create basic Cylc workflows.
+
+.. toctree::
+   :name: rug-scheduling-toc
+   :maxdepth: 2
+
+   graphing
+   integer-cycling
+   datetime-cycling
+   further-scheduling
diff --git a/nightly_8.3/html/_sources/tutorial/scheduling/integer-cycling.rst.txt b/nightly_8.3/html/_sources/tutorial/scheduling/integer-cycling.rst.txt
new file mode 100644
index 00000000000..7b3c7c5bec2
--- /dev/null
+++ b/nightly_8.3/html/_sources/tutorial/scheduling/integer-cycling.rst.txt
@@ -0,0 +1,607 @@
+.. _tutorial-integer-cycling:
+
+Basic Cycling
+=============
+
+.. admonition:: Aims
+   :class: aims
+
+   | You will be able to:
+   | ✅ Write simple :term:`cycling` (repeating) workflows.
+
+
+Repeating Workflows
+-------------------
+
+.. ifnotslides::
+
+   You may want to repeat the same workflow multiple times. In Cylc this
+   is called :term:`cycling`, and each repetition is called a :term:`cycle`.
+
+   Each :term:`cycle` is given a unique label, called a
+   :term:`cycle point`. For now these will be integers, but *they can also be
+   datetimes* as we will see in the next section.
+
+To make a workflow repeat we must tell Cylc three things:
+
+.. ifslides::
+
+   * :term:`recurrence`
+   * :term:`initial cycle point`
+   * :term:`final cycle point` (Optional)
+
+.. ifnotslides::
+
+   The :term:`recurrence`.
+      How often to repeat the workflow (or part of it).
+   The :term:`initial cycle point`.
+      The cycle point to start from.
+   The :term:`final cycle point` (optional).
+      We can also tell Cylc where to stop the workflow.
+
+.. nextslide::
+
+.. ifnotslides::
+
+   Let's take the bakery example from the previous section. Bread is
+   baked in batches so the bakery will repeat this workflow for each
+   batch. We can make the workflow repeat by adding three lines:
+
+.. code-block:: diff
+
+    [scheduling]
+   +    cycling mode = integer
+   +    initial cycle point = 1
+        [[graph]]
+   -        R1 = """
+   +        P1 = """
+                buy_ingredients => make_dough
+                pre_heat_oven & make_dough => bake_bread
+                bake_bread => sell_bread & clean_oven
+            """
+
+.. nextslide::
+
+.. ifnotslides::
+
+   * ``cycling mode = integer`` tells Cylc to give our :term:`cycle points
+     <cycle point>` integer labels.
+   * ``initial cycle point = 1`` tells Cylc to start counting cycle points
+     from 1.
+   * ``P1`` is the :term:`recurrence`; a ``P1`` :term:`graph string`
+     repeats at every integer :term:`cycle point`.
+
+   The first three :term:`cycles<cycle>` look like this, with the entire
+   workflow repeated at each cycle point:
+
+.. digraph:: example
+   :align: center
+
+   size = "7,15"
+
+   subgraph cluster_1 {
+       label = 1
+       style = dashed
+       "1/pur" [label="buy_ingredients\n1"]
+       "1/mak" [label="make_dough\n1"]
+       "1/bak" [label="bake_bread\n1"]
+       "1/sel" [label="sell_bread\n1"]
+       "1/cle" [label="clean_oven\n1"]
+       "1/pre" [label="pre_heat_oven\n1"]
+   }
+
+   subgraph cluster_2 {
+       label = 2
+       style = dashed
+       "2/pur" [label="buy_ingredients\n2"]
+       "2/mak" [label="make_dough\n2"]
+       "2/bak" [label="bake_bread\n2"]
+       "2/sel" [label="sell_bread\n2"]
+       "2/cle" [label="clean_oven\n2"]
+       "2/pre" [label="pre_heat_oven\n2"]
+   }
+
+   subgraph cluster_3 {
+       label = 3
+       style = dashed
+       "3/pur" [label="buy_ingredients\n3"]
+       "3/mak" [label="make_dough\n3"]
+       "3/bak" [label="bake_bread\n3"]
+       "3/sel" [label="sell_bread\n3"]
+       "3/cle" [label="clean_oven\n3"]
+       "3/pre" [label="pre_heat_oven\n3"]
+   }
+
+   "1/pur" -> "1/mak" -> "1/bak" -> "1/sel"
+   "1/pre" -> "1/bak" -> "1/cle"
+   "2/pur" -> "2/mak" -> "2/bak" -> "2/sel"
+   "2/pre" -> "2/bak" -> "2/cle"
+   "3/pur" -> "3/mak" -> "3/bak" -> "3/sel"
+   "3/pre" -> "3/bak" -> "3/cle"
+
+.. ifnotslides::
+
+   The number under each task shows which :term:`cycle point` it belongs to.
+
+
+Intercycle Dependencies
+-----------------------
+
+.. ifnotslides::
+
+   We've just seen how to write a workflow that repeats every :term:`cycle`.
+
+   Cylc runs tasks as soon as their dependencies are met, regardless of cycle
+   point, so cycles will not necessarily run in order. This can be efficient,
+   but it could also cause problems. For instance we could find ourselves
+   pre-heating the oven in one cycle while still cleaning it in another.
+
+   To resolve this we can add :term:`dependencies<dependency>` *between*
+   cycles, to the graph. To ensure that ``clean_oven`` completes before
+   ``pre_heat_oven`` starts in the next cycle, we can write this:
+
+   .. code-block:: cylc-graph
+
+      clean_oven[-P1] => pre_heat_oven
+
+   In a ``P1`` recurrence, the suffix ``[-P1]`` means *the previous cycle point*,
+   Similarly, ``[-P2]`` refers back two cycles. The new dependency can be added
+   to the workflow graph like this:
+
+.. code-block:: diff
+
+    [scheduling]
+        cycling mode = integer
+        initial cycle point = 1
+        [[graph]]
+            P1 = """
+                buy_ingredients => make_dough
+                pre_heat_oven & make_dough => bake_bread
+                bake_bread => sell_bread & clean_oven
+   +            clean_oven[-P1] => pre_heat_oven
+            """
+
+.. nextslide::
+
+.. ifnotslides::
+
+   And the resulting workflow looks like this:
+
+.. digraph:: example
+   :align: center
+
+   size = "7,15"
+
+   subgraph cluster_1 {
+       label = 1
+       style = dashed
+       "1/pur" [label="buy_ingredients\n1"]
+       "1/mak" [label="make_dough\n1"]
+       "1/bak" [label="bake_bread\n1"]
+       "1/sel" [label="sell_bread\n1"]
+       "1/cle" [label="clean_oven\n1"]
+       "1/pre" [label="pre_heat_oven\n1"]
+   }
+
+   subgraph cluster_2 {
+       label = 2
+       style = dashed
+       "2/pur" [label="buy_ingredients\n2"]
+       "2/mak" [label="make_dough\n2"]
+       "2/bak" [label="bake_bread\n2"]
+       "2/sel" [label="sell_bread\n2"]
+       "2/cle" [label="clean_oven\n2"]
+       "2/pre" [label="pre_heat_oven\n2"]
+   }
+
+   subgraph cluster_3 {
+       label = 3
+       style = dashed
+       "3/pur" [label="buy_ingredients\n3"]
+       "3/mak" [label="make_dough\n3"]
+       "3/bak" [label="bake_bread\n3"]
+       "3/sel" [label="sell_bread\n3"]
+       "3/cle" [label="clean_oven\n3"]
+       "3/pre" [label="pre_heat_oven\n3"]
+   }
+
+   "1/pur" -> "1/mak" -> "1/bak" -> "1/sel"
+   "1/pre" -> "1/bak" -> "1/cle"
+   "1/cle" -> "2/pre"
+   "2/pur" -> "2/mak" -> "2/bak" -> "2/sel"
+   "2/pre" -> "2/bak" -> "2/cle"
+   "2/cle" -> "3/pre"
+   "3/pur" -> "3/mak" -> "3/bak" -> "3/sel"
+   "3/pre" -> "3/bak" -> "3/cle"
+
+.. nextslide::
+
+.. ifnotslides::
+
+   The :term:`intercycle dependency` forces the connected tasks, in
+   different cycle points, to run in order.
+
+   Note that the ``buy_ingredients`` task has no arrows pointing at it.
+   This means it has no *parent tasks* to wait on, upstream in the graph.
+   Consequently all ``buy_ingredients`` tasks (out to a configurable
+   :term:`runahead limit`) want to run straight away.
+   This could cause our bakery to run into cash-flow problems by purchasing
+   ingredients too far in advance of using them.
+
+   To solve this problem without running out of ingredients, the bakery wants
+   to purchase ingredients two batches ahead. This can be achieved by adding
+   the following dependency:
+
+.. ifslides::
+
+   We need ``buy_ingredients`` to be dependent on ``sell_bread`` from
+   two cycles before.
+
+.. nextslide::
+
+.. code-block:: diff
+
+    [scheduling]
+        cycling mode = integer
+        initial cycle point = 1
+        [[graph]]
+            P1 = """
+                buy_ingredients => make_dough
+                pre_heat_oven & make_dough => bake_bread
+                bake_bread => sell_bread & clean_oven
+                clean_oven[-P1] => pre_heat_oven
+   +            sell_bread[-P2] => buy_ingredients
+            """
+
+.. nextslide::
+
+.. ifnotslides::
+
+   This means that ``buy_ingredients`` will run after the ``sell_bread`` task
+   two cycles earlier.
+
+.. note::
+
+   The ``[-P2]`` suffix references a task two cycles back. For the first two
+   cycles this doesn't make sense, so those dependencies (and indeed any before
+   the initial cycle point) will be ignored.
+
+.. digraph:: example
+   :align: center
+
+   size = "4.5,15"
+
+   subgraph cluster_1 {
+       label = 1
+       style = dashed
+       "1/pur" [label="buy_ingredients\n1"]
+       "1/mak" [label="make_dough\n1"]
+       "1/bak" [label="bake_bread\n1"]
+       "1/sel" [label="sell_bread\n1"]
+       "1/cle" [label="clean_oven\n1"]
+       "1/pre" [label="pre_heat_oven\n1"]
+   }
+
+   subgraph cluster_2 {
+       label = 2
+       style = dashed
+       "2/pur" [label="buy_ingredients\n2"]
+       "2/mak" [label="make_dough\n2"]
+       "2/bak" [label="bake_bread\n2"]
+       "2/sel" [label="sell_bread\n2"]
+       "2/cle" [label="clean_oven\n2"]
+       "2/pre" [label="pre_heat_oven\n2"]
+   }
+
+   subgraph cluster_3 {
+       label = 3
+       style = dashed
+       "3/pur" [label="buy_ingredients\n3"]
+       "3/mak" [label="make_dough\n3"]
+       "3/bak" [label="bake_bread\n3"]
+       "3/sel" [label="sell_bread\n3"]
+       "3/cle" [label="clean_oven\n3"]
+       "3/pre" [label="pre_heat_oven\n3"]
+   }
+
+   subgraph cluster_4 {
+       label = 4
+       style = dashed
+       "4/pur" [label="buy_ingredients\n4"]
+       "4/mak" [label="make_dough\n4"]
+       "4/bak" [label="bake_bread\n4"]
+       "4/sel" [label="sell_bread\n4"]
+       "4/cle" [label="clean_oven\n4"]
+       "4/pre" [label="pre_heat_oven\n4"]
+   }
+
+   "1/pur" -> "1/mak" -> "1/bak" -> "1/sel"
+   "1/pre" -> "1/bak" -> "1/cle"
+   "1/cle" -> "2/pre"
+   "1/sel" -> "3/pur"
+   "2/pur" -> "2/mak" -> "2/bak" -> "2/sel"
+   "2/pre" -> "2/bak" -> "2/cle"
+   "2/cle" -> "3/pre"
+   "2/sel" -> "4/pur"
+   "3/pur" -> "3/mak" -> "3/bak" -> "3/sel"
+   "3/pre" -> "3/bak" -> "3/cle"
+   "3/cle" -> "4/pre"
+   "4/pur" -> "4/mak" -> "4/bak" -> "4/sel"
+   "4/pre" -> "4/bak" -> "4/cle"
+
+
+Recurrence Sections
+-------------------
+
+.. ifnotslides::
+
+      In the previous examples we used a
+      ``P1``:term:`recurrence` to make the workflow repeat at successive integer
+      cycle points. Similarly ``P2`` means repeat every *other* cycle, and so
+      on. We can use multiple recurrences to build more complex workflows:
+
+      .. code-block:: cylc
+
+         [scheduling]
+            cycling mode = integer
+            initial cycle point = 1
+            [[graph]]
+               # Repeat every cycle.
+               P1 = foo
+               # Repeat every second cycle.
+               P2 = bar
+               # Repeat every third cycle.
+               P3 = baz
+
+      .. image:: ../../img/recurrence-sections.svg
+         :align: center
+
+.. ifslides::
+
+   .. code-block:: cylc
+
+      [scheduling]
+         cycling mode = integer
+         initial cycle point = 1
+         [[graph]]
+            # Repeat every cycle.
+            P1 = foo
+            # Repeat every second cycle.
+            P2 = bar
+            # Repeat every third cycle.
+            P3 = baz
+
+   .. image:: ../../img/recurrence-sections.svg
+      :align: center
+
+.. nextslide::
+
+.. ifnotslides::
+
+   We can also tell Cylc where to start a recurrence sequence.
+
+   From the initial cycle point:
+      By default, recurrences start at the: :term:`initial cycle point`.
+
+   From an arbitrary cycle point:
+      We can give a different start point like this:
+      ``5/P3`` means repeat every third cycle, starting from cycle number 5.
+      To run a graph at every other cycle point, use ``2/P2``.
+
+   Offset from the initial cycle point:
+      The start point of a recurrence can also be defined as an offset from the
+      :term:`initial cycle point` For example, ``+P5/P3`` means repeat every
+      third cycle from 5 cycles *after* the initial cycle point.
+
+.. ifslides::
+
+   ``2/P2``
+      Repeat every even cycle (Even if your initial cycle point was odd)
+
+   .. image:: ../../img/recurrence-sections2.svg
+      :align: center
+
+   ``+P5/P3``
+      Repeat every third cycle starting 5 cycles *after* the initial cycle
+      point.
+
+   .. nextslide::
+
+   .. rubric:: In this practical we will turn the :term:`workflow <workflow>`
+      of the previous section into a :term:`cycling workflow <cycling>`.
+
+   Next section: :ref:`tutorial-datetime-cycling`
+
+.. _basic cycling practical:
+
+.. practical::
+
+   .. rubric:: In this practical we will turn the :term:`workflow <workflow>`
+      of the previous section into a :term:`cycling workflow <cycling>`.
+
+   If you have not completed the previous practical use the following code for
+   your :cylc:conf:`flow.cylc` file.
+
+   .. code-block:: cylc
+
+      [scheduler]
+          allow implicit tasks = True
+      [scheduling]
+          [[graph]]
+              R1 = """
+                  a & c => b => d & f
+                  d => e
+              """
+
+   #. **Create a new workflow.**
+
+      Create a new source directory ``integer-cycling`` under ``~/cylc-src/``,
+      and move into it:
+
+      .. code-block:: bash
+
+         mkdir -p ~/cylc-src/integer-cycling
+         cd ~/cylc-src/integer-cycling
+
+      Copy the above code into a :cylc:conf:`flow.cylc` file in that directory.
+
+   #. **Make the workflow cycle.**
+
+      Add the following lines to your ``flow.cylc`` file:
+
+      .. code-block:: diff
+
+          [scheduling]
+         +    cycling mode = integer
+         +    initial cycle point = 1
+              [[graph]]
+         -        R1 = """
+         +        P1 = """
+                      a & c => b => d & f
+                      d => e
+                  """
+
+   #. **Visualise the workflow.**
+
+      Try visualising your workflow using ``cylc graph``.
+
+      .. code-block:: none
+
+         cylc graph .
+
+      .. tip::
+
+         You can use the ``-c`` (``--cycles``) option
+         to draw a box around each cycle:
+
+
+         .. code-block:: none
+
+            cylc graph -c .
+
+      .. tip::
+
+         By default ``cylc graph`` displays the first three cycles of the graph,
+         but you can specify the range of cycles on the command line.
+         Here's how to display cycles ``1`` through ``5``:
+
+         .. code-block:: none
+
+            cylc graph . 1 5
+
+   #. **Add another recurrence.**
+
+      Suppose we wanted the ``e`` task to run every *other* cycle
+      as opposed to every cycle. We can do this by adding another
+      recurrence.
+
+      Make the following changes to your :cylc:conf:`flow.cylc` file.
+
+      .. code-block:: diff
+
+          [scheduling]
+              cycling mode = integer
+              initial cycle point = 1
+              [[graph]]
+                  P1 = """
+                      a & c => b => d & f
+         -            d => e
+                  """
+         +        P2 = """
+         +            d => e
+         +        """
+
+      Use ``cylc graph`` to see the effect this has on the workflow.
+
+   #. **intercycle dependencies.**
+
+      Now we will add
+      three intercycle dependencies:
+
+      #. Between ``f`` from the previous cycle and ``c``.
+      #. Between ``d`` from the previous cycle and ``a``
+         *every odd cycle* (e.g. 2/d => 3/a).
+      #. Between ``e`` from the previous cycle and ``a``
+         *every even cycle* (e.g. 1/e => 2/a).
+
+      Try adding these to your :cylc:conf:`flow.cylc` file to
+      make your workflow match the diagram below.
+
+      .. hint::
+
+         * ``P2`` means every other cycle, from the initial cycle point.
+         * ``2/P2`` means every other cycle, from cycle point 2.
+
+      .. digraph:: example
+        :align: center
+
+         size = "4.5,7"
+
+         subgraph cluster_1 {
+             label = 1
+             style = dashed
+             "1/a" [label="a\n1"]
+             "1/b" [label="b\n1"]
+             "1/d" [label="d\n1"]
+             "1/f" [label="f\n1"]
+             "1/c" [label="c\n1"]
+             "1/e" [label="e\n1"]
+         }
+
+         subgraph cluster_2 {
+             label = 2
+             style = dashed
+             "2/a" [label="a\n2"]
+             "2/b" [label="b\n2"]
+             "2/d" [label="d\n2"]
+             "2/f" [label="f\n2"]
+             "2/c" [label="c\n2"]
+         }
+
+         subgraph cluster_3 {
+             label = 3
+             style = dashed
+             "3/a" [label="a\n3"]
+             "3/b" [label="b\n3"]
+             "3/d" [label="d\n3"]
+             "3/f" [label="f\n3"]
+             "3/c" [label="c\n3"]
+             "3/e" [label="e\n3"]
+         }
+
+         "1/a" -> "1/b" -> "1/f"
+         "1/b" -> "1/d"
+         "1/c" -> "1/b"
+         "2/a" -> "2/b" -> "2/f"
+         "2/b" -> "2/d"
+         "2/c" -> "2/b"
+         "3/a" -> "3/b" -> "3/f"
+         "3/b" -> "3/d"
+         "3/c" -> "3/b"
+         "1/d" -> "1/e" -> "2/a"
+         "3/d" -> "3/e"
+         "2/d" -> "3/a"
+         "1/f" -> "2/c"
+         "2/f" -> "3/c"
+
+      .. spoiler:: Solution warning
+
+         .. code-block:: cylc
+
+            [scheduler]
+                allow implicit tasks = True
+            [scheduling]
+                cycling mode = integer
+                initial cycle point = 1
+                [[graph]]
+                    P1 = """
+                        a & c => b => d & f
+                        f[-P1] => c  # (1)
+                    """
+                    P2 = """
+                        d => e
+                        d[-P1] => a  # (2)
+                    """
+                    2/P2 = """
+                        e[-P1] => a  # (3)
+                    """
diff --git a/nightly_8.3/html/_sources/user-guide/compound-commands.rst.txt b/nightly_8.3/html/_sources/user-guide/compound-commands.rst.txt
new file mode 100644
index 00000000000..5ddee2a2d35
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/compound-commands.rst.txt
@@ -0,0 +1,47 @@
+.. _CompoundCommands:
+
+Compound Commands
+=================
+
+Cylc provides compound commands which carry out more than one
+workflow action. For example Cylc provides a command to validate,
+install and play a workflow.
+
+Compound commands make common ways of working easier.
+
+.. note::
+
+   Use ``cylc command --help`` to get help for each compound command,
+   including a full list of available options.
+
+
+``cylc vip`` (Validate, Install and Play)
+-----------------------------------------
+
+``cylc vip /home/me/cylc-src/my-workflow`` is the same as running:
+
+.. code-block:: bash
+
+   $ cylc validate /home/me/cylc-src/my-workflow
+   $ cylc install /home/me/cylc-src/my-workflow
+   INSTALLED my-workflow/run1 from /home/me/cylc-src/my-workflow
+   $ cylc play my-workflow
+
+``cylc vr`` (Validate, Reinstall and Reload or Play)
+----------------------------------------------------
+
+``cylc vr my-workflow`` is the same as running:
+
+.. code-block:: bash
+
+   # Check that the changes you want to
+   # make will be valid after installation:
+   $ cylc validate my-workflow --against-source
+   $ cylc reinstall my-workflow
+
+   # If workflow is running:
+   $ cylc reload my-workflow
+
+   # If workflow is stopped:
+   $ cylc play my-workflow
+
diff --git a/nightly_8.3/html/_sources/user-guide/index.rst.txt b/nightly_8.3/html/_sources/user-guide/index.rst.txt
new file mode 100644
index 00000000000..dca4eeb0abe
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/index.rst.txt
@@ -0,0 +1,15 @@
+User Guide
+==========
+
+
+.. toctree::
+   :maxdepth: 2
+
+   introduction
+   writing-workflows/index
+   installing-workflows
+   running-workflows/index
+   task-implementation/index
+   removing-workflows
+   sharing-access-to-workflows
+   compound-commands
diff --git a/nightly_8.3/html/_sources/user-guide/installing-workflows.rst.txt b/nightly_8.3/html/_sources/user-guide/installing-workflows.rst.txt
new file mode 100644
index 00000000000..4c0d28e10ad
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/installing-workflows.rst.txt
@@ -0,0 +1,459 @@
+.. _Installing-workflows:
+
+Installing Workflows
+====================
+
+Cylc commands identify workflows via their names, which are relative path names
+under the :term:`cylc-run directory`, ``~/cylc-run/`` by default.
+
+Workflows can be grouped together under sub-directories. E.g. there are three
+workflows in the example below: ``nwp/oper/region1``, ``nwp/oper/region2`` and
+``nwp/test/region1``.
+
+.. code-block:: console
+
+   $ cylc scan --state=all --name nwp --format=tree
+   nwp
+   ├─oper
+   │ ├─ region1
+   │ └─ region2
+   └─test
+      └─ region1
+
+This chapter will demonstrate how to install a workflow from an arbitrary
+location, called a :term:`source directory`.
+``cylc install`` will create a new run directory in the :term:`cylc-run directory`
+for each installation of a workflow.
+
+.. _Install-Workflow:
+
+The Cylc Install Command
+------------------------
+
+Workflows can be installed with the ``cylc install`` command, which creates
+the :term:`run directory` structure and some service files underneath it.
+
+.. note::
+
+   It is possible to run a workflow without installation by writing it
+   directly in the run directory.
+   However, we recommend that you write your workflow in a source
+   directory and use ``cylc install`` to create a fresh run directory.
+
+
+.. _Using Cylc Install:
+
+Using Cylc Install
+------------------
+
+``cylc install`` accepts as its only argument either:
+
+* a workflow source name (see :ref:`configurable source dirs` below) e.g.
+  ``foo/bar``
+* a path to the source directory e.g. ``./foo/bar`` or ``/path/to/foo/bar``
+  (note that relative paths must begin with ``./`` to distinguish them from
+  workflow source names)
+
+If no argument is supplied, the current working directory is used as the
+source directory.
+
+.. note::
+
+   To avoid confusion, ``cylc install`` does not permit any of the following
+   reserved directory names: |reserved_filenames|
+
+
+Options
+^^^^^^^
+
+The table below illustrates several command line options that control naming
+of run directories for installed workflows (the current working directory in
+these examples is ``~/cylc-src/my-flow``):
+
+.. csv-table::
+   :header: Command, Results in Installation in Directory
+   :align: left
+
+   ``cylc install``, ``~/cylc-run/my-flow/run1``
+   ``cylc install --no-run-name``, ``~/cylc-run/my-flow``
+   ``cylc install --run-name=new-run``, ``~/cylc-run/my-flow/new-run``
+   ``cylc install --workflow-name=new-name``, ``~/cylc-run/new-name/run1``
+
+
+.. _configurable source dirs:
+
+Configurable Source Directories
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+You can configure a list of directories that ``cylc install SOURCE_NAME``
+and the GUI will search for source directories inside, using
+:cylc:conf:`global.cylc[install]source dirs`. For example, if you have
+
+.. code-block:: cylc
+
+   # global.cylc
+   [install]
+       source dirs = ~/cylc-src, ~/roses
+
+then ``cylc install dogs/fido`` will search for a workflow source directory
+``~/cylc-src/dogs/fido``, or, failing that, ``~/roses/dogs/fido``, and install
+the first match (into ``~/cylc-run/dogs/fido/run1``).
+
+
+Numbered Runs
+^^^^^^^^^^^^^
+
+By default, ``cylc install`` creates numbered run directories, i.e.
+``~/cylc-run/<workflow-name>/run<number>``, provided the options
+``--run-name`` or ``--no-run-name`` are not used. The run number automatically
+increments each time ``cylc install`` is run, and a symlink ``runN`` is
+created/updated to point to the run.
+
+Example: A typical run directory structure, after three executions of
+``cylc install`` will look as follows.
+
+.. code-block:: none
+
+   ├── _cylc-install
+   │   └── source -> /home/cylc-src/test-flow
+   ├── run1
+   │   ├── flow.cylc
+   │   └── log
+   │       └── install
+   │           └── <time-stamp>-install.log
+   ├── run2
+   │   ├── flow.cylc
+   │   └── log
+   │       └── install
+   │           └── <time-stamp>-install.log
+   ├── run3
+   │   ├── flow.cylc
+   │   └── log
+   │       └── install
+   │           └── <time-stamp>-install.log
+   └── runN -> /home/cylc-run/test-flow/run3
+
+The numbered runs option may be overridden, using either the ``--no-run-name``
+or the ``--run-name`` options.
+
+
+Named Runs
+^^^^^^^^^^
+
+As an alternative to numbered runs, it is possible to name the runs, using the
+``--run-name`` option.
+In this case, the ``runN`` symlink will not be created.
+This option cannot be used if numbered runs are already present. Likewise,
+numbered runs cannot be used if named runs are already present.
+
+
+.. _SymlinkDirs:
+
+Symlink Directories
+^^^^^^^^^^^^^^^^^^^
+
+You can configure workflow :term:`run directories <run directory>` and certain
+sub-directories as symlinks to other locations. This is a useful way of
+offloading data onto other drives to limit the disk space taken up by
+``~/cylc-run``.
+
+Directories that can be individually symlinked are:
+
+* ``log``
+* ``share``
+* ``share/cycle``
+* ``work``
+* the :term:`run directory` itself
+
+The symlink targets are configured per install target in
+:cylc:conf:`global.cylc[install][symlink dirs]`. For more information see
+:ref:`SymlinkDirsSetup`
+
+
+The Cylc Install Process
+------------------------
+
+There are two main parts of the ``cylc install`` process.
+
+1. File Installation
+
+2. Symlinking of Directories
+
+.. _File Installation:
+
+1. File Installation
+^^^^^^^^^^^^^^^^^^^^
+
+Installation will involve copying the files found in the source directory into
+a new run directory. If you wish to install files into an existing run
+directory, use ``cylc reinstall``, see :ref:`Reinstalling a Workflow`.
+
+Excluding Items From Installation
+"""""""""""""""""""""""""""""""""
+
+By default, cylc install will exclude ``.git``, ``.svn`` directories.
+To configure excluded files and directories from the file installation,
+create a ``.cylcignore`` file in your source directory, this supports
+pattern matching.
+
+The following example will detail how to install a workflow, including
+configuring files to be excluded from the installation.
+
+.. _Example Installation:
+
+Example Installation
+""""""""""""""""""""
+
+For example:
+We will look at running the cylc install command inside the directory
+``~/cylc-src/test-flow`` with the following directory structure:
+
+.. code-block:: console
+
+   $ pwd
+   /home/cylc-src/test-flow
+
+.. code-block:: console
+
+   $ tree -all
+   ├── .cylcignore
+   ├── dir1
+   │   ├── another-file
+   │   └── file
+   ├── dir2
+   │   ├── another-file
+   │   └── file
+   ├── file1
+   ├── file2
+   ├── file3
+   ├── flow.cylc
+   ├── textfile1.txt
+   └── textfile2.txt
+
+We wish to omit any files matching the pattern ``*.txt``,  the file
+``file1``, the contents of ``dir1`` and the contents of ``dir2`` including the
+directory itself.
+
+.. code-block:: console
+
+   $ cat .cylcignore
+   *.txt
+   file1
+   dir1/*
+   dir2
+
+
+Now we are ready to install our workflow.
+
+.. code-block:: console
+
+   $ cylc install
+   INSTALLED test-flow from home/cylc-src/test-flow -> home/cylc-run/test-flow/run1
+
+Looking at the directory structure that has been created
+
+.. code-block:: console
+
+   $ tree -all home/cylc-run/test-flow/run1
+   ├── dir1
+   ├── file2
+   ├── file3
+   ├── flow.cylc
+   ├── log
+   │   └── install
+   │       └── <time-stamp>-install.log
+   └── .service
+
+
+.. _Symlinking of Directories:
+
+2. Symlinking of Directories
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+If symlink directories are configured in the ``[[[localhost]]]`` section in
+:cylc:conf:`global.cylc[install][symlink dirs]`,
+``cylc install`` will create these symlinks and their target locations
+(symlinks for remote install targets do not get created until
+:term:`starting <start>` the workflow).
+
+Override default symlink locations
+""""""""""""""""""""""""""""""""""
+
+You can override the default locations set in
+:cylc:conf:`global.cylc[install][symlink dirs]` by using the ``--symlink-dirs``
+option with ``cylc install``.
+
+For example, using the command line option
+``--symlink-dirs="log=$DIR, run=/path/to/dir,..."`` will symlink:
+
+- ``$DIR -> ~/cylc-run/workflow/log``
+- ``/path/to/dir -> ~/cylc-run/workflow/run``
+
+.. note::
+
+   If configuring symlink dirs on the command line, the global configured
+   symlink dirs will not be used to source directories not included in
+   the command line list.
+
+
+To skip making localhost symlinks
+"""""""""""""""""""""""""""""""""
+
+Use ``--symlink-dirs=""`` with the ``cylc install`` command.
+
+
+
+Automatically Generated Directories and Files
+---------------------------------------------
+
+Running ``cylc install`` will generate some extra files in your workflow run
+directory.
+
+- The :term:`service directory` will be created in preparation for running the
+  workflow. This is needed to store essential files used by Cylc.
+
+- A ``_cylc-install`` directory containing a ``source`` symlink to the
+  :term:`source directory`.
+  This is needed to enable Cylc to determine the original workflow source
+  for ``cylc reinstall``.
+
+- A new ``install`` directory in the workflow's log directory, with a
+  time-stamped install log file containing information about the installation.
+
+Cylc plugins (such as :ref:`Cylc Rose`) may generate additional files.
+
+
+.. _Reinstalling a Workflow:
+
+Reinstalling a Workflow
+-----------------------
+
+To apply changes from your source directory to the installed run directory,
+use ``cylc reinstall``.  Changes made will be recorded in the workflow log
+directory.
+
+For example:
+
+.. code-block:: console
+
+   $ cylc reinstall myflow/run1
+
+Cylc will determine the source directory and update your workflow.
+
+Returning to the example from above (see :ref:`Example Installation`).
+
+The source directory, ``~/cylc-src/test-flow`` has been altered as follows:
+
+.. code-block:: console
+
+   $ tree -all ~/cylc-src/test-flow
+   ├── .cylcignore
+   ├── dir1
+   │   ├── another-file
+   │   └── file
+   ├── dir2
+   │   ├── another-file
+   │   └── file
+   ├── dir3
+   │   ├── another-file
+   │   └── file
+   ├── file1
+   ├── file2
+   ├── file3
+   ├── flow.cylc
+   ├── textfile1.txt
+   └── textfile2.txt
+
+.. code-block:: console
+
+   $ cat .cylcignore
+   *.txt
+   file1
+   dir2
+
+We wish to update our ``~/cylc-run/test-flow/run1`` with the directories ``dir1``
+and ``dir3``:
+
+.. code-block:: console
+
+    $ cylc reinstall test-flow/run1
+
+The run directory now looks as follows:
+
+.. code-block:: console
+
+   $ tree -all home/cylc-run/test-flow/run1
+   ├── dir1
+   │   ├── another-file
+   │   └── file
+   ├── dir3
+   │   ├── another-file
+   │   └── file
+   ├── file2
+   ├── file3
+   ├── flow.cylc
+   ├── log
+   │   └── install
+   │       └── <time-stamp>-install.log
+   │       └── <time-stamp>-reinstall.log
+   └── .service
+
+.. note::
+
+   If your workflow needs to create or install scripts or executables at runtime
+   and you don't want Cylc to delete them on re-installation, you can use
+   ``bin`` and ``lib/python`` directories in the
+   :ref:`workflow share directory<workflow_share_directories>`.
+
+
+Expected Errors
+---------------
+
+There are some occasions when installation is expected to fail:
+
+- ``log``, ``share``, ``work`` or ``_cylc-install`` directories exist in the
+  :term:`source directory`
+
+- Neither :cylc:conf:`flow.cylc` nor the deprecated ``suite.rc`` are found in
+  the :term:`source directory`
+
+- Both :cylc:conf:`flow.cylc` and the deprecated ``suite.rc`` are found in
+  the :term:`source directory`. Only one should be present.
+
+- The workflow name is an absolute path or invalid
+
+  Workflow names are validated by
+  :py:class:`cylc.flow.unicode_rules.WorkflowNameValidator`.
+
+  .. autoclass:: cylc.flow.unicode_rules.WorkflowNameValidator
+
+- The workflow name contains a directory name that is any of these reserved
+  filenames: |reserved_filenames|
+
+- The install would create nested install directories. Neither a new
+  installation in a subdirectory of an existing one, nor a directory containing
+  an existing installation are permitted. For example, having installed a
+  workflow in ``bar`` you would be unable to install one in ``foo``
+  or ``foo/bar/baz``.
+
+  .. code-block:: none
+
+      foo
+      └── bar
+          ├── _cylc-install
+          ├── baz
+          ├── run1
+          └── runN
+
+  This means you cannot install using ``--no-run-name`` for a workflow that
+  has installed numbered/named runs, nor can you install numbered/named runs
+  for a workflow where ``--no-run-name`` was used.
+
+- Trying to install a workflow into an already existing run directory.
+  ``cylc reinstall`` should be used for this, see
+  :ref:`Reinstalling a Workflow`.
+
+- The source directory path does not match the source directory path of a
+  previous installation. i.e. running ``cylc install`` in
+  ``~/cylc-src/my-flow``, followed by running ``cylc install`` from
+  ``~/different/my-flow``.
diff --git a/nightly_8.3/html/_sources/user-guide/introduction.rst.txt b/nightly_8.3/html/_sources/user-guide/introduction.rst.txt
new file mode 100644
index 00000000000..0df90f96ca8
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/introduction.rst.txt
@@ -0,0 +1,102 @@
+Introduction
+============
+
+
+What is a Workflow?
+-------------------
+
+.. epigraph::
+
+   A workflow consists of an orchestrated and repeatable pattern of business
+   activity enabled by the systematic organization of resources into processes
+   that transform materials, provide services, or process information.
+
+   -- Wikipedia
+
+
+.. tutorial:: What is a Workflow? <cylc-what-is-a-workflow>
+
+
+What is Cylc?
+-------------
+
+Cylc (pronounced silk) is a workflow engine, a system that automatically
+executes tasks according to schedules and dependencies.
+
+In a Cylc workflow each step is an application: an executable command, script,
+or program. Cylc runs each task as soon as it is appropriate to do so.
+
+
+.. tutorial:: What is Cylc? <cylc-what-is-cylc>
+
+
+Cylc and Cycling Workflows
+--------------------------
+
+A *cycling workflow* is a repetitive process involving many interdependent
+tasks. Cylc tasks wrap arbitrary applications: executable commands,
+scripts, or programs. Example use cases include:
+
+- Processing many similar datasets, through a pipeline or graph of tasks
+- Forecasting systems that generate new forecasts at regular intervals
+- Splitting a long model run and associated processing tasks into many smaller runs
+- Iterative tuning of model parameters by model, processing, and validation tasks
+
+Cycling systems were traditionally managed by repeat-running the single-cycle
+workflow, finishing each new cycle before starting the next. Sometimes, however,
+it can be much more efficient to run multiple cycles at once. Even in real time
+forecasting systems that normally have a gap between cycles waiting on new
+data, this can greatly speed catch up from delays or downtime. But it can't
+be done if the workflow manager has a global loop that handles only one cycle
+at a time and does not understand any intercycle dependence that may be present.
+
+.. important::
+
+   Cylc handles inter- and intra-cycle dependence equally, and it unrolls the
+   cycle loop to create a single non-cycling workflow of repeating tasks, each
+   with its own individual *cycle point*.
+
+.. image:: ../img/cycling.png
+   :align: center
+
+This removes the artificial barrier between cycles. Cylc tasks can advance
+constrained only by their individual dependencies, for maximum concurrency
+across as well as within cycles. This allows fast catch-up from delays in
+real time systems, and sustained high throughput off the clock.
+
+
+How to Run User Guide Examples
+------------------------------
+
+Many Cylc concepts and features in this document are illustrated with minimal
+snippets of workflow configuration. Most of these can be turned into a complete
+workflow that you can actually run, with a few easy steps:
+
+- Add scheduling section headings, if missing, above the graph
+- Use ``[scheduler]allow implicit tasks = True`` to automatically create dummy definitions
+  for each task
+- Configure the ``root`` task family to make the dummy jobs take a little time
+  to run, so the workflow doesn't evolve too quickly
+- For cycling graphs, configure an initial cycle point to start at
+
+For example, here is a small cycling workflow graph:
+
+.. code-block:: cylc-graph
+
+   # Avoid caffeine withdrawal
+   PT6H = "grind_beans => make_coffee => drink_coffee"
+
+And here it is as a complete runnable workflow:
+
+.. code-block:: cylc
+
+   [scheduler]
+       allow implicit tasks = True
+   [scheduling]
+       initial cycle point = now
+       [[graph]]
+           # Avoid caffeine withdrawal
+           PT6H = "grind_beans => make_coffee => drink_coffee"
+   [runtime]
+       [[root]]
+           script = "sleep 10"
diff --git a/nightly_8.3/html/_sources/user-guide/removing-workflows.rst.txt b/nightly_8.3/html/_sources/user-guide/removing-workflows.rst.txt
new file mode 100644
index 00000000000..3286f5b5a51
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/removing-workflows.rst.txt
@@ -0,0 +1,117 @@
+.. _Removing-workflows:
+
+Removing Workflows
+==================
+
+To delete an installed workflow :term:`run directory`, we recommend using
+the ``cylc clean`` command. ``cylc clean`` takes care of deleting workflows
+on the local filesystem and any remote install targets.
+It follows any symlink directories specified in
+:cylc:conf:`global.cylc[install][symlink dirs]`
+(see :ref:`CleanSymlinkDirsNote` below). You can also use ``cylc clean`` to
+just delete certain files or subdirectories (see :ref:`TargetedClean` below).
+
+If you've used ``rose suite-clean`` before, the functionality is similar, but
+not identical.
+
+.. note::
+
+   ``cylc clean`` only affects workflow :term:`run directories <run directory>`
+   (located in the :term:`cylc-run directory`). It will not affect
+   workflow :term:`source directories <source directory>`.
+
+.. warning::
+
+   ``cylc clean`` is intended for use on workflows installed with
+   ``cylc install``. If you clean a workflow that was instead written
+   directly in the cylc-run directory and not backed up elsewhere,
+   it will be lost.
+
+Simple example of using ``cylc clean``:
+
+.. code-block:: console
+
+   $ cylc clean myflow/run1
+   INFO - Removing directory: ~/cylc-run/myflow/run1
+
+
+Cleaning on remote install targets
+----------------------------------
+
+If any jobs in your workflow ran on a remote :term:`platform`, Cylc will
+automatically remove the workflow files on there in addition to the local
+filesystem.
+
+.. code-block:: console
+
+   $ cylc clean remote-example
+   INFO - Cleaning on install target: enterprise1701
+   INFO - [enterprise1701]
+           INFO - Removing directory: /home/user/cylc-run/remote-example/run1
+   INFO - Removing directory: ~/cylc-run/remote-example/run1
+
+.. note::
+
+   This relies on determining which platforms were used from the workflow
+   database. If the platforms recorded in the database are out of date with
+   the global configuration, or if the database is missing altogether, you will
+   have to manually remove the files on remote install targets.
+
+You can also clean on just the local filesystem using the ``--local`` option,
+or just the remote install target using the ``--remote`` option.
+
+
+.. _TargetedClean:
+
+Cleaning specific subdirectories or files
+-----------------------------------------
+
+You can clean specific subdirectories or files inside a run directory using
+the ``--rm`` option (we refer to this as a targeted clean).
+For example, to remove the ``log`` and ``work`` directories:
+
+.. code-block:: console
+
+   $ cylc clean myflow --rm log --rm work
+
+Colons can be used to delimit the items to clean, so the following is
+equivalent:
+
+.. code-block:: console
+
+   $ cylc clean myflow --rm log:work
+
+You can also use globs. E.g., to remove all job logs for cycle points
+beginning with ``2020``:
+
+.. code-block:: console
+
+   $ cylc clean myflow --rm 'log/job/2020*'
+
+.. note::
+
+   Make sure to place glob patterns in quotes.
+
+.. _CleanSymlinkDirsNote:
+
+A note on symlink directories
+-----------------------------
+
+.. admonition:: Does this affect me?
+   :class: tip
+
+   If you use symlink directories specified in
+   :cylc:conf:`global.cylc[install][symlink dirs]`, you might want to read
+   this explanation of how Cylc handles them during cleaning.
+
+If you manually delete a run directory (e.g., using the ``rm`` command or the
+file manager), only the symlinks themselves will be deleted, not the actual
+targets. In contrast, ``cylc clean`` follows the symlinks and deletes the
+targets.
+
+- It only does this for the symlinks that can be set in
+  :cylc:conf:`global.cylc[install][symlink dirs]`, not any custom
+  user-created symlinks.
+- It does not actually look up the global configuration at time of cleaning;
+  it simply detects what symlinks are present out of the possible ones.
+- It also does this for targeted clean (using the ``--rm`` option).
diff --git a/nightly_8.3/html/_sources/user-guide/running-workflows/authentication-files.rst.txt b/nightly_8.3/html/_sources/user-guide/running-workflows/authentication-files.rst.txt
new file mode 100644
index 00000000000..e34f80e641b
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/running-workflows/authentication-files.rst.txt
@@ -0,0 +1,54 @@
+
+.. _ConnectionAuthentication:
+
+Client-Server Interaction
+-------------------------
+
+:term:`Schedulers <scheduler>` listen on dedicated network ports for
+TCP communications from Cylc clients (jobs and user-invoked commands).
+
+Use ``cylc scan`` to see which workflows are listening on which ports on
+scanned hosts.
+
+Cylc generates public-private key pairs on the workflow server and job hosts
+which are used for authentication.
+
+
+.. _Authentication Files:
+
+Authentication Files
+--------------------
+
+Cylc uses `CurveZMQ`_ to ensure that
+any data, sent between the :term:`scheduler <scheduler>` and the client,
+remains protected during transmission. Public keys are used to encrypt the
+data, private keys for decryption.
+
+Authentication files will be created in your
+``$HOME/cylc-run/<workflow-id>/.service/`` directory at start-up. You can
+expect to find one client public key per file system for remote jobs.
+
+On the workflow host, the directory structure should contain:
+
+.. code-block:: none
+
+   ~/cylc-run/workflow_x
+   `-- .service
+       |-- client_public_keys
+       |   |-- client_localhost.key
+       |   `-- <any further client keys>
+       |-- client.key_secret
+       |-- server.key
+       `-- server.key_secret
+
+On the remote job host, the directory structure should contain:
+
+.. code-block:: none
+
+   ~/cylc-run/workflow_x
+   `-- .service
+       |-- client.key
+       |-- client.key_secret
+       `-- server.key
+
+Keys are removed as soon as they are no longer required.
diff --git a/nightly_8.3/html/_sources/user-guide/running-workflows/dynamic-behaviour.rst.txt b/nightly_8.3/html/_sources/user-guide/running-workflows/dynamic-behaviour.rst.txt
new file mode 100644
index 00000000000..0b892513b3a
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/running-workflows/dynamic-behaviour.rst.txt
@@ -0,0 +1,21 @@
+.. _cylc-broadcast:
+
+Cylc Broadcast
+--------------
+
+The ``cylc broadcast`` command overrides task :cylc:conf:`[runtime]`
+settings in a running scheduler. You can think of it as communicating
+new configuration settings (including information via environment variables) to
+selected upcoming tasks via the scheduler.
+
+See ``cylc broadcast --help`` for detailed information.
+
+Broadcast settings targeting a specific cycle point expire as the workflow
+moves on. Otherwise they persist for lifetime of the run, and across restarts,
+unless cleared with another invocation of the command.
+
+.. seealso::
+
+   :ref:`broadcast-tutorial`
+
+.. TODO: document sub-workflows
diff --git a/nightly_8.3/html/_sources/user-guide/running-workflows/handling-job-preemption.rst.txt b/nightly_8.3/html/_sources/user-guide/running-workflows/handling-job-preemption.rst.txt
new file mode 100644
index 00000000000..b42274d4ee8
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/running-workflows/handling-job-preemption.rst.txt
@@ -0,0 +1,26 @@
+.. _PreemptionHPC:
+
+Handling Job Preemption
+-----------------------
+
+Some HPC facilities allow job preemption: the resource manager can kill
+or suspend running low priority jobs in order to make way for high
+priority jobs. The preempted jobs may then be automatically restarted
+by the resource manager, from the same point (if suspended) or requeued
+to run again from the start (if killed).
+
+Suspended jobs will poll as still running (their job status file says they
+started running, and they still appear in the resource manager queue).
+Loadleveler jobs that are preempted by kill-and-requeue ("job vacation") are
+automatically returned to the submitted state by Cylc. This is possible
+because Loadleveler sends the SIGUSR1 signal before SIGKILL for preemption.
+Other :term:`job runners <job runner>` just send SIGTERM before SIGKILL as normal, so Cylc
+cannot distinguish a preemption job kill from a normal job kill. After this the
+job will poll as failed (correctly, because it was killed, and the job status
+file records that). To handle this kind of preemption automatically you could
+use a task failed or retry event handler that queries the job runner queue
+(after an appropriate delay if necessary) and then, if the job has been
+requeued, uses ``cylc reset`` to reset the task to the submitted state.
+
+
+
diff --git a/nightly_8.3/html/_sources/user-guide/running-workflows/index.rst.txt b/nightly_8.3/html/_sources/user-guide/running-workflows/index.rst.txt
new file mode 100644
index 00000000000..fce48c4a85e
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/running-workflows/index.rst.txt
@@ -0,0 +1,21 @@
+.. _RunningWorkflows:
+
+Running Workflows
+=================
+
+.. toctree::
+   :maxdepth: 2
+
+   scheduler-start-up
+   task-job-states
+   tasks-jobs-ui
+   retrying-tasks
+   tracking-task-state
+   workflow-completion
+   reflow
+   simulation-modes
+   scheduler-log-files
+   dynamic-behaviour
+   authentication-files
+   workflow-databases
+   handling-job-preemption
diff --git a/nightly_8.3/html/_sources/user-guide/running-workflows/reflow.rst.txt b/nightly_8.3/html/_sources/user-guide/running-workflows/reflow.rst.txt
new file mode 100644
index 00000000000..3bac689f60e
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/running-workflows/reflow.rst.txt
@@ -0,0 +1,242 @@
+.. _user-guide-reflow:
+
+Concurrent Flows
+================
+
+.. versionadded:: 8.0.0
+
+In Cylc, a *flow* is a single self-consistent run through the workflow
+:term:`graph` from some initial task(s).
+
+As a flow advances, upcoming tasks run only if they have not already run in
+the same flow.
+
+At start-up the :term:`scheduler` automatically triggers the first flow from
+the start of the graph. 
+
+By default, manually triggered tasks "belong to" the existing flow(s), but you
+can also choose to start new flows by triggering tasks anywhere in the graph.
+
+.. note::
+   A flow does not have to be contiguous in the graph because different graph
+   branches can evolve at different rates, and tasks can be manually triggered
+   anywhere in the graph.
+
+See :ref:`below<flow-trigger-use-cases>` for uses, and an
+:ref:`example<new-flow-example>`, of concurrent flows.
+
+.. note::
+   Flows :ref:`merge<flow-merging>` where (and if) tasks collide in the ``n=0``
+   :term:`active window`. Downstream of a merge, tasks are considered to belong
+   to all of their constituent flows.
+
+
+Flow Numbers
+------------
+
+Flows are identified by numbers passed down from parent task to child task in
+the graph.
+
+Flow number ``1`` is triggered automatically by ``cylc play`` at :term:`scheduler`
+start-up. The next flow started by :ref:`manual triggering<triggering-flows>`
+gets the number ``2``, then ``3``, and so on.
+
+Tasks can carry multiple flow numbers as a result of :ref:`flow
+merging<flow-merging>`.
+
+.. note::
+   Flow numbers are not yet exposed in the UI, but they are logged with task
+   events in the :term:`scheduler log`.
+
+
+.. _triggering-flows:
+
+Triggering & Flows
+------------------
+
+By default, manual triggering (with ``cylc trigger`` or the UI) starts a new
+:term:`front of activity<flow front>` in current flows.
+But it can also start new flows and trigger flow-independent single tasks.
+
+In the diagrams below, the grey tasks run in the original flow (``1``), and the
+blue ones run as a result of a manual triggering event. They may be triggered
+as part of flow ``1``, or as a new flow ``2``, or with no flow number.
+
+Triggering in Current Flows
+   ``cylc trigger [--wait] ID``
+
+   This is the default action. The triggered task gets all current active flow
+   numbers. Subsequently, each of those flows will consider the task to have
+   run already.
+
+   **Ahead of active flows** this starts a new front of activity for the
+   existing flows, which by default can continue on without waiting for them to
+   catch up:
+
+   .. image:: ../../img/same-flow-n.png
+
+   With ``--wait``, action downstream of the triggered task is delayed until
+   the first flow catches up:
+
+   .. image:: ../../img/same-flow-wait-n.png
+
+   **Behind active flows** the triggered task will run, but nothing more will
+   happen if any of the original flows already passed by there:
+
+   .. image:: ../../img/same-flow-behind.png
+
+Triggering in Specific Flows
+   ``cylc trigger --flow=1,2 ID``
+
+   This triggers the task with flow numbers ``1`` and ``2``.
+
+   The result is like the default above, except that tasks in the new front
+   belong only to the specified flow(s), regardless of which flows are
+   :term:`active` at triggering time.
+
+Triggering a New Flow
+   ``cylc trigger --flow=new ID``
+
+   This triggers the task with a new, incremented flow number.
+
+   The new flow will re-run tasks that already ran in previous flows:
+
+   .. image:: ../../img/new-flow-n.png
+
+
+Triggering a Flow-Independent Single Task
+   ``cylc trigger --flow=none ID``
+
+   This triggers a task with no flow numbers.
+
+   It will not spawn children, and other flows that come by will re-run it.
+
+   .. image:: ../../img/no-flow-n.png
+
+Triggering with No Active Flows
+   ``cylc trigger [--wait] ID``
+
+   By default, triggered tasks will be given the flow numbers of the most
+   recent active task. This can happen, for instance, if you restart a
+   completed workflow and then trigger a task in it. The result will be the
+   same as if you had triggered the task just before the workflow completed.
+
+Special Case: Triggering ``n=0`` Tasks
+   Tasks in the ``n=0`` window are :term:`active`, :term:`active-waiting`, or
+   :term:`incomplete`. Their flow membership is already determined - that of
+   the parent tasks that spawned them.
+
+   - Triggering an :term:`active task` has no effect (it is already triggered).
+   - Triggering an :term:`active-waiting task` queues it to run in the same flow.
+   - Triggering an :term:`incomplete task` queues it to re-run in the same flow.
+
+
+.. _flow-merging:
+
+Flow Merging in ``n=0``
+-----------------------
+
+If a task spawning into the ``n=0`` :term:`window` finds another instance
+of itself already there (i.e., same name and cycle point, different flow
+number) a single instance will carry both (sets of) flow numbers forward from
+that point. Downstream tasks belong to both flows.
+
+Flow merging in ``n=0`` means flows are not completely independent. One flow
+might not be able to entirely overtake another because one or more of its tasks
+might merge in ``n=0``. Merging is necessary while task IDs - and associated
+log directory paths etc. - do not incorporate flow numbers, because task IDs
+must be unique in the :term:`active task pool`.
+
+Merging with Incomplete tasks
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+:term:`Incomplete<incomplete>` tasks are retained in the active window in
+expectation of retriggering to complete :term:`required outputs<required
+output>` and continue their flow.
+
+If another flow encounters an incomplete task (i.e. if another instance of the
+same task collides with it in the ``n=0`` :term:`active window`) the task will
+run again and carry both flow numbers forward if it successfully completes its
+required outputs.
+
+
+Stopping Flows
+--------------
+
+By default, ``cylc stop`` halts the workflow and shuts the scheduler down.
+
+It can also stop specific flows: ``cylc stop --flow=N`` removes the flow number
+``N`` from tasks in the :term:`active task pool`. Tasks that have no flow
+numbers left as a result do not spawn children at all. If there are no active
+flows left, the scheduler shuts down.
+
+.. TODO update this section post https://github.com/cylc/cylc-flow/issues/4741
+
+
+.. _flow-trigger-use-cases:
+
+Some Use Cases
+--------------
+
+Running Tasks Ahead of Time
+   To run a task within the existing flow(s) even though its prerequisites are
+   not yet satisfied, just trigger it. Use ``--wait`` if you don't want the new
+   flow front to continue immediately. Triggered task(s) will not re-run when
+   the main front catches up.
+
+Regenerating Outputs Behind a Flow
+   To re-run a sub-graph (e.g. because the original run was affected by a
+   corrupt file), just trigger the task(s) at the top of the sub-graph with
+   ``--flow=new``.
+
+   You may need to manually stop the new flow if it leads into the main trunk
+   of the graph, and you do not want it to carry on indefinitely.
+
+Rewinding a Workflow
+   To rewind the workflow to an earlier point, perhaps to regenerate data and/or 
+   allow the workflow to evolve a new path into the future, trigger a new
+   flow at the right place and then stop the original flow.
+
+Test-running Tasks in a Live Workflow
+   You can trigger individual tasks as many times as you like with
+   ``--flow=none``, without affecting the workflow. The task :term:`submit
+   number` will increment each time.
+
+Processing Flow-Specific Data?
+   :term:`Flow numbers<flow number>` are passed to job environments, so it is
+   possible for tasks to process flow-specific data. Every task would have to
+   be capable of processing multiple datasets at once, however, in case of
+   :term:`flow merging<flow merge>`. Generally, you should use :term:`cycling`
+   for this kind of use case.
+
+.. _new-flow-example:
+
+Example: Rerun a Sub-Graph
+---------------------------
+
+The following :term:`cycling workflow` runs a :term:`task` called ``model`` in
+every cycle, followed by a postprocessing task, two product-generating tasks,
+and finally a task that publishes results for the cycle point:
+
+.. code-block:: cylc
+
+   [scheduling]
+       cycling mode = integer
+       initial cycle point = 1
+       [[graph]]
+           P1 = model[-P1] => model => post => prod1 & prod2 => publish
+
+Let's say the workflow has run to cycle 8, but we have just noticed that
+a corrupted ancillary file resulted in bad products at cycle 5.
+
+To rectify this we could fix the corrupted file and trigger a new flow at
+``5/post``:
+
+.. code-block:: cylc
+
+   cylc trigger --flow=new <workflow_id>//5/post
+
+The new flow will regenerate and republish cycle 5 products before naturally
+coming to a halt, because the triggered tasks do not feed into the next cycle.
+
+Meanwhile, the original flow will carry on unaffected, from cycle point 8.
diff --git a/nightly_8.3/html/_sources/user-guide/running-workflows/retrying-tasks.rst.txt b/nightly_8.3/html/_sources/user-guide/running-workflows/retrying-tasks.rst.txt
new file mode 100644
index 00000000000..389086eabaa
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/running-workflows/retrying-tasks.rst.txt
@@ -0,0 +1,50 @@
+Retrying Tasks
+==============
+
+.. versionchanged:: 8.0.0
+
+Tasks that fail but are configured to :term:`retry` return to the ``waiting``
+state, with a new clock trigger to handle the configured retry delay.
+
+.. note::
+
+   A task that is waiting on a retry will already have one or more failed jobs
+   associated with it.
+
+
+.. note::
+
+   Tasks only enter the ``submit-failed`` state if job submission fails with no
+   retries left. Otherwise they return to the waiting state, to wait on the
+   next try.
+
+   Tasks only enter the ``failed`` state if job execution fails with no retries
+   left. Otherwise they return to the waiting state, to wait on the next try.
+
+
+
+Aborting a Retry Sequence
+-------------------------
+
+To prevent a waiting task from retrying, remove it from the scheduler's
+:term:`active window`. For a task ``3/foo`` in workflow ``brew``:
+
+.. code-block:: console
+
+   $ cylc remove brew//3/foo
+
+If you *kill* a running task that has more retries configured, it goes to the
+``held`` state so you can decide whether to release it and continue the retry
+sequence, or remove it.
+
+.. code-block:: console
+
+   $ cylc kill brew//3/foo     # 3/foo goes to held state post kill
+   $ cylc release brew//3/foo  # release to continue retrying...
+   $ cylc remove brew//3/foo   # ... OR remove the task to stop retries
+
+
+If you want trigger downstream tasks despite ``3/foo`` being removed before it
+could succeed, use ``cylc set-outputs`` to artificially mark its ``succeeded``
+output as complete (and with the ``--flow`` option, to make the :term:`flow`
+continue on from there).
diff --git a/nightly_8.3/html/_sources/user-guide/running-workflows/scheduler-log-files.rst.txt b/nightly_8.3/html/_sources/user-guide/running-workflows/scheduler-log-files.rst.txt
new file mode 100644
index 00000000000..a04d87ef559
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/running-workflows/scheduler-log-files.rst.txt
@@ -0,0 +1,67 @@
+.. _Scheduler Logs:
+
+Scheduler Logs
+--------------
+
+Each workflow maintains its own log of time-stamped events in the
+:term:`workflow log directory` (``$HOME/cylc-run/<workflow-id>/log/scheduler/``).
+
+The information logged here includes:
+
+- Event timestamps, at the start of each line
+- Workflow server host, port and process ID
+- Workflow initial and final cycle points
+- Workflow start type (i.e. cold start, warn start, restart)
+- Task events (task started, succeeded, failed, etc.)
+- Workflow stalled warnings.
+- Client commands (e.g. ``cylc hold``)
+- Job IDs.
+- Information relating to the remote file installation is contained in a
+  separate log file, which can be found in
+  ``$HOME/cylc-run/<workflow-id>/log/remote-install/``.
+
+.. note::
+
+   Workflow log files are primarily intended for human eyes. If you need
+   to have an external system to monitor workflow events automatically, use:
+
+   * Event hooks (see :cylc:conf:`flow.cylc[scheduler][events]` and
+     :cylc:conf:`flow.cylc[runtime][<namespace>][events]`).
+   * The GraphQL interface (can be accessed via GraphiQL in the Cylc GUI).
+   * The sqlite *workflow run database*
+     (see :ref:`Workflow Run Databases`)
+
+   Rather than parse the log files.
+
+
+.. _scheduler Logs.Cylc message:
+
+Cylc Message
+^^^^^^^^^^^^
+
+The Scheduler Log also records messages sent by ``cylc message`` allowing you
+to add custom messages to this log.
+
+For example, if your task contained the following code:
+
+.. code-block:: shell
+
+   cylc message -- "ERROR:some_function failed."
+
+Your log should produce output similar to:
+
+.. code-block:: none
+
+   ERROR - [21491012T0410Z/mytask running job:01 flows:1] (received)some_function failed ERROR at 2023-04-14T11:36:35+01:00
+
+Severity levels are the same as those used by
+`Python's logger <https://docs.python.org/3/library/logging.html#logging-levels>`_:
+
+- CRITICAL
+- ERROR
+- WARNING
+- INFO
+- DEBUG
+
+Messages logged at "DEBUG" will only appear in the scheduler log if the
+workflow is played with ``cylc play --debug``.
diff --git a/nightly_8.3/html/_sources/user-guide/running-workflows/scheduler-start-up.rst.txt b/nightly_8.3/html/_sources/user-guide/running-workflows/scheduler-start-up.rst.txt
new file mode 100644
index 00000000000..1c8529a1836
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/running-workflows/scheduler-start-up.rst.txt
@@ -0,0 +1,294 @@
+.. _WorkflowStartUp:
+
+Start, Restart, Reload
+======================
+
+The ``cylc play`` command starts a new instance of the Cylc scheduler program
+to manage a workflow, for the duration of the run. It also resumes paused
+workflows.
+
+There are several ways to start a workflow that is not running:
+
+* ``cylc play`` **from the initial cycle point**
+
+  - This is the default for a workflow that has not run yet
+  - The ``initial cycle point`` is taken from ``flow.cylc`` or the command line
+  - Dependence on earlier tasks is ignored, for convenience
+  - (In Cylc 7, this was called a *cold start*)
+
+
+* ``cylc play --start-cycle-point=POINT`` **from a later start cycle point**
+
+  - This is an option for a workflow that has not run yet
+  - The start point must be given on the command line
+  - Dependence on earlier tasks is ignored, for convenience
+  - The initial cycle point value defined in :cylc:conf:`flow.cylc` is preserved
+  - (In Cylc 7, this was called a *warm start*)
+
+
+* ``cylc play --start-task=TASK-ID`` **from any task(s) in the graph**
+
+  - This is an option for a workflow that has not run yet
+  - The start task(s) must be given on the command line
+  - The flow will follow the graph onward from the start task(s)
+  - (In Cylc 7, this was not possible)
+  - (This makes Cylc 7 restart-from-checkpoint obsolete)
+
+
+* ``cylc play`` to **restart from previous state**
+
+  - This is automatic for a workflow that previously ran
+  - The scheduler will carry on from exactly where it got to before
+  - At start-up, it will automatically find out what happened to any active
+    tasks that were orphaned during shutdown
+  - Failed tasks are not automatically resubmitted at restart, in case the
+    underlying problem has not been addressed
+  - (In Cylc 7, this used the now-obsolete restart command)
+
+
+.. note::
+
+   If a workflow gets stopped or killed it can be restarted, but to avoid
+   corrupting an existing run directory it cannot be started again from scratch
+   (unless you delete certain files from the run directory). To start from
+   scratch again, install a new copy of the workflow to a new run directory.
+
+.. seealso::
+  * :ref:`Installing-workflows`
+
+.. _start_stop_cycle_point:
+
+Start and Stop vs Initial and Final Cycle Points
+------------------------------------------------
+
+All workflows have an :term:`initial cycle point` and some may have a
+:term:`final cycle point`. These define extent of the graph of tasks that Cylc
+can schedule to run.
+
+Start and stop cycle points, if used, define a sub-section of the graph that
+the scheduler actually does run. For example:
+
+.. code-block:: cylc
+
+   [scheduling]
+       cycling mode = integer
+       initial cycle point = 1
+       final cycle point = 5
+       [[graph]]
+           # every cycle: 1, 2, 3, 4, 5
+           P1 = foo
+           # every other cycle: 1, 3, 5
+           P2 = bar
+
+With a :term:`start cycle point` of ``2`` and a :term:`stop cycle point` of
+``4``, the task ``foo`` would run at cycles 2, 3 & 4 and the task ``bar``
+would only run at cycle ``3``.
+
+.. image:: ../../img/initial-start-stop-final-cp.svg
+   :align: center
+
+
+Restarts and the Initial, Final, Start and Stop Cycle Points
+------------------------------------------------------------
+
+.. cylc-scope:: flow.cylc
+
+When a workflow is restarted or reloaded, any changes to
+:cylc:conf:`[scheduling]final cycle point` or
+:cylc:conf:`[scheduling]stop after cycle point` are normally picked up by Cylc.
+
+However, this is not the case if you used the ``--final-cycle-point`` or
+``--stop-cycle-point`` options in a prior run. If you use either of these
+options, the values you specify are stored in the workflow database, so the
+original values will be used if you restart the workflow later on.
+You can override these original values using the options again, and the new
+value will persist over restarts. Or, you can pick up the workflow config
+values by passing ``reload`` to the options
+(e.g. ``--final-cycle-point=reload``); this will remove the stored value from
+the database so future restarts will go back to picking up any changes
+to the config.
+
+.. note::
+
+   If the workflow reached the final cycle point and shut down, it is finished
+   and cannot be restarted; the ``--final-cycle-point`` option will have
+   no effect.
+
+The ``--initial-cycle-point`` and ``--start-cycle-point`` options cannot be used
+in a restart; workflows always start from the cycle point where they
+previously stopped.
+
+.. cylc-scope::
+
+
+.. _Reloading The Workflow Configuration At Runtime:
+
+Reloading the Workflow Configuration at Runtime
+-----------------------------------------------
+
+The ``cylc reload`` command tells the target :term:`scheduler` to reload its
+workflow configuration at run time. This is an alternative to shutting a
+workflow down and restarting it after making changes.
+
+.. note::
+   If writing your workflows in a :term:`source directory`, then be sure to
+   :ref:`reinstall <Reinstalling a workflow>` your changes to the
+   :term:`run directory` before doing a reload.
+
+If you make an error in the ``flow.cylc`` file before a reload, the workflow
+log will report an error and the reload will have no effect.
+
+Note, :ref:`RemoteInit` will be redone for each job platform, when the first
+job is submitted there after a reload.
+
+Restarting or Reloading after Graph Changes
+-------------------------------------------
+
+If dependencies have changed, tasks that were already active will spawn
+children according to their original outputs. Subsequent instances will have
+the new settings.
+
+If tasks were removed from the graph, any active instances will be left to
+finish, but they will not spawn children. They can be removed manually if
+necessary, with ``cylc remove``.
+
+If new tasks were added to the graph, instances will be spawned automatically
+as upstream tasks complete the outputs that they depend on. If they have no
+parents to do that, you can trigger the first ones manually with ``cylc trigger``.
+
+
+.. _RemoteInit:
+
+Remote Initialization
+---------------------
+
+For workflows that run on remote platforms, i.e. using a host other than
+``localhost``, Cylc performs an initialization process. This involves transferring
+files and directories required to run jobs, including authentication keys
+(see :ref:`Authentication Files` for more information).
+
+The default directories included in the remote install are:
+
+``ana/``
+   For workflow-level :ref:`builtin.rose_ana` analysis modules.
+``app/``
+   For :ref:`Rose Applications`.
+``bin/``
+   For scripts and executables to be run by tasks.
+``etc/``
+   For miscellaneous resources.
+``lib/``
+   For shared libraries e.g. :ref:`CustomJinja2Filters`.
+
+These will be transferred from the workflow run directory on the
+:term:`scheduler` host to the remote host.
+In addition, custom file and directories configured in
+:cylc:conf:`flow.cylc[scheduler]install` will be included in the transfer.
+
+This remote initialization process also creates symlinks on the remote
+platform, if these are configured using
+:cylc:conf:`global.cylc[install][symlink dirs]`. This provides a
+way to manage disk space.
+
+
+A log file is created on the scheduler to report information relating to the
+remote file installation process. There will be a separate log created per install
+target. These can be found in ``$HOME/cylc-run/<workflow-id>/log/remote-install/``.
+
+Installing Custom Files At Start-up
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Cylc supports adding custom directories and files to the file installation.
+
+If, for example, you wished to install directories ``dir1``, ``dir2``, and
+files ``file1``, ``file2``, add the following configuration to your
+:cylc:conf:`flow.cylc`, under the section
+:cylc:conf:`[scheduler]install`.
+To mark an item as a directory, add a trailing slash.
+
+.. code-block:: cylc
+
+    [scheduler]
+        install = dir1/, dir2/, file1, file2
+
+.. note::
+
+   Ensure files and directories to be installed are located in the top
+   level of your workflow.
+
+Install tasks are preferred for time-consuming installations because
+they don't slow the workflow start-up process, they can be monitored,
+they can run directly on target platforms, and you can rerun them later without
+restarting the workflow.
+
+.. note::
+
+   Files configured for installation to remote job platforms can be reinstalled by doing a reload. The reinstallation is done when the first job submits to a platform after the reload.
+
+Troubleshooting
+^^^^^^^^^^^^^^^
+
+There are certain scenarios where remote initialization may fail. Cylc will return
+a ``REMOTE INIT FAILED`` message.
+
+Timeout
+"""""""
+
+Remote initialization has a timeout set at 10 minutes, after which remote
+initialization will fail. If you have particularly large files files to
+transfer, which you expect to exceed the 10 minute timeout, consider using an
+install task in your workflow.
+
+Misconfiguration
+""""""""""""""""
+
+Platforms must be correctly configured to ensure authentication keys, which are
+responsible for secure communication between the :term:`scheduler` and the
+platform, are correctly in place.
+Sites can configure these platforms, insuring they match up with the correct
+install target. Cylc uses install targets as a way of recognising which platforms
+share the same file system. For more information, see :ref:`Install Targets`.
+
+
+
+Files created at workflow start
+-------------------------------
+
+Configuration Logs
+^^^^^^^^^^^^^^^^^^
+
+A folder ``log/config`` is created where the workflow configuration is
+recorded, with all templating expanded:
+
+- ``flow-processed.cylc`` - A record of the current workflow configuration
+  with templating expanded, but without being fully parsed: Duplicate sections
+  will not be merged.
+- ``<datetime-stamp>-<start/restart/reload>`` - A record of the config at
+  the time a workflow was started, restarted or reloaded, parsed by Cylc:
+  Duplicate sections will be merged.
+
+.. note::
+
+   These are particularly useful files to look at if the workflow
+   configuration contains many template variables, to see how they are
+   filled in.
+
+
+.. _The Workflow Contact File:
+
+The Workflow Contact File
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The :term:`scheduler` writes a :term:`contact file` at
+``$HOME/cylc-run/<workflow-name>/.service/contact`` that records workflow host,
+user, port number, process ID, Cylc version, and other information. Client
+commands read this file to find the :term:`scheduler`.
+
+The contact file gets removed automatically at shutdown (assuming the
+scheduler shuts down cleanly).
+
+
+Authentication Files
+^^^^^^^^^^^^^^^^^^^^
+
+See :ref:`Authentication Files`.
diff --git a/nightly_8.3/html/_sources/user-guide/running-workflows/simulation-modes.rst.txt b/nightly_8.3/html/_sources/user-guide/running-workflows/simulation-modes.rst.txt
new file mode 100644
index 00000000000..682889679aa
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/running-workflows/simulation-modes.rst.txt
@@ -0,0 +1,61 @@
+.. _SimulationMode:
+
+Simulation Modes
+----------------
+
+Cylc can run a workflow without running the real jobs, which may be
+long-running and resource-hungry.
+
+**Dummy mode** replaces real jobs with background ``sleep`` jobs on the
+scheduler host. This avoids :term:`job runner` directives that request compute
+resources for real workflow tasks, and it allows any workflow configuration to
+be run locally in dummy mode.
+
+.. code-block:: console
+
+   $ cylc play --mode=dummy <workflow-id>  # real dummy jobs
+
+.. note::
+
+   All configured task ``script`` items including ``init-script`` are ignored
+   in dummy mode. If your ``init-script`` is required to run even local dummy
+   jobs, the relevant environment setup should be done elsewhere.
+
+
+**Simulation mode** does not run real jobs at all, and does not generate job
+log files.
+
+.. code-block:: console
+
+   $ cylc play --mode=simulation <workflow-id>  # no real jobs
+
+
+Simulated Run Length
+^^^^^^^^^^^^^^^^^^^^
+
+The default dummy or simulated job run length is 10 seconds. It can be
+changed with :cylc:conf:`[runtime][<namespace>][simulation]default run length`.
+
+If :cylc:conf:`[runtime][<namespace>]execution time limit` and
+:cylc:conf:`[runtime][<namespace>][simulation]speedup factor` are both set,
+run length is computed by dividing the time limit by the speedup factor.
+
+
+Limitations
+^^^^^^^^^^^
+
+Dummy tasks run locally, so dummy mode does not test communication with remote
+job platforms. However, it is easy to write a live-mode test workflow with
+simple ``sleep 10`` tasks that submit to a remote platform. 
+
+Alternate path branching is difficult to simulate effectively. You can
+configure certain tasks to fail via
+:cylc:conf:`[runtime][<namespace>][simulation]`, but all branches based
+on mutually exclusive custom outputs will run because all custom outputs get
+artificially completed in dummy mode and in simulation mode. 
+
+.. note::
+
+   Run mode is recorded in the workflow run database. Cylc will not let you
+   *restart* a dummy mode workflow in live mode, or vice versa. Instead,
+   install a new instance of the workflow and run it from scratch in the new mode.
diff --git a/nightly_8.3/html/_sources/user-guide/running-workflows/task-job-states.rst.txt b/nightly_8.3/html/_sources/user-guide/running-workflows/task-job-states.rst.txt
new file mode 100644
index 00000000000..91dfe0cc977
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/running-workflows/task-job-states.rst.txt
@@ -0,0 +1,91 @@
+.. _task-job-states:
+
+Task & Job States
+=================
+
+**Tasks** are a workflow abstraction; they represent future and past jobs as
+well as current active jobs. In the Cylc UI, task states have monochromatic
+icons like this: |task-running|.
+
+**Jobs** represent real job scripts submitted to run
+on a :term:`job platform`. In the Cylc UI, job states have coloured icons like
+this: |job-running|.
+
+A single task can have multiple jobs, by automatic retry or manual triggering.
+
+
+.. table::
+
+   ============== ==================== =================== ====================================
+   State          Task Icon            Job Icon            Description
+   ============== ==================== =================== ====================================
+   waiting        |task-waiting|                           waiting on prerequisites
+   preparing      |task-preparing|                         job being prepared for submission
+   submitted      |task-submitted|     |job-submitted|     job submitted
+   running        |task-running|       |job-running|       job running
+   succeeded      |task-succeeded|     |job-succeeded|     job succeeded
+   failed         |task-failed|        |job-failed|        job failed
+   submit-failed  |task-submit-failed| |job-submit-failed| job submission failed
+   expired        |task-expired|                           will not submit job (too far behind)
+   ============== ==================== =================== ====================================
+
+The running task icon contains a clock face which shows the time elapsed
+as a proportion of the average runtime.
+
+.. image:: ../../img/task-job-icons/task-running-0.png
+   :width: 50px
+   :height: 50px
+   :align: left
+
+.. image:: ../../img/task-job-icons/task-running-25.png
+   :width: 50px
+   :height: 50px
+   :align: left
+
+.. image:: ../../img/task-job-icons/task-running-50.png
+   :width: 50px
+   :height: 50px
+   :align: left
+
+.. image:: ../../img/task-job-icons/task-running-75.png
+   :width: 50px
+   :height: 50px
+   :align: left
+
+.. image:: ../../img/task-job-icons/task-running-100.png
+   :width: 50px
+   :height: 50px
+   :align: left
+
+.. NOTE: these pipe characters are functional! They create a line break.
+
+|
+
+|
+
+
+Task Modifiers
+--------------
+
+Tasks are run as soon as their dependencies are satisfied, however, there are
+some other conditional which can prevent tasks from being run. These are
+given "modifier" icons which appear to the top-left of the task icon:
+
+.. list-table::
+   :class: grid-table
+   :align: left
+   :widths: 20, 80
+
+   * - .. image:: ../../img/task-job-icons/task-isHeld.png
+          :width: 60px
+          :height: 60px
+     - **Held:** Task has been manually :term:`held <held task>` back from
+       running.
+   * - .. image:: ../../img/task-job-icons/task-isRunahead.png
+          :width: 60px
+          :height: 60px
+     - **Runahead:** Task is held back by the :term:`runahead limit`.
+   * - .. image:: ../../img/task-job-icons/task-isQueued.png
+          :width: 60px
+          :height: 60px
+     - **Queued:** Task has been held back by an :term:`internal queue`.
diff --git a/nightly_8.3/html/_sources/user-guide/running-workflows/tasks-jobs-ui.rst.txt b/nightly_8.3/html/_sources/user-guide/running-workflows/tasks-jobs-ui.rst.txt
new file mode 100644
index 00000000000..f7bc6b0ef41
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/running-workflows/tasks-jobs-ui.rst.txt
@@ -0,0 +1,45 @@
+.. _n-window:
+
+Tasks in the UI
+===============
+
+.. versionchanged:: 8.0.0
+
+Cylc workflow :term:`graphs <graph>` can be very large, even infinite for
+:term:`cycling workflows <cycling workflow>` with no :term:`final cycle point`.
+Consequently the UI often can't display "all of the tasks" at once. Instead, it
+displays tasks that belong to a graph-based :term:`window` extending a
+configured number of graph edges out from active tasks.
+
+The ``n = 0`` or *active task* window includes:
+
+- ``preparing`` tasks
+- ``submitted`` and ``running`` tasks - i.e. those with active jobs
+- ``waiting`` tasks, that are :term:`actively waiting <active-waiting>` on:
+
+  - :ref:`clock triggers <Built-in Clock Triggers>`
+  - :ref:`external triggers <Section External Triggers>`
+  - :ref:`internal queues <InternalQueues>`
+  - :ref:`runahead limit <RunaheadLimit>`
+
+- finished tasks retained as *incomplete*, in expectation of user intervention:
+
+  - ``submit-failed`` tasks, if successful submission was not :term:`optional
+    <optional output>`
+  - ``succeeded`` or ``failed`` tasks that did not complete :term:`required
+    outputs <required output>`
+
+The default window extent is ``n = 1``, i.e. tasks out to one graph edge from
+current active tasks.
+
+Tasks ahead of the ``n=0`` window are displayed by the UI as ``waiting`` but
+the scheduler is not actively managing them yet.
+
+.. image:: ../../img/n-window.png
+   :align: center
+
+.. note::
+
+   The graph-based active task window is intended to display the essential
+   information without overwhelming the UI. Even very large workflows
+   typically do not have a massive number of tasks active at once.
diff --git a/nightly_8.3/html/_sources/user-guide/running-workflows/tracking-task-state.rst.txt b/nightly_8.3/html/_sources/user-guide/running-workflows/tracking-task-state.rst.txt
new file mode 100644
index 00000000000..a73c11abd8a
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/running-workflows/tracking-task-state.rst.txt
@@ -0,0 +1,122 @@
+.. _TaskComms:
+
+Tracking Job Status
+-------------------
+
+Cylc supports three ways of tracking task state on job hosts:
+
+- task-to-scheduler messaging via TCP (using ZMQ protocol)
+- task-to-scheduler messaging via non-interactive SSH to the workflow host, then
+  local TCP.
+- regular polling by the :term:`scheduler`
+
+These can be configured per platform using
+:cylc:conf:`global.cylc[platforms][<platform name>]communication method`.
+
+If your site prohibits TCP and SSH back from job hosts to workflow hosts,
+before resorting to the polling method you should consider installing dedicated
+Cylc servers or VMs inside the HPC trust zone (where TCP and SSH should be
+allowed).
+
+It is possible to run Cylc :term:`schedulers <scheduler>` on HPC login nodes,
+but be aware of scheduler resource requirements (which depend on workflow size
+and run duration).
+
+Port forwarding could potentially provide another solution, but the idea has
+been rejected at this stage. Organisations often disable port forwarding for
+security reasons.
+
+.. note::
+   Use Cylc 8 platform configuration via
+   :cylc:conf:`flow.cylc[runtime][<namespace>]platform`, not the
+   deprecated ``host`` setting, to ensure the intended task communication
+   method is applied.
+
+TCP Task Messaging
+^^^^^^^^^^^^^^^^^^
+
+Cylc :term:`job scripts <job script>` automatically invoke ``cylc message`` to
+report progress back to the :term:`scheduler` when they begin executing, at
+normal exit (success) and abnormal exit (failure).
+
+By default job status messaging goes by an authenticated TCP connection to the
+:term:`scheduler`, using the ZMQ protocol.  This is the preferred task
+communications method because it is efficient and direct.
+
+Schedulers automatically install workflow :term:`contact information
+<contact file>` and credentials on job hosts.
+
+
+.. obsolete? Users only need to do this manually for remote access to workflows
+   on other hosts, or workflows owned by other users - see :ref:`RemoteControl`.
+
+
+SSH Task Communication
+^^^^^^^^^^^^^^^^^^^^^^
+
+Cylc can be configured to re-invoke task messaging commands on the workflow
+host via non-interactive SSH (from job platform to workflow host).
+
+User-invoked client commands also support this communication method, when
+:cylc:conf:`global.cylc[platforms][<platform name>]communication method` is
+configured to ``ssh``.
+
+This is less efficient than direct ZMQ protocol messaging, but it may be useful at
+sites where the ZMQ ports are blocked but non-interactive SSH is allowed.
+
+.. warning::
+
+   Ensure SSH keys are in place for the remote task platform(s) before enabling
+   this feature. Failure to do so, will result in ``Host key verification
+   failed`` errors.
+
+
+.. _Polling To Track Job Status:
+
+Polling to Track Job Status
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Schedulers can actively poll jobs at configured intervals, via
+non-interactive SSH to the job platform.
+
+This is the least efficient communication method because task status updates
+are delayed by up to the polling interval. However, it may be needed at sites
+that do not allow TCP or non-interactive SSH from job host to workflow host.
+
+Be careful to avoid spamming task hosts with polling operations. Each poll
+opens (and then closes) a new SSH connection.
+
+Polling intervals are configured by
+:cylc:conf:
+`global.cylc[platforms][<platform name>]submission polling intervals`
+and
+:cylc:conf:
+`global.cylc[platforms][<platform name>]execution polling intervals`.
+
+A common use case is to poll:
+
+- frequently at first, to check that a job has started running properly;
+- frequently near the expected end of its run time, to get a timely task finished update;
+- infrequently in the intervening period.
+
+Configured intervals are used in sequence until
+the last value, which is used repeatedly until the job is finished:
+
+.. code-block:: cylc
+   :caption: global.cylc
+
+   [platforms]
+       [[my_platform]]
+           # poll every minute in the 'submitted' state:
+           submission polling intervals = PT1M
+
+           # poll one minute after foo starts running, then every 10
+           # minutes for 50 minutes, then every minute until finished:
+           execution polling intervals = PT1M, 5*PT10M, PT1M
+
+.. code-block:: cylc
+   :caption: flow.cylc
+
+   [runtime]
+      [[task]]
+         platform = my_platform
diff --git a/nightly_8.3/html/_sources/user-guide/running-workflows/workflow-completion.rst.txt b/nightly_8.3/html/_sources/user-guide/running-workflows/workflow-completion.rst.txt
new file mode 100644
index 00000000000..9c8071a3c9e
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/running-workflows/workflow-completion.rst.txt
@@ -0,0 +1,46 @@
+.. _workflow completion:
+
+Workflow Completion
+===================
+
+If there is nothing more to run (according to the graph) and there are no
+:term:`incomplete tasks <incomplete task>` present, the scheduler will report
+workflow completion and shut down when current active tasks finish. 
+
+
+.. _scheduler stall:
+
+Scheduler Stall
+===============
+
+If there is nothing more to run (according to the graph) but there are
+:term:`incomplete tasks <incomplete task>` present, the scheduler will
+:term:`stall` and stay alive for 1 hour (by default) awaiting user intervention
+to allow the workflow to continue.
+
+The presence of incomplete tasks means that the workflow did not run to
+completion as expected, because some :term:`required task outputs
+<required output>` were not completed at runtime.
+
+Restarting a stalled workflow triggers a new stall timer.
+
+
+.. note::
+
+   Partially satisfied prerequisites can also cause a stall. If ``a & b => c``,
+   and ``a`` succeeds but ``b`` never even runs, the scheduler will take
+   partial completion of ``c``'s prerequisites as a sign that the workflow did
+   not run to completion as expected.
+
+
+.. warning::
+
+   At present you have to consult the :term:`scheduler log` to see the reason
+   for a stall.
+
+
+.. seealso::
+
+   * :cylc:conf:`[scheduler][events]stall timeout`  
+   * :cylc:conf:`[scheduler][events]abort on stall timeout`  
+   * :cylc:conf:`[scheduler][events]stall handlers`  
diff --git a/nightly_8.3/html/_sources/user-guide/running-workflows/workflow-databases.rst.txt b/nightly_8.3/html/_sources/user-guide/running-workflows/workflow-databases.rst.txt
new file mode 100644
index 00000000000..5c0cf4f28e1
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/running-workflows/workflow-databases.rst.txt
@@ -0,0 +1,45 @@
+.. _Workflow Run Databases:
+
+Workflow Run Databases
+----------------------
+
+Schedulers maintain two ``sqlite`` databases to record
+information on run history:
+
+.. code-block:: console
+
+   $HOME/cylc-run/<workflow-id>/log/db  # public workflow DB
+   $HOME/cylc-run/<workflow-id>/.service/db  # private workflow DB
+
+The private DB is for use only by the :term:`scheduler`. The identical
+public DB is provided for use by external commands such as
+``cylc workflow-state``, and ``cylc report-timings``.
+If the public DB gets locked for too long by
+an external reader, the :term:`scheduler` will eventually delete it and
+replace it with a new copy of the private DB, to ensure that both correctly
+reflect the workflow state.
+
+You can interrogate the public DB with the ``sqlite3`` command line tool,
+the ``sqlite3`` module in the Python standard library, or any other
+sqlite interface.
+
+.. code-block:: console
+
+   $ sqlite3 ~/cylc-run/foo/log/db << _END_
+   > .headers on
+   > select * from task_events where name is "foo";
+   > _END_
+   name|cycle|time|submit_num|event|message
+   foo|1|2017-03-12T11:06:09Z|1|submitted|
+   foo|1|2017-03-12T11:06:09Z|1|output completed|started
+   foo|1|2017-03-12T11:06:09Z|1|started|
+   foo|1|2017-03-12T11:06:19Z|1|output completed|succeeded
+   foo|1|2017-03-12T11:06:19Z|1|succeeded|
+
+The diagram shown below contains the database tables, their columns,
+and how the tables are related to each other. For more details on how
+to interpret the diagram, refer to the
+`Entity–relationship model Wikipedia article <https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model>`_.
+
+.. cylc-db-graph::
+   :align: center
diff --git a/nightly_8.3/html/_sources/user-guide/sharing-access-to-workflows.rst.txt b/nightly_8.3/html/_sources/user-guide/sharing-access-to-workflows.rst.txt
new file mode 100644
index 00000000000..637d2e70c33
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/sharing-access-to-workflows.rst.txt
@@ -0,0 +1,438 @@
+.. _cylc.uiserver.multi-user:
+
+Authorizing Others to Access Your Workflows
+===========================================
+
+For multi-user setups, the Cylc web GUI can be deployed as part of a
+`Jupyter Hub`_ setup where a central service spawns servers on behalf of users.
+
+The Cylc UI Server can be configured to allow specified users to monitor and
+optionally control workflows running under other user accounts.
+
+This has many use cases including:
+
+* Collaborative research setups where multiple users need to access the same
+  workflow.
+* Production systems where different levels of support may have different
+  levels of access.
+* Support where administrators may require access to users workflows.
+
+A multi-user Cylc setup consists of three components:
+
+1. `Jupyter Hub`_
+2. `Jupyter Server`_
+3. `Cylc UI Server`_
+
+And may additionally include other Jupyter Server extensions such as
+`Jupyter Lab`_ to provide a full interactive virtual workstation in the
+browser.
+
+In order to allow access to other users servers, to permit the monitoring and
+optionally control of other users workflows, each of these three components
+must be configured:
+
+1. `Jupyter Hub`_ must be configured to allow connections to other users servers.
+2. The `Jupyter Server`_ authorisation policy must be set.
+3. Cylc must be configured with user permissions.
+
+This configuration can all be performed in the same Jupyter / Cylc UI Server
+configuration file. See :ref:`UI_Server_config` for more details.
+
+.. rubric:: Quick Example:
+
+.. code-block:: python
+
+   # /etc/cylc/uiserver/jupyter_config.py
+
+   # 1. Jupyter Hub
+   #    Allow all authenticated users to access, start and stop
+   #    each other's servers
+   c.JupyterHub.load_roles = [
+       {
+           "name": "user",
+           "scopes": ["self", "access:servers", "servers"],
+       }
+   ]
+
+
+   # 2. Jupyter Server
+   #    Set a safe authorisation policy for multi-user setups
+   #    Note: This is ONLY necessary if you are deploying the Cylc UI Server
+   #          using commands other than `cylc hub` and `cylc hubapp`,
+   #          otherwise, it is the default.
+   from cylc.uiserver.authorise import CylcAuthorizer
+   c.ServerApp.authorizer_class = CylcAuthorizer
+
+
+   # 3. Cylc
+   #    Delegate permissions to users
+   c.CylcUIServer.user_authorization = {
+       # provide all authenticated users with read-only access to each other's
+       # servers
+       "*": ["READ"],
+   }
+
+The rest of this document takes you through each of these configurations, some
+of the key options and how they relate to their respective systems.
+
+
+.. _jupyterhub.authorization:
+
+Jupyter Hub Authorisation
+-------------------------
+
+By default, `Jupyter Hub`_ only allows users to access their own servers.
+
+In order to allow access to other users' servers, two scopes must be configured:
+
+``access:servers``
+   Permits us to connect to another user's server.
+``servers``
+   Permits us to start another user's server.
+
+This is done using the
+:py:attr:`c.JupyterHub.load_roles <jupyterhub.app.JupyterHub.load_roles>`
+configuration.
+For more information see the
+:ref:`JupyterHub scopes reference <jupyterhub-scopes>`.
+
+Example:
+
+.. code-block:: python
+
+   # /etc/cylc/uiserver/jupyter_config.py
+
+   c.JupyterHub.load_roles = [
+       {
+           # allow all authenticated users to access, start and stop
+           # each other's servers
+           "name": "user",
+           "scopes": ["self", "access:servers", "servers"],
+       }
+   ]
+
+
+.. _jupyterserver.authorization:
+
+Jupyter Server Authorisation
+----------------------------
+
+.. tip::
+
+   You can skip this section if you are starting Jupyter Hub using ``cylc hub``
+   command and have not overridden the
+   :py:attr:`c.JupyterHub.spawner_class <jupyterhub.app.JupyterHub.spawner_class>`
+   configuration (so are spawning the ``cylc hubapp`` command).
+
+.. autoclass:: cylc.uiserver.authorise.CylcAuthorizer
+
+
+.. _cylc.uiserver.user_authorization:
+
+Cylc User Authorisation
+-----------------------
+
+Cylc Authorisation is configurable on a per-user and per-command basis but
+not on a per-workflow basis.
+
+By default users can only see and interact with their own workflows.
+
+Sites can restrict the permissions that users are allowed to grant each
+other and can configure default permissions (see :ref:`site_configuration`).
+
+Authorization is configured by these two configurations:
+
+* :py:attr:`c.CylcUIServer.user_authorization
+  <cylc.uiserver.app.CylcUIServer.user_authorization>` (user configuration)
+* :py:attr:`c.CylcUIServer.site_authorization
+  <cylc.uiserver.app.CylcUIServer.site_authorization>` (site configuration)
+
+.. rubric:: Example:
+
+.. code-block:: python
+
+   # ~/.cylc/uiserver/jupyter_config.py
+
+   c.CylcUIServer.user_authorization = {
+       # <user/group>: [<permission>, ...],
+
+       # allow "user1" to monitor my workflows
+       "user1": ["READ"],
+
+       # allow "user2" to monitor and trigger tasks in my workflows
+       "user2": ["READ", "Trigger"],
+   }
+
+
+Users
+^^^^^
+
+There are three methods of identifying a user to grant access to:
+
+``<username>``
+  Configures permissions for a single user.
+``group:<groupname>``
+  Configures a user group. For more information, see :ref:`group_support`.
+``*``
+  Configures permissions for any authenticated user (see
+  :ref:`Jupyter Hub authenticators reference <authenticators-reference>`
+  for details).
+
+.. note::
+
+   Using glob patterns to match user and group names is
+   not currently supported.
+
+
+Permissions
+^^^^^^^^^^^
+
+.. TODO: autogenerate this permission list
+   https://github.com/cylc/cylc-uiserver/issues/466
+
+Permissions can be granted for each Cylc command individually. For convenience,
+commands are arranged into groups to avoid having to list them individually:
+
+``READ`` (i.e. read-only access)
+  A user with read permissions may view workflows, monitor tasks states and
+  open log files, but they cannot interact with the workflows.
+
+  * ``Read``
+``CONTROL`` (e.g. start & stop workflows)
+  A user with control permissions may issue commands to interact with workflows
+  and can start/stop workflows but cannot redefine the workflow configuration
+  itself (without direct filesystem access).
+
+  * ``Clean``
+  * ``Ext-trigger``
+  * ``Hold``
+  * ``Kill``
+  * ``Message``
+  * ``Pause``
+  * ``Play``
+  * ``Poll``
+  * ``Release``
+  * ``ReleaseHoldPoint``
+  * ``Reload``
+  * ``Remove``
+  * ``Resume``
+  * ``SetGraphWindowExtent``
+  * ``SetHoldPoint``
+  * ``SetOutputs``
+  * ``SetVerbosity``
+  * ``Stop``
+  * ``Trigger``
+``ALL`` (i.e. full control)
+  A user with all permissions may alter task configuration so may inject
+  arbitrary code into the workflow.
+
+  * ``Broadcast``
+
+.. note::
+
+   With the exception of ``Read`` all of the above permissions map onto the
+   Cylc GraphQL mutations which themselves map onto the command line.
+
+   E.G. the ``Play`` permission maps onto ``mutation play`` in the GraphQL
+   schema and ``cylc play`` on the command line.
+
+   To find out more about a command, see the GraphQL or CLI documentation.
+
+By default, users have full permissions (``READ``, ``CONTROL`` and ``ALL``) for their own workflows and no
+permissions for other users' workflows.
+
+Permissions are additive, so for example, granting ``READ`` and ``CONTROL``
+would provide all of the permissions from those two groups.
+
+The ``!`` character can be used to subtract permissions, e.g. delegating
+``CONTROL`` and ``!Stop`` would provide all control permissions except stop.
+
+.. note::
+
+   Granting access to a group does not automatically grant access to lower
+   groups e.g. granting ``CONTROL`` access does not automatically grant
+   ``READ`` access.
+
+
+Examples
+^^^^^^^^
+
+.. code-block:: python
+
+   # ~/.cylc/uiserver/jupyter_config.py
+
+   c.CylcUIServer.user_authorization = {
+       "*": ["READ"],
+       "group:groupA": ["CONTROL"],
+       "user1": ["read", "pause", "!play"],
+       "user2": ["!ALL"]
+   }
+
+In this scenario:
+
+- ``"*"``  represents any authenticated user. They have permission to view all
+  workflows on the GUI.
+- ``"group:groupA"`` applies ``CONTROL`` permissions to any member of system
+  ``groupA``.
+  Note that, since permissions are inherited, these users will gain ``READ`` access
+  from the ``"*":["READ"]`` assignment.
+- ``"user1"`` will have permission to view workflows, ``pause`` but not ``play``
+  workflows, even if ``user1`` is a member of the system ``groupA``. This is due
+  to negations taking precedence over additions.
+- ``"user2"`` is not permitted to view workflows, or perform any operations.
+
+
+.. _site_configuration:
+
+Cylc Site Configuration
+-----------------------
+
+The :py:attr:`c.CylcUIServer.site_authorization
+<cylc.uiserver.app.CylcUIServer.site_authorization>` configuration allows sites
+to configure sensible defaults and limits for the permissions users can
+grant.
+
+It takes the form:
+
+.. code-block:: python
+
+   {
+     "<owner>": {
+       "<user>": {
+         "default": [],
+         "limit": []
+       }
+     }
+   }
+
+Where ``<owner>`` is the username of the account that is running a server and
+``<user>`` is the username of an account trying to connect to it.
+
+Sites can set both limits and defaults for users:
+
+``limit``
+   Determines the maximum access users can grant to their workflows.
+``default``
+   Sets a default access level, which applies if the user does not appear in
+   the user_authorization configuration (via explicit user name or group).
+
+   Note, these defaults apply only if a user does not appear in
+   :py:attr:`c.CylcUIServer.user_authorization
+   <cylc.uiserver.app.CylcUIServer.user_authorization>`.
+
+* If a limit is not set but a default is, then the limit is the default.
+* If a default is not set but a limit is, then the default is no access.
+
+.. note::
+
+   As the UI Server runs as the workflow owner, the owner has full control over
+   it and in theory may bypass these restrictions in a variety of ways. As an
+   extreme example, a workflow owner could pass their account credentials to
+   another person. This cannot be prevented by technical means. However, a
+   workflow owner cannot unilaterally gain access to any other user's account
+   or workflows by configuring their own UI Server.
+
+.. note::
+
+   Changes to the Cylc authorization configuration will take effect when the
+   Cylc UI Server is restarted.
+
+
+.. _group_support:
+
+Group Support
+^^^^^^^^^^^^^
+
+Unix-like systems support user groups. Cylc authorization supports granting
+access by membership of these system groups. You can indicate a system group
+by using the ``group:`` indicator.
+
+System groups are found by
+:py:mod:`get_groups<cylc.uiserver.authorise.get_groups>`
+
+.. autofunction:: cylc.uiserver.authorise.get_groups
+
+
+Example Site Authorization Configuration
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Whilst most site configurations will be simpler than the example below, this
+example provides an indication of the combinations available.
+
+.. code-block:: python
+
+   # /etc/cylc/uiserver/jupyter_config.py
+
+   c.CylcUIServer.site_authorization = {
+       "*": {  # For all ui-server owners,
+           "*": {  # Any authenticated user
+               "default": "READ",  # Will have default read-only access
+           },
+           "user1": {  # for all ui-server owners, user1
+               "default": ["!ALL"],  # has no privileges by default
+           },  # No limit set, so all ui-server owners are unable to permit user1
+       },
+       "server_owner_1": {  # For specific UI Server owner, server_owner_1
+           "*": {  # Any authenticated user
+               "default": "READ",  # Will have default read-only access
+               "limit": ["READ", "CONTROL"],  # server_owner_1 is able to give away
+           },  # READ and CONTROL privileges.
+       },
+       "server_owner_2": {  # For specific UI Server owner,
+           "user2": {  # Specific user2
+               "limit": "ALL"  # Can only be granted a maximum of ALL by
+           },  # server_owner2, default access for user2 falls back to
+           # standard READ only (if server_owner_2/user2 are
+           # included in other auth config e.g. the top example),
+           # or none if not in any other auth config sections.
+           "group:groupA": {  # group denoted with a `group:`
+               "default": [
+                   "READ",
+                   "CONTROL",
+               ]  # groupA has default READ, CONTROL access to server_owner_2's
+           },  # workflows
+       },
+       "group:grp_of_svr_owners": {  # Group of users who own UI Servers
+           "group:groupB": {
+               "default": "READ",  # can grant groupB users up to READ and CONTROL
+               "limit": [  # privileges, without stop and kill
+                   "READ",
+                   "CONTROL",
+                   "!stop",  # operations
+                   "!kill",
+               ],
+           },
+       },
+   }
+
+
+Interacting with Others' Workflows
+----------------------------------
+
+.. spelling:word-list::
+
+   userA
+   userB
+
+If you have been granted access to another user's workflows, you can view and
+interact with these workflows.
+Say, you, userA, wish to interact with userB's workflows.
+You can do this by navigating to the URL ``https://<hub>/user/userB``, using
+the hub of userB. You should authenticate as yourself (userA) and, provided you
+have the correct permissions, you will see userB's workflows for interaction.
+
+.. note::
+
+   Operations that are not authorized will appear greyed out on the UI.
+
+
+Troubleshooting Authorization
+-----------------------------
+
+If authorization is not performing as expected, check
+
+- you are permitted by the site configuration to give away access.
+- you have provided ``read`` permissions, which enables the user to see your
+  workflows.
+- check the spelling in your configuration. The correct spelling is
+  ``c.CylcUIServer.user_authorization``
diff --git a/nightly_8.3/html/_sources/user-guide/task-implementation/index.rst.txt b/nightly_8.3/html/_sources/user-guide/task-implementation/index.rst.txt
new file mode 100644
index 00000000000..4e161367589
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/task-implementation/index.rst.txt
@@ -0,0 +1,18 @@
+Task Implementation
+-------------------
+
+This section covers the technical detail of how Cylc runs :term:`tasks <task>`.
+
+In Cylc :term:`tasks <task>` represent activities within the workflow.
+:term:`Tasks <task>` submit :term:`jobs <job>` when they are run.
+
+Tasks are the "abstract" workflow component. Jobs are the concrete
+representation of a task. One task could submit many jobs (for example if the
+job fails and the task is re-run).
+
+.. toctree::
+   :maxdepth: 2
+
+   job-scripts
+   job-submission
+   ssh-job-management
diff --git a/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.at.rst.txt b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.at.rst.txt
new file mode 100644
index 00000000000..d8995767516
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.at.rst.txt
@@ -0,0 +1,4 @@
+at
+==
+
+.. automodule:: cylc.flow.job_runner_handlers.at
\ No newline at end of file
diff --git a/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background.rst.txt b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background.rst.txt
new file mode 100644
index 00000000000..9bdaafe2c03
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background.rst.txt
@@ -0,0 +1,4 @@
+background
+==========
+
+.. automodule:: cylc.flow.job_runner_handlers.background
\ No newline at end of file
diff --git a/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler.rst.txt b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler.rst.txt
new file mode 100644
index 00000000000..a291f686d2d
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler.rst.txt
@@ -0,0 +1,4 @@
+loadleveler
+===========
+
+.. automodule:: cylc.flow.job_runner_handlers.loadleveler
\ No newline at end of file
diff --git a/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.lsf.rst.txt b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.lsf.rst.txt
new file mode 100644
index 00000000000..f5df61a6a4c
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.lsf.rst.txt
@@ -0,0 +1,4 @@
+lsf
+===
+
+.. automodule:: cylc.flow.job_runner_handlers.lsf
\ No newline at end of file
diff --git a/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.moab.rst.txt b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.moab.rst.txt
new file mode 100644
index 00000000000..daa9e10de28
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.moab.rst.txt
@@ -0,0 +1,4 @@
+moab
+====
+
+.. automodule:: cylc.flow.job_runner_handlers.moab
\ No newline at end of file
diff --git a/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.pbs.rst.txt b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.pbs.rst.txt
new file mode 100644
index 00000000000..b7cff4ca9b8
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.pbs.rst.txt
@@ -0,0 +1,4 @@
+pbs
+===
+
+.. automodule:: cylc.flow.job_runner_handlers.pbs
\ No newline at end of file
diff --git a/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.sge.rst.txt b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.sge.rst.txt
new file mode 100644
index 00000000000..d8b1e11e9cd
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.sge.rst.txt
@@ -0,0 +1,4 @@
+sge
+===
+
+.. automodule:: cylc.flow.job_runner_handlers.sge
\ No newline at end of file
diff --git a/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm.rst.txt b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm.rst.txt
new file mode 100644
index 00000000000..bed789bf008
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm.rst.txt
@@ -0,0 +1,4 @@
+slurm
+=====
+
+.. automodule:: cylc.flow.job_runner_handlers.slurm
\ No newline at end of file
diff --git a/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob.rst.txt b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob.rst.txt
new file mode 100644
index 00000000000..266d11a8fd5
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob.rst.txt
@@ -0,0 +1,4 @@
+slurm\_packjob
+==============
+
+.. automodule:: cylc.flow.job_runner_handlers.slurm_packjob
\ No newline at end of file
diff --git a/nightly_8.3/html/_sources/user-guide/task-implementation/job-scripts.rst.txt b/nightly_8.3/html/_sources/user-guide/task-implementation/job-scripts.rst.txt
new file mode 100644
index 00000000000..a6d74a267c2
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/task-implementation/job-scripts.rst.txt
@@ -0,0 +1,299 @@
+.. _TaskImplementation:
+
+Task Implementation
+===================
+
+Existing scripts and executables can be used as Cylc tasks without
+modification so long as they return standard exit status - zero on success,
+non-zero for failure - and do not spawn detaching processes internally (see
+:ref:`DetachingJobs`).
+
+
+.. _JobScripts:
+
+Job Scripts
+-----------
+
+When the :term:`scheduler` determines that a task is ready to run it
+generates a *job script* for the task, and submits it to run (see
+:ref:`TaskJobSubmission`).
+
+.. cylc-scope:: flow.cylc[runtime][<namespace>]
+
+:term:`Job scripts <job script>` encapsulate configured task runtime settings:
+:cylc:conf:`script` and :cylc:conf:`[environment]` items, if defined, are just
+concatenated in the order shown below, to make the job script.
+
+The job script is separated into two parts. User scripts and environment
+(:cylc:conf:`env-script`, :cylc:conf:`[environment]`, :cylc:conf:`pre-script`,
+:cylc:conf:`script` and :cylc:conf:`post-script`) are isolated and executed in
+a separate subshell process. Any changes to environment, traps, etc., done in
+any of them are visible in subsequent parts, but will not interfere with the
+parent shell process. This parent shell executes and shares environment with
+:cylc:conf:`init-script`, :cylc:conf:`exit-script` and :cylc:conf:`err-script`.
+In particular, any environment changes in :cylc:conf:`init-script` will be
+visible in the parent shell, as well as in the subshell hosting user scripts.
+
+The parent shell sets trap handlers for some signals (the exact list depends on
+a particular batch system being used) and typically resends any received signal
+to the subshell and its children (the whole process group, to be precise), unless
+the batch system doesn't execute the job script as process leader, in which case
+the signal is resent to the subshell process only. Immediately after that
+:cylc:conf:`err-script` is executed without waiting for the subshell process to
+finish, unless you start it with the ``wait`` command to prevent that.
+
+.. digraph:: example
+
+   rankdir="TB"
+   packmode="array_u";
+
+   subgraph cluster_legend {
+       style="dashed"
+       label="Legend"
+
+       "user defined script"
+       "cylc defined script" [shape="rect"]
+
+       "user defined script" -> "cylc defined script" [style="invis"]
+   }
+
+   subgraph cluster_diagram {
+       style="invis"
+       margin=20
+
+       "cylc-env" [shape="rect"]
+       "user-env" [shape="rect"]
+
+       "init-script" ->
+       "cylc-env" ->
+       "env-script"
+
+       subgraph cluster_subshell {
+           style="dashed"
+           label="Subshell process"
+
+           "env-script" ->
+           "user-env" ->
+           "pre-script" ->
+           "script" ->
+           "post-script"
+       }
+
+       "post-script" -> "err-script"
+       "post-script" -> "exit-script"
+   }
+
+The two "Cylc defined scripts" are:
+
+``cylc-env``
+   Which provides default ``CYLC_*`` environment variables e.g.
+   ``CYLC_TASK_NAME``.
+``user-env``
+   Which is the contents of the :cylc:conf:`[environment]` section.
+
+Job scripts are written to the workflow's job log directory. They can be
+printed with ``cylc cat-log``.
+
+.. cylc-scope::
+
+
+Inlined Tasks
+-------------
+
+Task *script* items can be multi-line strings of ``bash``  code, so many tasks
+can be entirely inlined in the :cylc:conf:`flow.cylc` file.
+
+For anything more than a few lines of code, however, we recommend using
+external shell scripts to allow independent testing, re-use, and shell mode
+editing.
+
+
+Interpreter
+-----------
+
+The job script (which incorporates the ``*-script`` items) runs in the
+``bash`` interpreter.
+
+Cylc searches for ``bash`` in the ``$PATH`` by first running a login bash
+shell which means you can choose the bash interpreter used by modifying
+the ``$PATH`` in your bash configuration files (e.g. ``.bashrc``).
+
+
+Task Messages
+-------------
+
+Jobs send status messages back to the :term:`scheduler` to report that
+execution has started, succeeded, or failed. Custom messages can also be sent
+by the same mechanism, with various severity levels. These can be used to
+trigger other tasks off specific task outputs (see :ref:`MessageTriggers`), or
+to trigger execution of event handlers by the scheduler (see
+:ref:`user_guide.runtime.task_event_handling`)
+or just to write information to the scheduler log.
+
+.. cylc-scope:: global.cylc[platforms][<platform name>]
+
+(If polling is configured as the :cylc:conf:`communication method` for a
+:cylc:conf:`platform <[..]>`, the messaging system just writes messages to the
+local job status file for recovery by the scheduler at the next poll).
+
+.. cylc-scope::
+
+Normal severity messages are printed to ``job.out`` and logged by the scheduler:
+
+.. code-block:: bash
+
+   cylc message -- "${CYLC_WORKFLOW_ID}" "${CYLC_TASK_JOB}" \
+     "Hello from ${CYLC_TASK_ID}"
+
+"CUSTOM" severity messages are printed to ``job.out``, logged by the
+:term:`scheduler`, and can be used to trigger *custom*
+event handlers:
+
+.. code-block:: bash
+
+   cylc message -- "${CYLC_WORKFLOW_ID}" "${CYLC_TASK_JOB}" \
+     "CUSTOM:data available for ${CYLC_TASK_CYCLE_POINT}"
+
+These can be used to signal special events that are neither routine
+information nor an error condition, such as production of a particular data
+file (a "data availability" event).
+
+"WARNING" severity messages are printed to ``job.err``, logged by the
+:term:`scheduler`, and can be passed to *warning* event handlers:
+
+.. code-block:: bash
+
+   cylc message -- "${CYLC_WORKFLOW_ID}" "${CYLC_TASK_JOB}" \
+     "WARNING:Uh-oh, something's not right here."
+
+"CRITICAL" severity messages are printed to ``job.err``, logged by the
+:term:`scheduler`, and can be passed to *critical* event handlers:
+
+.. code-block:: bash
+
+   cylc message -- "${CYLC_WORKFLOW_ID}" "${CYLC_TASK_JOB}" \
+     "CRITICAL:ERROR occurred in process X!"
+
+Jobs no longer (since Cylc 8) attempt to resend messages if the server
+cannot be reached. Send failures normally imply a network or Cylc
+configuration problem that will not recover by itself, in which case a series
+of messaging retries just holds up job completion unnecessarily. If a job
+status message does not get through, the server will recover the correct task
+status by polling on job timeout (or earlier if regular polling is
+configured).
+
+Task messages are validated by:
+
+.. autoclass:: cylc.flow.unicode_rules.TaskMessageValidator
+   :no-index:
+
+Aborting Job Scripts on Error
+-----------------------------
+
+Job scripts use ``set -e`` to abort on any error, and trap ERR, EXIT, and
+SIGTERM to send task failed messages back to the :term:`scheduler` before
+aborting. Other scripts called from job scripts should therefore abort with
+standard non-zero exit status on error, to trigger the job script error trap.
+
+To prevent a command that is expected to generate a non-zero exit status from
+triggering the exit trap, protect it with a control statement such as:
+
+.. code-block:: bash
+
+   if cmp FILE1 FILE2; then
+       :  # success: do stuff
+   else
+       :  # failure: do other stuff
+   fi
+
+Job scripts also use ``set -u`` to abort on referencing any
+undefined variable (useful for picking up typos); and ``set -o pipefail``
+to abort if any part of a pipe fails (by default the shell only returns the
+exit status of the final command in a pipeline).
+
+
+Custom Failure Messages
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Critical events normally warrant aborting a job script rather than just
+sending a message. As described just above, ``exit 1`` or any failing command
+not protected by the surrounding scripting will cause a job script to abort
+and report failure to the :term:`scheduler`, potentially triggering a
+*failed* task event handler.
+
+For failures detected by the scripting you could send a critical message back
+before aborting, potentially triggering a *critical* task event handler:
+
+.. code-block:: bash
+
+   if ! /bin/false; then
+     cylc message -- "${CYLC_WORKFLOW_ID}" "${CYLC_TASK_JOB}" \
+       "CRITICAL:ERROR: /bin/false failed!"
+     exit 1
+   fi
+
+To abort a job script with a custom message that can be passed to a
+*failed* task event handler, use the built-in ``cylc__job_abort`` shell
+function:
+
+.. code-block:: bash
+
+   if ! /bin/false; then
+     cylc__job_abort "ERROR: /bin/false failed!"
+   fi
+
+
+.. _DetachingJobs:
+
+Avoid Detaching Processes
+-------------------------
+
+If a task script starts background sub-processes and does not wait on them, or
+internally submits jobs to a :term:`job runner` and then exits immediately, the
+detached processes will not be visible to Cylc and the task will appear to
+finish when the top-level script finishes. You will need to modify scripts
+like this to make them execute all sub-processes in the foreground (or use the
+shell ``wait`` command to wait on them before exiting) and to prevent job
+submission commands from returning before the job completes (e.g.
+``llsubmit -s`` for Loadleveler,
+``qsub -sync yes`` for Sun Grid Engine, and
+``qsub -W block=true`` for PBS).
+
+If this is not possible - perhaps you don't have control over the script
+or can't work out how to fix it - one alternative approach is to use another
+task to repeatedly poll for the results of the detached processes:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = "model => checker => post-proc"
+   [runtime]
+       [[model]]
+           # Uh-oh, this script does an internal job submission to run model.exe:
+           script = "run-model.sh"
+       [[checker]]
+           # Fail and retry every minute (for 10 tries at the most) if model's
+           # job.done indicator file does not exist yet.
+           script = "[[ ! -f $RUN_DIR/job.done ]] && exit 1"
+           execution retry delays = 10 * PT1M
+
+
+.. _PipeInJobScripts:
+
+Use of Pipes in Job Scripts
+---------------------------
+
+In bash, the return status of a pipeline is normally the exit status of the
+last command. This is unsafe, because if any command in the pipeline fails, the
+script will continue nevertheless.
+
+For safety, a Cylc job script running in bash will have the
+``set -o pipefail`` option turned on automatically. If a pipeline
+exists in a task's ``script``, etc section, the failure of any part of
+a pipeline will cause the command to return a non-zero code at the end, which
+will be reported as a job failure. Due to the unique nature of a pipeline,
+the job file will trap the failure of the individual commands, as well as the
+whole pipeline, and will attempt to report a failure back to the workflow twice.
+The second message is ignored by the workflow, and so the behaviour can be safely
+ignored. (You should probably still investigate the failure, however!)
diff --git a/nightly_8.3/html/_sources/user-guide/task-implementation/job-submission.rst.txt b/nightly_8.3/html/_sources/user-guide/task-implementation/job-submission.rst.txt
new file mode 100644
index 00000000000..ba0ec693246
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/task-implementation/job-submission.rst.txt
@@ -0,0 +1,304 @@
+.. _TaskJobSubmission:
+
+Job Submission and Management
+=============================
+
+This section explains how the Cylc scheduler submits :term:`jobs <job>`
+when they are ready to run, and how to define new :term:`job runner` handlers.
+
+.. note::
+
+   For the requirements a command, script, or program, must fulfil in order to
+   function as a Cylc task, see :ref:`TaskImplementation`.
+
+When a task is ready Cylc generates a :term:`job script` (see :ref:`JobScripts`).
+The job script is submitted to be run by the job runner from the
+:term:`platform` chosen for the task.
+Like other runtime properties, you can set a workflow default platform and
+override it for specific tasks or families:
+
+.. code-block:: cylc
+
+   [runtime]
+      [[root]] # workflow defaults
+           platform = platform_with_loadleveler
+      [[foo]] # just task foo
+           platform = platform_with_at
+
+
+.. _AvailableMethods:
+
+Supported Job Submission Methods
+--------------------------------
+
+Cylc provided built-in support for the following batch submission systems:
+
+.. NOTE this builds and links stub-pages for each of the job runners
+
+.. automodule:: cylc.flow.job_runner_handlers
+
+See :ref:`CustomJobSubmissionMethods` for how to add new job
+submission methods.
+
+Default Directives Provided
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+For :term:`job runners <job runner>` that use job file directives (PBS, Loadleveler,
+etc.) default directives are provided to set the job name, stdout and stderr
+file paths, and the execution time limit (if specified).
+
+Cylc constructs the job name string using a combination of the task ID and the
+workflow name. PBS fails a job submit if the job name in ``-N name`` is
+too long. For version 12 or below, this is 15 characters. For version 13, this
+is 236 characters. The default setting will truncate the job name string to 236
+characters. If you have PBS 12 or older at your site, you should modify your
+site's global configuration file to allow the job name to be truncated at 15
+characters using
+:cylc:conf:`global.cylc[platforms][<platform name>]job name length maximum`.
+
+Directives Section Quirks (PBS, SGE, ...)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+To specify an option with no argument, such as ``-V`` in PBS or
+``-cwd`` in SGE you must give a null string as the directive value in
+the :cylc:conf:`flow.cylc` file.
+
+The left hand side of a setting (i.e. the string before the first equal sign)
+must be unique. To specify multiple values using an option such as
+``-l`` option in PBS, SGE, etc., either specify all items in a single
+line:
+
+.. code-block:: none
+
+   -l=select=28:ncpus=36:mpiprocs=18:ompthreads=2:walltime=12:00:00
+
+(Left hand side is ``-l``. A second ``-l=...`` line will override the first.)
+
+Or separate the items:
+
+.. code-block:: none
+
+   -l select=28
+   -l ncpus=36
+   -l mpiprocs=18
+   -l ompthreads=2
+   -l walltime=12:00:00
+
+.. note::
+
+   There is no equal sign after ``-l``.
+
+(Left hand sides are now ``-l select``, ``-l ncpus``, etc.)
+
+
+.. _WhitherStdoutAndStderr:
+
+Task stdout and stderr Logs
+---------------------------
+
+When a task is ready to run Cylc generates a filename root to be used
+for the job script and log files. The file path contains the task
+name, cycle point, and a submit number that increments if the same task is
+re-triggered multiple times:
+
+.. code-block:: sub
+
+   # job script:
+   ~/cylc-run/my-workflow/basic/log/job/1/hello/01/job
+   # stdout:
+   ~/cylc-run/my-workflow/basic/log/job/1/hello/01/job.out
+   # stderr:
+   ~/cylc-run/my-workflow/basic/log/job/1/hello/01/job.err
+
+How the stdout and stderr streams are directed into these files depends on the
+:term:`job runner`. The
+:py:mod:`background <cylc.flow.job_runner_handlers.background>` method just
+uses appropriate output redirection on the command line, as shown above. The
+:py:mod:`loadleveler <cylc.flow.job_runner_handlers.loadleveler>` method writes
+appropriate directives to the job script that is submitted to loadleveler.
+
+Cylc obviously has no control over the stdout and stderr output from
+tasks that do their own internal output management (e.g. tasks
+that submit internal jobs and direct the associated output to other
+files). For less internally complex tasks, however, the files referred
+to here will be complete job logs.
+
+Some job runners, such as :py:mod:`PBS <cylc.flow.job_runner_handlers.pbs>`,
+redirect a job's stdout
+and stderr streams to a separate cache area while the job is running. The
+contents are only copied to the normal locations when the job completes. This
+means that ``cylc cat-log`` will be unable to find the
+job's stdout and stderr streams while the job is running. Some sites with these
+job runners are known to provide commands for viewing and/or
+tail-follow a job's stdout and stderr streams that are redirected to these
+cache areas. If this is the case at your site, you can configure Cylc to make
+use of the provided commands by adding some settings to the global site/user
+config. E.g.:
+
+.. TODO - re-write this example when default directives arrive for platforms
+
+.. code-block:: cylc
+
+   [hosts]
+       [[HOST]]  # <= replace this with a real host name
+           [[[batch systems]]]
+               [[[[pbs]]]]
+                   err tailer = qcat -f -e \%(job_id)s
+                   out tailer = qcat -f -o \%(job_id)s
+                   err viewer = qcat -e \%(job_id)s
+                   out viewer = qcat -o \%(job_id)s
+
+
+.. _CommandTemplate:
+
+Overriding The Job Submission Command
+-------------------------------------
+
+To change the form of the actual command used to submit a job you
+need to define a new
+:cylc:conf:`global.cylc[platforms][<platform name>]job runner command template`.
+
+.. code-block:: cylc
+
+   [platform]
+       [[my_custom_platform]]
+           hosts = host1, host2
+           job runner = loadleveler
+           # Use '-s' to stop llsubmit returning
+           # until all job steps have completed:
+           job runner command template = llsubmit -s %(job)s
+
+The template's ``%(job)s`` will be substituted by the job file path.
+
+
+Job Polling
+-----------
+
+For supported :term:`job runners <job runner>`, jobs can be *polled* to
+check that their true state matches what the scheduler expects based on received
+job status messages or previous polls. The :term:`scheduler` executes a process
+on the task host, by non-interactive ssh, to interrogate the job runner, and to
+read the ``job.status`` file of the task which is automatically generated by the
+:term:`job script` as it runs.
+
+Polling may be required to update the workflow state correctly after unusual
+events such as
+
+- a job gets killed by the untrappable SIGKILL signal (e.g. ``kill -9 PID``)
+- a machine being rebooted with tasks running on it
+- network problems prevent task messages from getting back to the workflow host
+- the :term:`scheduler` itself was down when active jobs finished
+
+Tasks can be polled on demand by using the
+``cylc poll`` command.
+
+.. seealso::
+   - ``cylc poll --help``
+
+Tasks are polled automatically, once, if they timeout while queueing in a
+job runner and submission timeout is set.
+(See :cylc:conf:`[runtime][<namespace>][events]`
+for how to configure timeouts).
+
+Tasks are polled multiple times, where necessary, when they exceed their
+execution time limits. These are normally set with some initial delays to allow
+the job runners to kill the jobs.
+(See
+:cylc:conf:`execution time limit polling intervals <global.cylc[platforms][<platform name>]execution time limit polling intervals>`
+for how to configure the polling intervals).
+
+Any tasks recorded in the *submitted* or *running* states at workflow
+restart are automatically polled to determine what happened to them while the
+workflow was down.
+
+By default, regular polling also takes place every 15 minutes whilst a job is
+submitted or running. The default polling intervals can be overridden in the
+global configuration:
+
+* :cylc:conf:`global.cylc[platforms][<platform name>]submission polling intervals`
+* :cylc:conf:`global.cylc[platforms][<platform name>]execution polling intervals`
+
+The polling intervals can also be configured for individual tasks:
+
+* :cylc:conf:`[runtime][<namespace>]submission polling intervals`
+* :cylc:conf:`[runtime][<namespace>]execution polling intervals`
+
+Polling can be used as the sole method of determining task status on hosts that
+do not allow task messages to be routed back to the workflow host.
+See :ref:`Polling To Track Job Status`.
+
+.. note::
+
+   For polling to work correctly, the job runner queueing system must have a
+   job listing command for listing your jobs, and that the job listing must
+   display job IDs as they are returned by the job runner queueing system submit
+   command. For example, for pbs, moab and sge, the ``qstat`` command
+   should list jobs with their IDs displayed in exactly the same format as they
+   are returned by the ``qsub`` command.
+
+
+Job Killing
+-----------
+
+For supported :term:`job runners <job runner>`, the :term:`scheduler` can execute a process on
+the task host, by non-interactive ssh, to kill a submitted or running job
+according to its job runner.
+
+Tasks can be killed on demand by using the ``cylc kill`` command.
+
+
+Execution Time Limit
+--------------------
+
+.. cylc-scope:: flow.cylc[runtime][<namespace>]
+
+You can specify an :cylc:conf:`execution time limit` for all supported job
+submission methods. E.g.:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[task-x]]
+           execution time limit = PT1H
+
+For tasks running with
+:py:mod:`background <cylc.flow.job_runner_handlers.background>` or
+:py:mod:`at <cylc.flow.job_runner_handlers.at>`, their jobs
+will be wrapped using the ``timeout`` command. For all other methods,
+the relevant time limit directive will be added to their job files.
+
+The :cylc:conf:`execution time limit` setting will also inform the workflow when a
+a job should complete by. If a job has not reported completing within
+the specified time, the workflow will poll the job. (The default
+setting is ``PT1M, PT2M, PT7M``. The accumulated times for these intervals will be
+roughly 1 minute, 1 + 2 = 3 minutes and 1 + 2 + 7 = 10 minutes after a job
+exceeds its :cylc:conf:`execution time limit`.)
+
+.. cylc-scope::
+
+
+Execution Time Limit and Execution Timeout
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. cylc-scope:: flow.cylc[runtime][<namespace>]
+
+If you specify an :cylc:conf:`execution time limit` the
+execution timeout event handler will only be called if the job has
+not completed after the final poll (by default, 10 min after the time limit).
+This should only happen if the submission method you are using is not enforcing
+wallclock limits (unlikely) or you are unable to contact the machine to confirm
+the job status.
+
+If you specify an :cylc:conf:`[events]execution timeout` and not an
+:cylc:conf:`execution time limit` then the
+execution timeout event handler will be called as soon as the
+specified time is reached. The job will also be polled to check its latest
+status (possibly resulting in an update in its status and the calling of the
+relevant event handler). This behaviour is deprecated, which users should avoid
+using.
+
+If you specify an :cylc:conf:`[events]execution timeout` and an
+:cylc:conf:`execution time limit` then the execution timeout setting will be
+ignored.
+
+.. cylc-scope::
diff --git a/nightly_8.3/html/_sources/user-guide/task-implementation/ssh-job-management.rst.txt b/nightly_8.3/html/_sources/user-guide/task-implementation/ssh-job-management.rst.txt
new file mode 100644
index 00000000000..f0a89ba20f5
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/task-implementation/ssh-job-management.rst.txt
@@ -0,0 +1,65 @@
+Remote Job Management
+=====================
+
+Managing tasks in a workflow requires more than just job execution: Cylc
+performs additional actions with ``rsync`` for file transfer, and
+direct execution of ``cylc`` sub-commands over non-interactive SSH.
+
+
+SSH-free Job Management?
+------------------------
+
+Some sites may want to restrict access to job hosts by whitelisting SSH
+connections to allow only ``rsync`` for file transfer, and allowing job
+execution only via a local :term:`job runner` that sees the job hosts [1]_ .
+We are investigating the feasibility of SSH-free job management when a local
+job runner is available, but this is not yet possible unless your workflow
+and job hosts also share a filesystem, which allows Cylc to treat jobs as
+entirely local [2]_ .
+
+
+SSH-based Job Management
+------------------------
+
+Cylc does not have persistent agent processes running on job hosts to act on
+instructions received over the network [3]_ so instead we execute job
+management commands directly on job hosts over SSH. Reasons for this include:
+
+- It works equally for :term:`job runner` and background jobs.
+- SSH is *required* for background jobs, and for jobs in other job runners if the
+  job runner is not available on the workflow host.
+- Querying the job runner alone is not sufficient for full job
+  polling functionality.
+
+  - This is because jobs can complete (and then be forgotten by
+    the job runner) while the network, workflow host, or :term:`scheduler` is
+    down (e.g. between workflow shutdown and restart).
+  - To handle this we get the automatic job wrapper code to write
+    job messages and exit status to *job status files* that are
+    interrogated by :term:`schedulers <scheduler>` during job polling
+    operations.
+  - Job status files reside on the job host, so the interrogation
+    is done over SSH.
+
+- Job status files also hold job runner name and job ID; this is
+  written by the job submit command, and read by job poll and kill commands
+
+
+Other Cases Where Cylc Uses SSH Directly
+----------------------------------------
+
+.. TODO - do a scan through the codebase to assert that this is still the only
+          uses of SSH in Cylc Flow.
+
+- To see if a workflow is running on another host with a shared
+  filesystem - see ``cylc/flow/workflow_files:detect_old_contact_file``.
+
+
+.. [1] A malicious script could be ``rsync``'d and run from a batch
+       job, but jobs in job runners are considered easier to audit.
+.. [2] The job ID must also be valid to query and kill the job via the local
+       :term:`job runner`. This is not the case for Slurm, unless the
+       ``--cluster`` option is explicitly used in job query and kill commands,
+       otherwise the job ID is not recognized by the local Slurm instance.
+.. [3] This would be a more complex solution, in terms of implementation,
+       administration, and security.
diff --git a/nightly_8.3/html/_sources/user-guide/writing-workflows/configuration.rst.txt b/nightly_8.3/html/_sources/user-guide/writing-workflows/configuration.rst.txt
new file mode 100644
index 00000000000..16bbf4a39a2
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/writing-workflows/configuration.rst.txt
@@ -0,0 +1,203 @@
+.. _User Guide Configuration:
+
+Workflow Configuration
+======================
+
+.. _FlowConfigFile:
+
+The ``flow.cylc`` File
+----------------------
+
+Cylc workflows are defined in :cylc:conf:`flow.cylc` files that specify the
+tasks to be managed by the Cylc scheduler, the dependencies between them,
+and the schedules to run time on.
+
+General file syntax is described in the :ref:`File Format Reference
+<file-format>`.
+
+Legal configuration settings are documented in :ref:`workflow-configuration`.
+
+.. _template processors: https://en.wikipedia.org/wiki/Template_processor
+
+Cylc also supports two `template processors`_ for use in the ``flow.cylc`` file:
+
+* `Jinja2`_
+* `EmPy`_
+
+
+.. _WorkflowDefinitionDirectories:
+
+Workflow Configuration Directories
+----------------------------------
+
+A Cylc :term:`source directory` contains:
+
+:cylc:conf:`flow.cylc`
+   The file which configures the workflow.
+
+``bin/`` (optional)
+   A directory for scripts and executables used by workflow tasks. It is
+   added to ``$PATH`` in job environments.
+
+   Jobs can also run scripting defined in the :cylc:conf:`flow.cylc` file,
+   executables installed to user-defined locations of the workflow run
+   directory, and external executables.
+
+``lib/python/`` (optional)
+   A directory for Python modules. It is added to ``$PYTHONPATH`` in
+   the scheduler and job execution environments. It can be used by:
+
+   - Tasks
+   - Custom :ref:`job submission modules <CustomJobSubmissionMethods>`
+   - Custom :ref:`Jinja2 Filters<CustomJinja2Filters>`
+
+Other files and folders may be placed in the :term:`source directory` too:
+documentation, configuration files, etc. When the workflow is :ref:`installed
+<Installing-workflows>` these will be copied over to the :term:`run directory`.
+
+.. note::
+
+   If your workflow needs to create or install scripts or executables at runtime
+   and you don't want Cylc to delete them on re-installation, you can use
+   equivalent directories in the :ref:`workflow_share_directories`.
+
+
+.. _SyntaxHighlighting:
+
+Syntax Highlighting For Workflow Configuration
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Cylc provides syntax plugins for the following editors:
+
+.. _language-cylc: https://github.com/cylc/language-cylc
+.. _Cylc.tmbundle: https://github.com/cylc/Cylc.tmbundle
+.. _vscode-cylc: https://marketplace.visualstudio.com/items?itemName=cylc.vscode-cylc
+
+Atom
+   install the `language-cylc`_ extension.
+Emacs
+   The syntax file can be obtained from the Cylc library by
+   running the following command
+   ``cylc get-resources syntax/cylc-mode.el .``
+   installation instructions are at the top of the file.
+Gedit
+   The syntax file can be obtained from the Cylc library by
+   running the following command
+   ``cylc get-resources syntax/cylc.lang .``
+   installation instructions are at the top of the file.
+Kate
+   The syntax file can be obtained from the Cylc library by
+   running the following command
+   ``cylc get-resources syntax/cylc.xml .``
+   installation instructions are at the top of the file.
+PyCharm
+   Install the `Cylc.tmbundle`_.
+Vim
+   The syntax file can be obtained from the Cylc library by
+   running the following command
+   ``cylc get-resources syntax/cylc.vim .``
+   installation instructions are at the top of the file.
+Visual Studio Code
+   Install the `vscode-cylc`_ extension.
+Sublime Text 3
+   Install the `Cylc.tmbundle`_.
+TextMate
+   Install the `Cylc.tmbundle`_.
+WebStorm
+      Install the `Cylc.tmbundle`_.
+
+Gross File Structure
+^^^^^^^^^^^^^^^^^^^^
+
+Cylc :cylc:conf:`flow.cylc` files consist of configuration items grouped under
+several top level section headings:
+
+:cylc:conf:`[meta]`
+   Information about the workflow e.g. title and description.
+:cylc:conf:`[scheduler]`
+   Non task-specific workflow configuration.
+:cylc:conf:`[scheduling]`
+   Determines when tasks are ready to run.
+
+   - special scheduling constraints e.g.
+     :ref:`external triggers <Section External Triggers>`.
+   - the dependency graph, which defines the relationships
+     between tasks
+:cylc:conf:`[runtime]`
+   Determines how, where, and what to execute when tasks are ready
+
+   - script, environment, job submission, remote hosting, etc.
+   - workflow-wide defaults in the *root* family
+   - a nested family hierarchy with common properties
+     inherited by related tasks
+
+.. _Validation:
+
+Validation
+^^^^^^^^^^
+
+The ``cylc validate`` command evaluates the :cylc:conf:`flow.cylc` file
+against a specification that defines all legal entries, values and options.
+It also performs some integrity checks designed to catch certain configuration
+issues and impossible scheduling constraints.
+
+These checks are also performed by ``cylc play`` before starting a workflow.
+
+All legal entries are documented in the :cylc:conf:`flow.cylc` reference.
+
+If a :cylc:conf:`flow.cylc` file uses include-files ``cylc view`` will
+show an inlined copy of the workflow with correct line numbers.
+
+.. _cylc_lint_script:
+
+``cylc lint``
+^^^^^^^^^^^^^
+
+.. automodule:: cylc.flow.scripts.lint
+
+Configure ``cylc lint`` at project level
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+You can configure ``cylc lint`` for each workflow using a
+``pyproject.toml`` file.
+
+To define settings for ``cylc lint`` use a ``[cylc-lint]`` section.
+Within the ``[cylc-lint]`` section you may define the following:
+
+rulesets
+   A list of rulesets to use. If you run cylc lint without setting rulesets
+   on the command line this value will override
+   the default (``['728', 'style']``).
+
+   Allowed Values: '728', 'style'
+
+ignore
+   Individual rules to ignore: A list of rule codes, such as ``S007``.
+
+exclude
+   A list of files or glob patterns for files which will not be checked.
+
+max-line-length
+   Set longest line length to permit in Cylc Configs for this project.
+   If unset, line length is not checked.
+
+
+An example ``pyproject.toml`` might look like this:
+
+.. code-block:: toml
+
+   [cylc-lint]
+   # Enforce a line limit of 99 chars
+   max-line-length = 99
+
+   # Ignore style [S] rule 007 (It's good practice comment with a reason)
+   ignore = ['S007']   # Family names start with lowercase in this workflow
+
+   # Don't check files matching these globs
+   exclude = ['history/*.old.cylc', 'someother.cylc']
+
+   # By default check for style
+   rulesets = ['style']
+
+   [some-other-section]
+   # Cylc lint won't pay any attention to this.
diff --git a/nightly_8.3/html/_sources/user-guide/writing-workflows/empy.rst.txt b/nightly_8.3/html/_sources/user-guide/writing-workflows/empy.rst.txt
new file mode 100644
index 00000000000..c006107e21e
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/writing-workflows/empy.rst.txt
@@ -0,0 +1,58 @@
+.. _User Guide EmPy:
+
+EmPy
+====
+
+Cylc also supports the EmPy template processor in workflow configurations.
+Like :ref:`User Guide Jinja2`, EmPy provides variables, mathematical
+expressions, loop control structures, conditional logic, etc., that gets
+expanded to generate the final workflow configuration seen - which must must be
+valid Cylc syntax. See `EmPy`_ documentation
+for details of its templating features and how to use them.
+
+.. note::
+
+   EmPy is not included in the standard Cylc installation. If installing
+   with ``pip`` run ``pip install cylc-flow[empy]`` to install it.
+
+.. TODO: update this when the conda instructions change
+
+To enable EmPy place an ``empy`` hash-bang comment on the first line of
+the ``flow.cylc`` file:
+
+.. code-block:: cylc
+
+   #!empy
+
+
+As an example, here is the "cities" workflow from the previous section,
+implemented with Empy instead of Jinja2.
+
+.. literalinclude:: ../../workflows/empy/cities/flow.cylc
+   :language: cylc
+
+For basic usage, the difference between Jinja2 and EmPy amounts to little more than
+a different markup syntax. EmPy might be preferable, however, in cases needing
+more complicated processing logic.
+
+*EmPy is a system for embedding Python expressions and statements in template
+text. It makes the full power of Python language and its ecosystem easily
+accessible from within the template. This might be desirable for several
+reasons:*
+
+- No need to learn a different language just for writing template logic
+- Availability of lambda functions, lists, and dictionary comprehensions
+  can make template code smaller and more readable compared to Jinja2
+- Natural and straightforward integration with the Python package ecosystem
+- No two-language barrier between writing template logic and processing
+  extensions makes it easier to refactor and maintain the template code
+  as its complexity grows. Inline Python code can be gathered into subroutines
+  and eventually into separate modules and packages in a seamless manner.
+
+
+Workflow files and Context Variables
+------------------------------------
+
+The EmPy processor has the same access as Jinja2 to
+:ref:`workflow files <jinja2.workflow_files>` and
+:ref:`workflow context variables <jinja2.workflow_context>`.
diff --git a/nightly_8.3/html/_sources/user-guide/writing-workflows/external-triggers.rst.txt b/nightly_8.3/html/_sources/user-guide/writing-workflows/external-triggers.rst.txt
new file mode 100644
index 00000000000..167e4970572
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/writing-workflows/external-triggers.rst.txt
@@ -0,0 +1,615 @@
+.. _Section External Triggers:
+
+External Triggers
+=================
+
+External triggers allow tasks to trigger directly off of external events, which
+is often preferable to implementing long-running polling tasks in the workflow.
+The triggering mechanism described in this section is intended to replace the one
+one documented in :ref:`Old-Style External Triggers` (however, that one is a push
+mechanism, whereas this one involves regular polling by the scheduler).
+
+If you can write a Python function to check the status of an external
+condition or event, the :term:`scheduler` can call it at configurable
+intervals until it reports success, at which point dependent tasks can trigger
+and data returned by the function will be passed to the job environments of
+those tasks. Functions can be written for triggering off of almost anything,
+such as delivery of a new dataset, creation of a new entry in a database
+table, or appearance of new data availability notifications in a message
+broker.
+
+.. TODO - update this once we have static visualisation
+
+   External triggers are visible in workflow visualizations as bare graph nodes (just
+   the trigger names). They are plotted against all dependent tasks, not in a
+   cycle point specific way like tasks. This is because external triggers may or
+   may not be cycle point (or even task name) specific - it depends on the
+   arguments passed to the corresponding trigger functions. For example, if an
+   external trigger does not depend on task name or cycle point it will only be
+   called once - albeit repeatedly until satisfied - for the entire workflow run,
+   after which the function result will be remembered for all dependent tasks
+   throughout the workflow run.
+
+.. TODO - auto-document these once we have a python endpoint for them
+
+Cylc has several built-in external trigger functions:
+
+- clock triggers - see :ref:`Built-in Clock Triggers`
+- inter-workflow triggers - see :ref:`Built-in Workflow State Triggers`
+
+Trigger functions are normal Python functions, with certain constraints as
+described below in:
+
+- custom trigger functions - see :ref:`Custom Trigger Functions`
+
+External triggers are configured in the
+:cylc:conf:`flow.cylc[scheduling][xtriggers]` section.
+
+.. NOTE - from here on all references can start [xtriggers]
+
+.. cylc-scope:: flow.cylc[scheduling]
+
+
+.. _Built-in Clock Triggers:
+
+Built-in Clock Triggers
+-----------------------
+
+These are more transparent (exposed in the graph) and efficient (shared among
+dependent tasks) than the older clock triggers described
+in :ref:`ClockTriggerTasks`.
+
+Clock triggers, unlike other trigger functions, are executed synchronously in
+the main process. The clock trigger function signature looks like this:
+
+.. code-block:: python
+
+   wall_clock(offset=None)
+
+The ``offset`` argument is a datetime duration (``PT1H`` is 1
+hour) relative to the dependent task's cycle point (automatically passed to the
+function via a second argument not shown above).
+
+In the following workflow, task ``foo`` has a daily cycle point sequence,
+and each task instance can trigger once the wallclock time has passed its
+cycle point value by one hour:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 2018-01-01
+       [[xtriggers]]
+           clock_1 = wall_clock(offset=PT1H):PT10S
+       [[graph]]
+           P1D = "@clock_1 => foo"
+   [runtime]
+       [[foo]]
+           script = run-foo.sh
+
+Notice that the short label ``clock_1`` is used to represent the
+trigger function in the graph. The function call interval, which determines how
+often the :term:`scheduler` checks the clock, is optional. Here it is
+``PT10S`` (i.e. 10 seconds, which is also the default value).
+
+Argument keywords can be omitted if called in the right order, so the
+``clock_1`` trigger can also be declared like this:
+
+.. code-block:: cylc
+
+   [[xtriggers]]
+       clock_1 = wall_clock(PT1H)
+
+A zero-offset clock trigger does not need to be declared under
+the :cylc:conf:`[xtriggers]` section:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 2018-01-01
+       [[graph]]
+            # zero-offset clock trigger:
+           P1D = "@wall_clock => foo"
+   [runtime]
+       [[foo]]
+           script = run-foo.sh
+
+However, when xtriggers are declared the name used must adhere to the following
+rules:
+
+.. autoclass:: cylc.flow.unicode_rules.XtriggerNameValidator
+
+
+.. _Built-in Workflow State Triggers:
+
+Built-in Workflow State Triggers
+--------------------------------
+
+These can be used instead of the older workflow state polling tasks described
+in :ref:`WorkflowStatePolling` for inter-workflow triggering - i.e. to trigger local
+tasks off of remote task statuses or messages in other workflows.
+
+The workflow state trigger function signature looks like this:
+
+.. code-block:: python
+
+   workflow_state(workflow, task, point, offset=None, status='succeeded',
+                  message=None, cylc_run_dir=None, debug=False)
+
+The first three arguments are compulsory; they single out the target workflow name
+(``workflow``) task name (``task``) and cycle point
+(``point``). The function arguments mirror the arguments and options of
+the ``cylc workflow-state`` command - see
+``cylc workflow-state --help`` for documentation.
+
+As a simple example, consider the following "upstream"
+workflow (which we want to trigger off of):
+
+.. literalinclude:: ../../workflows/xtrigger/workflow_state/upstream/flow.cylc
+   :language: cylc
+
+It must be installed and run under the name *up*, as referenced in the
+"downstream" workflow that depends on it:
+
+.. literalinclude:: ../../workflows/xtrigger/workflow_state/downstream/flow.cylc
+   :language: cylc
+
+Try starting the downstream workflow first, then the upstream, and
+watch what happens.
+In each cycle point the ``@upstream`` trigger in the downstream workflow
+waits on the task ``foo`` (with the same cycle point) in the upstream
+workflow to emit the *data ready* message.
+
+Some important points to note about this:
+
+- The function call interval, which determines how often the scheduler
+  checks the clock, is optional. Here it is
+  ``PT10S`` (i.e. 10 seconds, which is also the default value).
+- The ``workflow_state`` trigger function, like the
+  ``cylc workflow-state`` command, must have read-access to the upstream
+  workflow's public database.
+- The cycle point argument is supplied by a string template
+  ``%(point)s``. The string templates available to trigger function
+  arguments are described in :ref:`Custom Trigger Functions`).
+
+The return value of the ``workflow_state`` trigger function looks like
+this:
+
+.. code-block:: python
+
+   results = {
+       'workflow': workflow,
+       'task': task,
+       'point': point,
+       'offset': offset,
+       'status': status,
+       'message': message,
+       'cylc_run_dir': cylc_run_dir
+   }
+   return (satisfied, results)
+
+The ``satisfied`` variable is boolean (value True or False, depending
+on whether or not the trigger condition was found to be satisfied). The
+``results`` dictionary contains the names and values of all of the
+target workflow state parameters. Each item in it gets qualified with the
+unique trigger label ("upstream" here) and passed to the environment of
+dependent tasks (the members of the ``FAM`` family in this case).
+To see this, take a look at the job script for one of the downstream tasks:
+
+.. code-block:: console
+
+   % cylc cat-log -f j dn//2011/f22011
+   ...
+   cylc__job__inst__user_env() {
+       # TASK RUNTIME ENVIRONMENT:
+       export upstream_workflow upstream_cylc_run_dir upstream_offset \
+         upstream_message upstream_status upstream_point upstream_task
+       upstream_workflow="up"
+       upstream_cylc_run_dir="/home/vagrant/cylc-run"
+       upstream_offset="None"
+       upstream_message="data ready"
+       upstream_status="succeeded"
+       upstream_point="2011"
+       upstream_task="foo"}
+   ...
+
+.. note::
+
+   The task has to know the name (label) of the external trigger that it
+   depends on - "upstream" in this case - in order to use this information.
+   However the name could be given to the task environment in the workflow
+   configuration.
+
+
+.. _Custom Trigger Functions:
+
+Custom Trigger Functions
+------------------------
+
+Trigger functions are just normal Python functions, with a few special
+properties:
+
+- they must:
+
+  - be defined in a module with the same name as the function;
+  - be compatible with the same Python version that runs the scheduler
+    (see :ref:`Requirements` for the latest version specification).
+
+- they can be located either:
+
+  - in ``<workflow-dir>/lib/python/``;
+  - or anywhere in your Python library path.
+
+- they can take arbitrary positional and keyword arguments
+- workflow and task identity, and cycle point, can be passed to trigger
+  functions by using string templates in function arguments (see below)
+- integer, float, boolean, and string arguments will be recognized and
+  passed to the function as such
+- if a trigger function depends on files or directories (for example)
+  that might not exist when the function is first called, just return
+  unsatisfied until everything required does exist.
+
+.. note::
+
+   Trigger functions cannot store data Pythonically between invocations
+   because each call is executed in an independent process in the process
+   pool. If necessary the filesystem can be used for this purpose.
+
+.. spelling:word-list::
+
+   vv
+
+.. autoenumvalues:: cylc.flow.xtrigger_mgr.TemplateVariables
+
+Function return values should be as follows:
+
+- if the trigger condition is *not satisfied*:
+
+  - return ``(False, {})``
+
+- if the trigger condition is *satisfied*:
+
+  - return ``(True, results)``
+
+where ``results`` is an arbitrary dictionary of information to be passed to
+dependent tasks, which in terms of format must:
+
+- be *flat* (non-nested);
+- contain *only* keys which are
+  `valid <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html>`_ as environment variable names.
+
+See :ref:`Built-in Workflow State Triggers` for an example of one such
+``results`` dictionary and how it gets processed by the workflow.
+
+The :term:`scheduler` manages trigger functions as follows:
+
+- they are called asynchronously in the process pool
+  - (except for clock triggers, which are called from the main process)
+- they are called repeatedly on a configurable interval, until satisfied
+  - the call interval defaults to ``PT10S`` (10 seconds)
+  - repeat calls are not made until the previous call has returned
+- they are subject to the normal process pool command time out - if they
+  take too long to return, the process will be killed
+- they are shared for efficiency: a single call will be made for all
+  triggers that share the same function signature - i.e.\ the same function
+  name and arguments
+- their return status and results are stored in the workflow DB and persist across
+  workflow restarts
+- their stdout, if any, is redirected to stderr and will be visible in
+  the workflow log in debug mode (stdout is needed to communicate return values
+  from the sub-process in which the function executes)
+
+
+Toy Examples
+^^^^^^^^^^^^
+
+echo
+""""
+
+The trivial built-in ``echo`` function takes any number of positional
+and keyword arguments (from the workflow configuration) and simply prints
+them to stdout, and then returns False (i.e. trigger condition not
+satisfied). Here it is in its entirety.
+
+.. code-block:: python
+
+   def echo(*args, **kwargs):
+       print("echo: ARGS:", args)
+       print("echo: KWARGS:", kwargs)
+       return False, {}
+
+Here's an example echo trigger workflow:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = now
+       [[xtriggers]]
+           echo_1 = echo(hello, 99, qux=True, point=%(point)s, foo=10)
+       [[graph]]
+           PT1H = "@echo_1 => foo"
+   [runtime]
+       [[foo]]
+           script = exit 1
+
+To see the result, run this workflow in debug mode and take a look at the
+workflow log (or run ``cylc play --debug --no-detach <workflow>`` and watch
+your terminal).
+
+
+xrandom
+"""""""
+
+The built-in ``xrandom`` function sleeps for a configurable amount of
+time (useful for testing the effect of a long-running trigger function
+- which should be avoided) and has a configurable random chance of
+success. The function signature is:
+
+.. code-block:: python
+
+   xrandom(percent, secs=0, _=None, debug=False)
+
+The ``percent`` argument sets the odds of success in any given call;
+``secs`` is the number of seconds to sleep before returning; and the
+``_`` argument (underscore is a conventional name for a variable
+that is not used, in Python) is provided to allow specialization of the
+trigger to (for example) task name, task ID, or cycle point (just use
+the appropriate string templates in the workflow configuration for this).
+
+An example xrandom trigger workflow:
+
+.. literalinclude:: ../../workflows/xtrigger/xrandom/flow.cylc
+   :language: cylc
+
+.. _Current Trigger Function Limitations:
+
+Current Limitations
+-------------------
+
+The following issues may be addressed in future Cylc releases:
+
+- trigger labels cannot currently be used in conditional (OR) expressions
+  in the graph; attempts to do so will fail validation.
+- aside from the predefined zero-offset ``wall_clock`` trigger, all
+  unique trigger function calls must be declared *with all of
+  their arguments* under the :cylc:conf:`[xtriggers]` section, and
+  referred to by label alone in the graph. It would be convenient (and less
+  verbose, although no more functional) if we could just declare a label
+  against the *common* arguments, and give remaining arguments (such as
+  different wallclock offsets in clock triggers) as needed in the graph.
+- we may move away from the string templating method for providing workflow
+  and task attributes to trigger function arguments.
+
+
+Filesystem Events?
+------------------
+
+Cylc does not have built-in support for triggering off of filesystem events
+such as ``inotify`` on Linux. There is no cross-platform standard for
+this, and in any case filesystem events are not very useful in HPC cluster
+environments where events can only be detected at the specific node on which
+they were generated.
+
+
+Continuous Event Watchers?
+--------------------------
+
+For some applications a persistent process that continually monitors the
+external world is better than discrete periodic checking. This would be more
+difficult to support as a plugin mechanism in Cylc, but we may decide to do it
+in the future. In the meantime, consider implementing a small daemon process as
+the watcher (e.g. to watch continuously for filesystem events) and have your
+Cylc trigger functions interact with it.
+
+
+.. _Old-Style External Triggers:
+
+Push External Triggers
+----------------------
+
+.. note::
+
+   The external triggering mechanism described here is harder to use than the
+   newer method of :ref:`Section External Triggers`. The trigger is a task
+   property rather than something the task depends on, it requires the
+   external system to push a message to the scheduler, and it has a less
+   flexible way to pass information to downstream tasks. However, a push
+   mechanism may sometimes be preferred over polling by the scheduler, so we
+   have retained support pending something better in a future Cylc 8 release.
+
+These external triggers are hidden task prerequisites that must be satisfied by
+using the ``cylc ext-trigger`` client command to send a pre-defined message to
+the workflow along with an ID string that distinguishes one instance of the
+event from another (the name of the target task and its current cycle point are
+not required). The event ID is just an arbitrary string to Cylc, but it can be
+used to identify something associated with the event to the workflow - such as
+the filename of a new externally-generated dataset. When the :term:`scheduler`
+receives the event notification it will trigger the next instance of any task
+waiting on that trigger (whatever its cycle point) and then broadcast
+(see :ref:`cylc-broadcast`) the event ID to the cycle point of the triggered
+task as ``$CYLC_EXT_TRIGGER_ID``. Downstream tasks with the same cycle
+point therefore know the new event ID too and can use it, if they need to, to
+identify the same new dataset. In this way a whole workflow can be associated
+with each new dataset, and multiple datasets can be processed in parallel if
+they happen to arrive in quick succession.
+
+An externally-triggered task must register the event it waits on in the workflow
+scheduling section:
+
+.. code-block:: cylc
+
+   # workflow "sat-proc"
+   [scheduling]
+       cycling mode = integer
+       initial cycle point = 1
+       [[special tasks]]
+           external-trigger = get-data("new sat X data avail")
+       [[graph]]
+           P1 = get-data => conv-data => products
+
+Then, each time a new dataset arrives the external detection system should
+notify the workflow like this:
+
+.. code-block:: console
+
+   $ cylc ext-trigger sat-proc "new sat X data avail" passX12334a
+
+where "sat-proc" is the workflow name and "passX12334a" is the ID string for
+the new event. The workflow passphrase must be installed on triggering account.
+
+.. note::
+
+   Only one task in a workflow can trigger off a particular external message.
+   Other tasks can trigger off the externally triggered task as required,
+   of course.
+
+Here is a working example of a simulated satellite processing workflow:
+
+.. literalinclude:: ../../workflows/satellite/ext-trigger/flow.cylc
+   :language: cylc
+
+External triggers are not normally needed in datetime cycling workflows driven
+by real time data that comes in at regular intervals. In these cases a data
+retrieval task can be clock-triggered (and have appropriate retry intervals) to
+submit at the expected data arrival time, so little time is wasted in polling.
+However, if the arrival time of the cycle-point-specific data is highly
+variable, external triggering may be used with the cycle point embedded in the
+message:
+
+.. code-block:: cylc
+
+   # workflow "data-proc"
+   [scheduling]
+       initial cycle point = 20150125T00
+       final cycle point   = 20150126T00
+       [[special tasks]]
+           external-trigger = get-data("data arrived for $CYLC_TASK_CYCLE_POINT")
+       [[graph]]
+           T00 = init-process => get-data => post-process
+
+Once the variable-length waiting is finished, an external detection system
+should notify the workflow like this:
+
+.. code-block:: console
+
+   $ cylc ext-trigger data-proc "data arrived for 20150126T00" passX12334a
+
+where "data-proc" is the workflow name, the cycle point has replaced the
+variable in the trigger string, and "passX12334a" is the ID string for
+the new event. The workflow passphrase must be installed on the triggering
+account. In this case, the event will trigger for the second cycle point but
+not the first because of the cycle-point matching.
+
+
+.. _WorkflowStatePolling:
+
+Triggering Off Of Tasks In Other Workflows
+------------------------------------------
+
+.. note::
+
+   Please read :ref:`Section External Triggers` before using the older
+   inter-workflow triggering mechanism described in this section.
+
+The ``cylc workflow-state`` command interrogates workflow run databases. It
+has a polling mode that waits for a given task in the target workflow to achieve a
+given state, or receive a given message. This can be used to make task
+scripting wait for a remote task to succeed (for example).
+
+Automatic workflow-state polling tasks can be defined with in the graph. They get
+automatically-generated task scripting that uses ``cylc workflow-state``
+appropriately (it is an error to give your own ``script`` item for these
+tasks).
+
+Here's how to trigger a task ``bar`` off a task ``foo`` in
+a remote workflow called ``other.workflow``:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           T00, T12 = "my-foo<other.workflow::foo> => bar"
+
+Local task ``my-foo`` will poll for the success of ``foo``
+in workflow ``other.workflow``, at the same cycle point, succeeding only when
+or if it succeeds. Other task states can also be polled:
+
+.. code-block:: cylc
+
+   T00, T12 = "my-foo<other.workflow::foo:fail> => bar"
+
+The default polling parameters (e.g. maximum number of polls and the interval
+between them) are printed by ``cylc workflow-state --help`` and can be
+configured if necessary under the local polling task runtime section:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           T00,T12 = "my-foo<other.workflow::foo> => bar"
+   [runtime]
+       [[my-foo]]
+           [[[workflow state polling]]]
+               max-polls = 100
+               interval = PT10S
+
+To poll for the target task to receive a message rather than achieve a state,
+give the message in the runtime configuration (in which case the task status
+inferred from the graph syntax will be ignored):
+
+.. code-block:: cylc
+
+   [runtime]
+       [[my-foo]]
+           [[[workflow state polling]]]
+               message = "the quick brown fox"
+
+For workflows owned by others, or those with run databases in non-standard
+locations, use the ``--run-dir`` option, or in-workflow:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[my-foo]]
+           [[[workflow state polling]]]
+               run-dir = /path/to/top/level/cylc/run-directory
+
+If the remote task has a different cycling sequence, just arrange for the
+local polling task to be on the same sequence as the remote task that it
+represents. For instance, if local task ``cat`` cycles 6-hourly at
+``0,6,12,18`` but needs to trigger off a remote task ``dog``
+at ``3,9,15,21``:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           T03,T09,T15,T21 = "my-dog<other.workflow::dog>"
+           T00,T06,T12,T18 = "my-dog[-PT3H] => cat"
+
+For workflow-state polling, the cycle point is automatically converted to the
+cycle point format of the target workflow.
+
+The remote workflow does not have to be running when polling commences because the
+command interrogates the workflow run database, not the :term:`scheduler`.
+
+.. note::
+
+   The graph syntax for workflow polling tasks cannot be combined with
+   cycle point offsets, family triggers, or parameterized task notation.
+   This does not present a problem because workflow polling tasks can be put on
+   the same cycling sequence as the remote-workflow target task (as recommended
+   above), and there is no point in having multiple tasks (family members or
+   parameterized tasks) performing the same polling operation. Task state
+   triggers can be used with workflow polling, e.g. to trigger another task if
+   polling fails after 10 tries at 10 second intervals:
+
+   .. code-block:: cylc
+
+      [scheduling]
+          [[graph]]
+              R1 = "poller<other-workflow::foo:succeed>:fail => another-task"
+      [runtime]
+          [[my-foo]]
+              [[[workflow state polling]]]
+                  max-polls = 10
+                  interval = PT10S
diff --git a/nightly_8.3/html/_sources/user-guide/writing-workflows/index.rst.txt b/nightly_8.3/html/_sources/user-guide/writing-workflows/index.rst.txt
new file mode 100644
index 00000000000..e1aa3351ee0
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/writing-workflows/index.rst.txt
@@ -0,0 +1,15 @@
+Writing Workflows
+=================
+
+.. toctree::
+   :maxdepth: 2
+
+   configuration
+   scheduling
+   runtime
+   parameterized-tasks
+   jinja2
+   empy
+   external-triggers
+   suicide-triggers
+   scheduler
diff --git a/nightly_8.3/html/_sources/user-guide/writing-workflows/jinja2.rst.txt b/nightly_8.3/html/_sources/user-guide/writing-workflows/jinja2.rst.txt
new file mode 100644
index 00000000000..841aba12728
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/writing-workflows/jinja2.rst.txt
@@ -0,0 +1,616 @@
+.. _Jinja:
+.. _User Guide Jinja2:
+
+Jinja2
+======
+
+.. tutorial::
+   Configuration Consolidation Tutorial <tutorial-cylc-consolidating-configuration>
+
+Cylc supports the `Jinja2`_ template processor in workflow configurations.
+Jinja2 code can appear anywhere in the file. The result after Jinja2 processing
+must be valid Cylc syntax.
+
+To use Jinja2, put a hash-bang comment in the first line of :cylc:conf:`flow.cylc`:
+
+.. code-block:: cylc
+
+   #!jinja2
+
+Embedded Jinja2 code should be reasonably easy to understand for those with
+coding experience; otherwise Jinja2 is documented `here <Jinja2_>`_.
+
+Uses of Jinja2 in Cylc include:
+
+ - Inclusion or exclusion of config sections by logical switch, e.g. to make
+   portable workflows
+ - Computation of config values from input data
+ - Inclusion of files and sub-templates
+ - Looping over parameters to generate groups of similar tasks and associated
+   dependencies - but see :ref:`Parameterized Tasks <User Guide Param>` for a
+   simpler alternative to this where appropriate
+
+.. _fig-jinja2-ensemble:
+
+.. figure:: ../../img/jinja2-ensemble-graph.png
+   :align: center
+
+   The Jinja2 ensemble example workflow graph.
+
+
+The graph above shows an ensemble of similar tasks generated with a Jinja2 loop:
+
+.. code-block:: cylc
+
+   #!jinja2
+   {% set N_MEMBERS = 5 %}
+   [scheduling]
+       [[graph]]
+           R1 = """
+   {# generate ensemble dependencies #}
+   {% for I in range( 0, N_MEMBERS ) %}
+               foo => mem_{{ I }} => post_{{ I }} => bar
+   {% endfor %}
+           """
+
+Note that Jinja2 code is encapsulated in curly braces to distinguish it from
+the surrounding text.
+
+
+    ================= ======================
+    Jinja2 Syntax     Description
+    ================= ======================
+    ``{# comment #}`` Comment
+    ``{% if true %}`` Expression
+    ``{{ var }}``     Print statement
+    ================= ======================
+
+Here is the workflow configuration after Jinja2 processing:
+
+.. code-block:: cylc
+
+   #!jinja2
+   [scheduling]
+       [[graph]]
+           R1 = """
+               foo => mem_0 => post_0 => bar
+               foo => mem_1 => post_1 => bar
+               foo => mem_2 => post_2 => bar
+               foo => mem_3 => post_3 => bar
+               foo => mem_4 => post_4 => bar
+           """
+
+This example illustrates Jinja2 loops nicely, but note it is now easier
+to generate task names automatically with built-in
+:ref:`task parameters <User Guide Param>`:
+
+.. code-block:: cylc
+
+   [task parameters]
+       m = 0..4
+   [scheduling]
+       [[graph]]
+           R1 = "foo => mem<m> => post<m> => bar"
+
+
+The next workflow, which generates weather forecasts over a number of cities, is
+more complex. To add a new city and associated tasks and dependencies just add
+the new city name to list at the top of the file. It makes use of Jinja2
+variables, loops, math, and logical flags to include or exclude tasks.
+
+.. tip::
+   This example could also be simplified with built in
+   :ref:`task parameters <User Guide Param>`
+
+.. literalinclude:: ../../workflows/jinja2/cities/flow.cylc
+   :language: cylc
+
+.. _fig-jinja2-cities:
+
+.. figure:: ../../img/jinja2-workflow-graph.png
+   :align: center
+
+   Jinja2 cities example workflow graph, with the
+   New York City task family expanded.
+
+
+.. _jinja2.workflow_files:
+
+Access to Workflow Files
+------------------------
+
+Your Jinja2 code can see the workflow directory by using
+:ref:`Python code <jinja2.importing_python_modules>`
+that simply reads from the *current working directory*.
+
+This will be the source directory if parsing a source workflow, or the run
+directory if parsing an installed workflow.
+
+
+.. _jinja2.workflow_context:
+
+Workflow Context variables
+--------------------------
+
+Jinja2 CYLC variables available when parsing any workflow (source or installed):
+
+.. table::
+
+   ======================    ==============
+   CYLC_VERSION              Version of Cylc parsing the configuration
+   CYLC_WORKFLOW_NAME        Workflow name (source, or run ID minus run name)
+   CYLC_TEMPLATE_VARS        Variables set by '--set' CLI options or plugins
+   ======================    ==============
+
+
+Additional Jinja2 CYLC variables available when parsing an installed workflow:
+
+.. table::
+
+   ======================    ==============
+   CYLC_WORKFLOW_ID          Workflow ID
+   CYLC_WORKFLOW_RUN_DIR     Workflow run directory
+   ======================    ==============
+
+
+Additional Jinja2 CYLC variables available when the scheduler is parsing an
+installed workflow at run time:
+
+.. table::
+
+   =======================    ==============
+   CYLC_WORKFLOW_LOG_DIR      Workflow log sub-directory
+   CYLC_WORKFLOW_SHARE_DIR    Workflow share sub-directory
+   CYLC_WORKFLOW_WORK_DIR     Workflow work sub-directory
+   =======================    ==============
+
+.. note::
+
+   Set default values for CYLC variables that are only defined for installed or
+   running workflows, to allow successful parsing in other contexts as well:
+   ``{{CYLC_WORKFLOW_RUN_DIR | default("not-defined")}}``.
+
+
+Environment Variables
+---------------------
+
+Cylc automatically imports the parse-time environment to the template
+processor's global namespace (see :ref:`CustomJinja2Filters`),
+in a dictionary called ``environ``:
+
+.. code-block:: cylc
+
+   #!Jinja2
+   #...
+   [runtime]
+       [[root]]
+           [[[environment]]]
+               HOME_DIR_ON_WORKFLOW_HOST = {{environ['HOME']}}
+
+.. warning::
+
+   The environment is read during configuration parsing. It is not the run time
+   job environment.
+
+
+.. _CustomJinja2Filters:
+
+Custom Jinja2 Filters, Tests and Globals
+----------------------------------------
+
+Jinja2 has three namespaces that separate "globals", "filters" and "tests".
+Globals are template-wide variables and functions. Cylc extends this namespace
+with the ``environ`` dictionary above, and
+:ref:`raise <jinja2-raise>` and :ref:`assert <jinja2-assert>`
+functions for raising exceptions to abort Cylc config parsing.
+
+Filters can be used to modify variable values and are applied using pipe
+notation. For example, the built-in ``trim`` filter strips leading
+and trailing white space from a string:
+
+.. code-block:: cylc
+
+   {% set MyString = "   dog   " %}
+   {{ MyString | trim() }}  # "dog"
+
+Variable values can be tested using the ``is`` keyword followed by
+the name of the test, e.g. ``{% if VARIABLE is defined %}``. See Jinja2
+documentation for available built-in globals, filters and tests.
+
+Cylc also supports custom Jinja2 globals, filters and tests. A custom global,
+filter or test is a single Python function in a source file with the same name
+as the function (plus ``.py`` extension). These must be located in a
+subdirectory of the :term:`run directory` called
+``Jinja2Filters``, ``Jinja2Globals`` or ``Jinja2Tests`` respectively.
+
+In the argument list of a filter or test function, the first argument is
+the variable value to be filtered or tested, and subsequent arguments can be
+whatever is needed. Currently three custom filters are supplied:
+
+.. import the filters to allow their doctests to pass (make doctest)
+
+.. testsetup::
+
+   from cylc.flow.jinja.filters.pad import pad
+   from cylc.flow.jinja.filters.strftime import strftime
+   from cylc.flow.jinja.filters.duration_as import duration_as
+
+.. autosummary::
+   :nosignatures:
+
+   cylc.flow.jinja.filters.pad.pad
+   cylc.flow.jinja.filters.strftime.strftime
+   cylc.flow.jinja.filters.duration_as.duration_as
+
+.. autofunction:: cylc.flow.jinja.filters.pad.pad
+
+.. autofunction:: cylc.flow.jinja.filters.strftime.strftime
+
+.. autofunction:: cylc.flow.jinja.filters.duration_as.duration_as
+
+
+Associative Arrays In Jinja2
+----------------------------
+
+Associative arrays (or **dictionaries**) are very useful. For example:
+
+.. code-block:: cylc
+
+   #!Jinja2
+   {% set obs_types = ['airs', 'iasi'] %}
+   {% set resource = { 'airs':'ncpus=9', 'iasi':'ncpus=20' } %}
+
+   [scheduling]
+       [[graph]]
+           R1 = OBS
+   [runtime]
+       [[OBS]]
+           platform = platform_using_pbs
+       {% for i in obs_types %}
+       [[ {{i}} ]]
+           inherit = OBS
+           [[[directives]]]
+                -I = {{ resource[i] }}
+        {% endfor %}
+
+Here's the result:
+
+.. code-block:: console
+
+   $ cylc config -i [runtime][airs]directives <workflow-id>
+   -I = ncpus=9
+
+
+.. _jinja2-template-variables:
+
+Default Values and Template Variables
+-------------------------------------
+
+You can provide template variables to Cylc in 4 ways:
+
+- Using the ``--set-file`` (``-S``) option.
+- Using the ``--set`` (``-s``) option.
+- Using the ``--set-list`` (``-z``) option.
+- `Using a plugin`_, such as :ref:`Cylc Rose`.
+
+.. note::
+
+   If the same variable is set by more than one method, the last source in the
+   above list is used.
+
+
+The ``-s``, ``-z`` and ``--set-file`` Options
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+   $ # set the Jinja2 variable "answer" to 42
+   $ cylc play <workflow-id> -s answer=42
+
+A Python string-list is a valid value, but a lot to type, so ``--set-list``
+(``-z``) is provided as a convenience:
+
+.. code-block:: console
+
+   # The set syntax
+   $ cylc play <workflow-id> -s "answers=['mice', 'dolphins']"
+   # ... can  be shortened to:
+   $ cylc play <workflow-id> -z answers=mice,dolphins
+
+If you need to define a lot of variables, you can so in a file
+using the ``--set-file`` option:
+
+.. code-block:: console
+
+   $ # create a set file
+   $ cat > my-set-file <<__SET_FILE__
+   question='the meaning of life, the universe and everything'
+   answer=42
+   host='deep-thought'
+   __SET_FILE__
+
+   $ # run using the options in the set file
+   $ cylc play <workflow-id> --set-file my-set-file
+
+Values must be Python literals e.g:
+
+.. code-block:: python
+
+   "string"   # string
+   123        # integer
+   12.34      # float
+   True       # boolean
+   None       # None type
+   [1, 2, 3]  # list
+   (1, 2, 3)  # tuple
+   {1, 2, 3}  # set
+   {"a": 1, "b": 2, "c": 3}  # dictionary
+
+.. note::
+
+   On the command line you may need to wrap strings with an extra
+   pair of quotes as the shell you are using (e.g. Bash) will strip
+   the outer pair of quotes.
+
+   .. code-block:: console
+
+      $ # wrap the key=value pair in single quotes stop the shell from
+      $ # stripping the inner quotes around the string:
+      $ cylc play <workflow-id> -s 'my_string="a b c"'
+
+Here's an example:
+
+.. literalinclude:: ../../workflows/jinja2/defaults/flow.cylc
+   :language: cylc
+
+Here's the result:
+
+.. code-block:: console
+
+   $ cylc list <workflow-id>
+   Jinja2 Template Error
+   'FIRST_TASK' is undefined
+   cylc-list <workflow-id>  failed:  1
+
+   $ # Note: quoting "bob" so that it is evaluated as a string
+   $ cylc list --set 'FIRST_TASK="bob"' <workflow-id>
+   bob
+   baz
+   mem_2
+   mem_1
+   mem_0
+
+   $ cylc list --set 'FIRST_TASK="bob"' --set 'LAST_TASK="alice"' <workflow-id>
+   bob
+   alice
+   mem_2
+   mem_1
+   mem_0
+
+   $ # Note: no quotes required for N_MEMBERS since it is an integer
+   $ cylc list --set 'FIRST_TASK="bob"' --set N_MEMBERS=10 <workflow-id>
+   mem_9
+   mem_8
+   mem_7
+   mem_6
+   mem_5
+   mem_4
+   mem_3
+   mem_2
+   mem_1
+   mem_0
+   baz
+   bob
+
+Note also that ``cylc view --set FIRST_TASK=bob --jinja2 <workflow-id>``
+will show the workflow with the Jinja2 variables as set.
+
+.. note::
+
+   Workflows started with template variables set on the command
+   line will :term:`restart` with the same settings. You can set
+   them again on the ``cylc play`` command line if they need to
+   be overridden.
+
+
+Using a plugin
+^^^^^^^^^^^^^^
+
+Template plugins such as :ref:`Cylc Rose` should provide a set of template
+variables which can be provided to Cylc. For example, using Cylc Rose you
+add a ``rose-suite.conf`` file containing a ``[template variables]``
+section which the plugin makes available to Cylc:
+
+.. code-block:: ini
+   :caption: rose-suite.conf
+
+   [template variables]
+   ICP=1068
+
+.. code-block:: cylc
+   :caption: flow.cylc
+
+   #!jinja2
+   [scheduler]
+      allow implicit tasks = True
+   [scheduling]
+      initial cycle point = {{ICP}}
+      [[dependencies]]
+         P1Y = Task1
+
+
+.. code-block:: console
+
+   $ cylc config . -i "[scheduling]initial cycle point"
+   1068
+
+
+
+Jinja2 Variable Scope
+---------------------
+
+Jinja2 variable scoping rules may be surprising. For instance, variables set
+inside a ``for`` loop can't be accessed outside of the block,
+so the following will not print ``# FOO is True``:
+
+.. code-block:: cylc
+
+   {% set FOO = False %}
+   {% for item in items %}
+       {% if item.check_something() %}
+           {% set FOO = True %}
+       {% endif %}
+   {% endfor %}
+   # FOO is {{FOO}}
+
+Jinja2 documentation suggests using alternative constructs like the loop
+``else`` block or the special ``loop`` variable. More complex use cases can be
+handled using ``namespace`` objects that allow propagating of changes across scopes:
+
+.. code-block:: cylc
+
+   {% set ns = namespace(foo=false) %}
+   {% for item in items %}
+       {% if item.check_something() %}
+           {% set ns.foo = true %}
+       {% endif %}
+   {% endfor %}
+   # FOO is {{ns.foo}}
+
+For detail, see
+`Jinja2 Template Designer Documentation - Assignments
+<https://jinja.palletsprojects.com/en/3.0.x/templates/#assignments>`_
+
+
+.. _Jinja2RaisingExceptions:
+
+Raising Exceptions
+------------------
+
+Cylc provides two functions for raising exceptions in Jinja2 code. These
+exceptions are raised when the :cylc:conf:`flow.cylc` file is loaded and will
+prevent a workflow from running.
+
+.. note::
+
+   These functions must be contained within ``{{`` Jinja2 print statements, not
+   ``{%`` code blocks.
+
+.. _jinja2-raise:
+
+Raise
+^^^^^
+
+The ``raise`` function will result in an error containing the provided text.
+
+.. code-block:: cylc
+
+   {% if not VARIABLE is defined %}
+       {{ raise('VARIABLE must be defined for this workflow.') }}
+   {% endif %}
+
+.. _jinja2-assert:
+
+Assert
+^^^^^^
+
+The ``assert`` function will raise an exception containing the text provided in
+the second argument providing that the first argument evaluates as False. The
+following example is equivalent to the "raise" example above.
+
+.. code-block:: cylc
+
+   {{ assert(VARIABLE is defined, 'VARIABLE must be defined for this workflow.') }}
+
+
+.. _jinja2.importing_python_modules:
+
+Importing Python modules
+------------------------
+
+Jinja2 allows to gather variable and macro definitions in a separate template
+that can be imported into (and thus shared among) other templates.
+
+.. code-block:: cylc
+
+   {% import "flow-utils.cylc" as utils %}
+   {% from "flow-utils.cylc" import VARIABLE as ALIAS %}
+   {{ utils.VARIABLE is equalto(ALIAS)) }}
+
+Cylc extends this functionality to allow import of arbitrary Python modules.
+
+.. code-block:: cylc
+
+   {% from "itertools" import product %}
+   [runtime]
+   {% for group, member in product(['a', 'b'], [0, 1, 2]) %}
+       [[{{group}}_{{member}}]]
+   {% endfor %}
+
+For better clarity and disambiguation Python modules can be prefixed with
+``__python__``:
+
+.. code-block:: cylc
+
+   {% from "__python__.itertools" import product %}
+
+
+Logging
+-------
+
+It is possible to output messages to the Cylc log from within Jinja2, these
+messages will appear on the console when validating or starting a workflow.
+This can be useful for development or debugging.
+
+Example :cylc:conf:`flow.cylc`:
+
+.. code-block:: cylc
+
+   #!Jinja2
+   {% from "cylc.flow" import LOG %}
+   {% do LOG.debug("Hello World!") %}
+
+Example output:
+
+.. code-block:: console
+
+   $ cylc validate . --debug
+   DEBUG - Loading site/user config files
+   DEBUG - Reading file <file>
+   DEBUG - Processing with Jinja2
+   DEBUG - Hello World!
+   ...
+   Valid for cylc-<version>
+
+Log messages will appear whenever the workflow configuration is loaded so it is
+advisable to use the ``DEBUG`` logging level which is suppressed unless the
+``--debug`` option is provided.
+
+
+Debugging
+---------
+
+It is possible to run Python debuggers from within Jinja2 via the
+:ref:`import mechanism <jinja2.importing_python_modules>`.
+
+.. _PDB: https://docs.python.org/3/library/pdb.html
+
+For example to use a `PDB`_ breakpoint you could do the following:
+
+.. code-block:: cylc
+
+   #!Jinja2
+
+   {% set ANSWER = 42 %}
+
+   {% from "pdb" import set_trace %}
+   {% do set_trace() %}
+
+The debugger will open within the Jinja2 code, local variables can be accessed
+via the ``_Context__self`` variable e.g:
+
+.. code-block:: console
+
+   $ cylc validate <id>
+   (Pdb) _Context__self['ANSWER']
+   42
diff --git a/nightly_8.3/html/_sources/user-guide/writing-workflows/parameterized-tasks.rst.txt b/nightly_8.3/html/_sources/user-guide/writing-workflows/parameterized-tasks.rst.txt
new file mode 100644
index 00000000000..73633344e95
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/writing-workflows/parameterized-tasks.rst.txt
@@ -0,0 +1,653 @@
+.. _User Guide Param:
+
+Task Parameters
+===============
+
+Cylc can automatically generate related tasks and dependencies by expanding
+:term:`parameterized <parameterization>` names over lists or ranges of
+values. Uses for this include:
+
+- Generating an ensemble of similar model runs
+- Generating chains of tasks to process similar datasets
+- Replicating an entire workflow, or part thereof, over several runs
+- Splitting a long model run into smaller chunks
+- Parameterized cycling
+
+.. note::
+
+   Cylc supports use of :ref:`Jinja2 <User Guide Jinja2>` and :ref:`Empy
+   <User Guide Empy>` templating for programmatic generation of workflow
+   configurations. The built-in parameterization system described here
+   is a cleaner and easier alternative *for generating tasks and families
+   over a range of parameters*, but unlike general templating it can only be
+   used for that specific purpose.
+
+
+Parameter Expansion
+-------------------
+
+Parameter values can be lists of strings, or lists of integers and
+integer ranges (with inclusive bounds). Numeric values in a list of strings are
+considered strings. It is not possible to mix strings with integer ranges.
+
+For example:
+
+.. code-block:: cylc
+
+   [task parameters]
+       # parameters: "ship", "buoy", "plane"
+       # default task suffixes: _ship, _buoy, _plane
+       obs = ship, buoy, plane
+
+       # parameters: 1, 2, 3, 4, 5
+       # default task suffixes: _run1, _run2, _run3, _run4, _run5
+       run = 1..5
+
+       # parameters: 1, 3, 5, 7, 9
+       # default task suffixes: _idx1, _idx3, _idx5, _idx7, _idx9
+       idx = 1..9..2
+
+       # parameters: -11, -1, 9
+       # default task suffixes: _idx-11, _idx-01, _idx+09
+       idx = -11..9..10
+
+       # parameters: 1, 3, 5, 10, 11, 12, 13
+       # default task suffixes: _i01, _i03, _i05, _i10, _i11, _i12, _i13
+       i = 1..5..2, 10, 11..13
+
+       # parameters: "0", "1", "e", "pi", "i"
+       # default task suffixes: _0, _1, _e, _pi, _i
+       item = 0, 1, e, pi, i
+
+       # ERROR: mix strings with int range
+       p = one, two, 3..5
+
+Then angle brackets denote use of these parameters throughout the workflow
+configuration. For the values above, this parameterized name:
+
+.. code-block:: sub
+
+   model<run>  # for run = 1..5
+
+expands to these concrete task names:
+
+.. code-block:: none
+
+   model_run1, model_run2, model_run3, model_run4, model_run5
+
+and this parameterized name:
+
+.. code-block:: sub
+
+   proc<obs>  # for obs = ship, buoy, plane
+
+expands to these concrete task names:
+
+.. code-block:: none
+
+   proc_ship, proc_buoy, proc_plane
+
+By default, to avoid any ambiguity, the parameter name appears in the expanded
+task names for integer values, but not for string values. For example,
+``model_run1`` for ``run = 1``, but ``proc_ship`` for
+``obs = ship``. However, the default expansion templates can be
+overridden if need be:
+
+.. code-block:: cylc
+
+   [task parameters]
+       obs = ship, buoy, plane
+       run = 1..5
+       [[templates]]
+           run = -R%(run)s  # Make foo<run> expand to foo-R1 etc.
+
+See :cylc:conf:`[task parameters][templates]` for more on the string
+template syntax.
+
+Any number of parameters can be used at once. This parameterization:
+
+
+.. code-block:: sub
+
+   model<run,obs>  # for run = 1..2 and obs = ship, buoy, plane
+   model<run><obs> # Alternatively, from Cylc 8.2.0
+
+.. versionadded:: 8.2.0
+
+   From this version you can also use the equivalent ``model<run><obs>``
+   syntax. This allows more flexibility in templating: You can now construct
+   names like ``beginning<run>middle<obs>end``.
+
+.. note::
+
+    Before Cylc 8.2.0 this syntax worked in many cases, but was
+    not formally supported, and failed if used in the names of
+    :ref:`families<families_and_parameters>`.
+
+expands to these tasks names:
+
+.. code-block:: none
+
+   model_run1_ship, model_run1_buoy, model_run1_plane,
+   model_run2_ship, model_run2_buoy, model_run2_plane
+
+Here's a simple but complete example workflow:
+
+.. code-block:: cylc
+
+   [task parameters]
+           run = 1..2
+   [scheduling]
+       [[graph]]
+           R1 = "prep => model<run>"
+   [runtime]
+       [[model<run>]]
+           # ...
+
+The result, post parameter expansion, is this:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = "prep => model_run1 & model_run2"
+   [runtime]
+       [[model_run1]]
+           # ...
+       [[model_run2]]
+           # ...
+
+Here's a more complex graph using two parameters (:cylc:conf:`[runtime]`
+omitted):
+
+.. code-block:: cylc
+
+   [task parameters]
+           run = 1..2
+           mem = cat, dog
+   [scheduling]
+       [[graph]]
+           R1 = """
+               prep => init<run> => model<run,mem> =>
+               post<run,mem> => wrap<run> => done
+           """
+
+.. todo
+
+   \.\.\. which expands to:
+
+   [scheduling]
+       [[graph]]
+           R1 = """
+               prep => init_run1 => model_run1_cat => post_run1_cat => wrap_run1 => done
+                   init_run1 => model_run1_dog => post_run2_dog => wrap_run1
+               prep => init_run2 => model_run2_cat => post_run2_cat => wrap_run2 => done
+                   init_run2 => model_run2_dog => post_run2_dog => wrap_run2"""
+
+The result as visualized by ``cylc graph`` is:
+
+.. _fig-params-1:
+
+.. figure:: ../../img/params1.png
+   :align: center
+
+   Parameter expansion example.
+
+
+Zero-Padded Integer Values
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Integer parameter values are given a default template for generating task
+suffixes that are zero-padded according to the longest size of their values.
+For example, the default template for ``p = 9..10`` would be
+``_p%(p)02d``, so that ``foo<p>`` would become ``foo_p09, foo_p10``.
+If negative values are present in the parameter list, the
+default template will include the sign.
+For example, the default template for ``p = -1..1`` would be
+``_p%(p)+02d``, so that ``foo<p>`` would become
+``foo_p-1, foo_p+0, foo_p+1``.
+
+To get thicker padding and/or alternate suffixes, use a template. E.g.:
+
+.. code-block:: cylc
+
+   [task parameters]
+       i = 1..9
+       p = 3..14
+       [[templates]]
+           i = _i%(i)02d  # suffixes = _i01, _i02, ..., _i09
+           # A double-percent gives a literal percent character
+           p = %%p%(p)03d  # suffixes = %p003, %p004, ..., %p013, %p014
+
+
+Parameters as Full Task Names
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Parameter values can be used as full task names, but the default template
+should be overridden to remove the initial underscore. For example:
+
+.. code-block:: cylc
+
+   [task parameters]
+       i = 1..4
+       obs = ship, buoy, plane
+       [[templates]]
+           i = i%(i)d  # task name must begin with an alphabet
+           obs = %(obs)s
+   [scheduling]
+       [[graph]]
+           R1 = """
+               foo => <i>  # foo => i1 & i2 & i3 & i4
+               <obs> => bar  # ship & buoy & plane => bar
+           """
+
+
+Passing Values To Tasks
+-----------------------
+
+Parameter values are passed as environment variables to tasks generated by
+parameter expansion. For example, if we have:
+
+.. code-block:: cylc
+
+   [task parameters]
+           obs = ship, buoy, plane
+           run = 1..5
+   [scheduling]
+       [[graph]]
+           R1 = model<run,obs>
+
+Then task ``model_run2_ship`` would get the following standard
+environment variables:
+
+.. code-block:: bash
+
+   # In a job script of an instance of the "model_run2_ship" task:
+   export CYLC_TASK_PARAM_run="2"
+   export CYLC_TASK_PARAM_obs="ship"
+
+These variables allow tasks to determine which member of a parameterized
+group they are, and so to vary their behaviour accordingly.
+
+You can also define custom variables and string templates for parameter value
+substitution. For example, if we add this to the above configuration:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[model<run,obs>]]
+           [[[environment]]]
+               MYNAME = %(obs)sy-mc%(obs)sface
+               MYFILE = /path/to/run%(run)03d/%(obs)s
+
+Then task ``model_run2_ship`` would get the following custom
+environment variables:
+
+.. code-block:: bash
+
+   # In a job script of an instance of the "model_run2_ship" task:
+   export MYNAME=shipy-mcshipface
+   export MYFILE=/path/to/run002/ship
+
+
+Selecting Specific Values
+-------------------------
+
+Specific parameter values can be singled out in the graph and under
+:cylc:conf:`[runtime]` with the notation ``<p=5>`` (for example).
+Here's how to make a special task trigger off just the first of a
+set of model runs:
+
+.. code-block:: cylc
+
+   [task parameters]
+           run = 1..5
+   [scheduling]
+       [[graph]]
+           R1 = """
+               model<run> => post_proc<run>  # general case
+               model<run=1> => check_first_run  # special case
+            """
+   [runtime]
+       [[model<run>]]
+           # config for all "model" runs...
+       [[model<run=1>]]
+           # special config (if any) for the first model run...
+       #...
+
+
+Selecting Partial Ranges
+------------------------
+
+The parameter notation does not currently support partial range selection such
+as ``foo<p=5..10>``, but you can achieve the same result by defining a
+second parameter that covers the partial range and giving it the same expansion
+template as the full-range parameter. For example:
+
+.. code-block:: cylc
+
+   [task parameters]
+       run = 1..10  # 1, 2, ..., 10
+       runx = 1..3  # 1, 2, 3
+       [[parameter templates]]
+           run = _R%(run)02d   # _R01, _R02, ..., _R10
+           runx = _R%(runx)02d  # _R01, _R02, _R03
+   [scheduling]
+       [[graph]]
+           R1 = """model<run> => post<run>
+                   model<runx> => checkx<runx>"""
+   [runtime]
+       [[model<run>]]
+           # ...
+       #...
+
+
+Offsets in the Graph
+---------------------
+
+A negative offset notation ``<NAME-1>`` is interpreted as the previous
+value in the ordered list of parameter values, while a positive offset is
+interpreted as the next value. For example, to split a model run into multiple
+steps with each step depending on the previous one, either of these graph lines:
+
+.. code-block:: cylc-graph
+
+   model<run-1> => model<run>  # for run = 1, 2, 3
+   model<run> => model<run+1>  # for run = 1, 2, 3
+
+expands to:
+
+.. code-block:: cylc-graph
+
+   model_run1 => model_run2
+   model_run2 => model_run3
+
+   # or equivalently:
+
+   model_run1 => model_run2 => model_run3
+
+And this graph:
+
+.. code-block:: cylc-graph
+
+   proc<size-1> => proc<size>  # for size = small, big, huge
+
+expands to:
+
+.. code-block:: cylc-graph
+
+   proc_small => proc_big
+   proc_big => proc_huge
+
+   # or equivalently:
+
+   proc_small => proc_big => proc_huge
+
+.. _families_and_parameters:
+
+Task Families and Parameters
+----------------------------
+
+Task family members can be generated by parameter expansion:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[FAM]]
+       [[member<r>]]
+           inherit = FAM
+   # Result: family FAM contains member_r1, member_r2, etc.
+
+
+Family names can be parameterized too, just like task names:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[RUN<r>]]
+       [[model<r>]]
+           inherit = RUN<r>
+       [[post_proc<r>]]
+           inherit = RUN<r>
+   # Result: family RUN_r1 contains model_r1 and post_proc_r1,
+   #         family RUN_r2 contains model_r2 and post_proc_r1, etc.
+
+As described in :ref:`FamilyTriggers` family names can be used to
+trigger all members at once:
+
+.. code-block:: cylc-graph
+
+   foo => FAMILY
+
+or to trigger off all members:
+
+.. code-block:: cylc-graph
+
+   FAMILY:succeed-all => bar
+
+or to trigger off any members:
+
+.. code-block:: cylc-graph
+
+   FAMILY:succeed-any => bar
+
+If the members of ``FAMILY`` were generated with parameters, you can
+also trigger them all at once with parameter notation:
+
+.. code-block:: cylc-graph
+
+   foo => member<m>
+
+Similarly, to trigger off all members:
+
+.. code-block:: cylc-graph
+
+   member<m> => bar
+   # (member<m>:fail etc., for other trigger types)
+
+Family names are still needed in the graph, however, to succinctly express
+"succeed-any" triggering semantics, and all-to-all or any-to-all triggering:
+
+.. code-block:: cylc-graph
+
+   FAM1:succeed-any => FAM2
+
+(Direct all-to-all and any-to-all family triggering is not recommended for
+efficiency reasons though - see :ref:`EfficientInterFamilyTriggering`).
+
+For family *member-to-member* triggering use parameterized members.
+For example, if family ``OBS_GET`` has members ``get<obs>`` and
+family ``OBS_PROC`` has members ``proc<obs>`` then this graph:
+
+.. code-block:: cylc-graph
+
+   get<obs> => proc<obs>  # for obs = ship, buoy, plane
+
+expands to:
+
+.. code-block:: cylc-graph
+
+   get_ship => proc_ship
+   get_buoy => proc_buoy
+   get_plane => proc_plane
+
+
+.. _Parameterized Cycling:
+
+Parameterized Cycling
+---------------------
+
+For smaller workflows of finite duration, parameter expansion can be used to
+generate a sequence of pre-defined tasks as a proxy for cycling.
+
+Here's a cycling workflow of two-monthly model runs for one year, with
+previous-instance model dependence:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 2020-01
+       final cycle point = 2020-12
+       [[graph]]
+           # Run once, at the initial point.
+           R1 = "prep => model"
+           # Run at 2-month intervals between the initial and final points.
+           P2M = "model[-P2M] => model => post_proc & archive"
+   [runtime]
+       [[model]]
+           script = "run-model $CYLC_TASK_CYCLE_POINT"
+
+
+And here's how to do the same thing with parameterized tasks instead of cycling:
+
+.. code-block:: cylc
+
+   [task parameters]
+       chunk = 1..6
+   [scheduling]
+       [[graph]]
+           R1 = """
+               prep => model<chunk=1>
+               model<chunk-1> => model<chunk> =>
+               post_proc<chunk> & archive<chunk>
+            """
+   [runtime]
+       [[model<chunk>]]
+           script = """
+               # Compute start date from chunk index and interval.
+               INITIAL_POINT=2020-01
+               INTERVAL_MONTHS=2
+               OFFSET_MONTHS=(( (CYLC_TASK_PARAM_chunk - 1)*INTERVAL_MONTHS ))
+               OFFSET=P${OFFSET_MONTHS}M  # e.g. P4M for chunk=3
+               # Run the model.
+               run-model $(cylc cyclepoint --offset=$OFFSET $INITIAL_POINT)
+           """
+
+The two workflows achieve the same result, and both can include special
+behaviour at the start, end, or anywhere in between.
+
+.. todo
+   Create sub-figures if possible: for now hacked as separate figures with
+   link and caption on final displayed figure.
+
+.. figure:: ../../img/eg2-static.png
+   :align: center
+
+.. _fig-eg2:
+
+.. figure:: ../../img/eg2-dynamic.png
+   :align: center
+
+   Parameterized (top) and cycling (bottom) versions of the same
+   workflow. The first three cycle points are shown in the
+   cycling case. The parameterized case does not have cycle points (technically
+   all of its tasks have the cycle point 1).
+
+The parameterized version has several disadvantages, however:
+
+  - The workflow must be finite in extent and not too large because every
+    parameterized task generates a new task definition
+
+    - (In a cycling workflow a single task definition acts as a template for
+      all cycle point instances of a task)
+  - Datetime arithmetic has to be done manually
+
+    - (This doesn't apply if it's not a datetime sequence; parameterized
+      integer cycling is straightforward.)
+
+
+Parameterized Sub-Cycles
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+A workflow can have multiple main cycling sequences, but sub-cycles within each
+main cycle point have to be parameterized. A typical use case for this is
+incremental processing of files generated sequentially during a long model run.
+
+Here's a workflow that uses parameters to split a long model run in each
+datetime cycle point into four smaller runs:
+
+.. code-block:: cylc
+
+   [task parameters]
+       chunk = 1..4
+   [scheduling]
+       initial cycle point = 2020-01
+       [[graph]]
+           P1Y = """
+               model<chunk-1> => model<chunk>
+               model<chunk=4>[-P1Y] => model<chunk=1>
+           """
+
+The intercycle trigger connects the first chunk in each cycle point to the
+last chunk in the previous cycle point. However, in this particular case it
+might be simpler to use a 3-monthly datetime cycle instead:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 2020-01
+       [[graph]]
+           P3M = "model[-P3M] => model"
+
+
+For another example, here task ``model`` generates 10 files in sequence as it
+runs. Task ``proc_file0`` triggers when the model starts running, to wait for
+and process the first file; when that is done, ``proc_file1`` triggers to wait
+for the second file; and so on.
+
+.. code-block:: cylc
+
+   [task parameters]
+       file = 0..9
+   [scheduling]
+       initial cycle point = 2020-01
+       [[graph]]
+           P1Y = """
+               model:start => proc<file=0>
+               proc<file-1> => proc<file>
+               proc<file=9> => upload_products
+           """
+   [runtime]
+       [[proc<file>]]
+       # ...
+
+
+Offsets at Sequence Start
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In cycling workflows, dependence on tasks prior to the start cycle point is
+ignored [1]_. So this graph:
+
+.. code-block:: cylc
+
+   P1D = "model[-P1D] => model"
+
+simplifies at the initial cycle point to this:
+
+.. code-block:: cylc
+
+   P1D = "model"
+
+(Note this is a convenient way to bootstrap into an infinite cycle, but special
+behaviour at the start point can be configured explicitly if desired).
+
+Similarly, parameter offsets that go out of range are ignored. So this graph:
+
+.. code-block:: cylc
+
+   # for chunk = 1..4
+   R1 = "model<chunk-1> => model<chunk>"
+
+simplifies for ``chunk=1`` to this:
+
+.. code-block:: cylc
+
+   R1 = "model_chunk0"
+
+
+.. [1] Currently this only applies to the unique workflow start cycle point, so
+       it may be easier to use parameterized cycling if you have multiple
+       (finite) sequences starting at different points. We plan to extend this
+       convenience to all sequences regardless of start point, but use will be
+       optional because delayed-start cycling tasks may need to trigger off of
+       earlier cycles.
diff --git a/nightly_8.3/html/_sources/user-guide/writing-workflows/runtime.rst.txt b/nightly_8.3/html/_sources/user-guide/writing-workflows/runtime.rst.txt
new file mode 100644
index 00000000000..d7f4bbb79f1
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/writing-workflows/runtime.rst.txt
@@ -0,0 +1,791 @@
+.. _User Guide Runtime:
+
+Task Configuration
+==================
+
+.. tutorial:: Runtime Tutorial <tutorial-runtime>
+
+The :cylc:conf:`[runtime]` section of the :cylc:conf:`flow.cylc` file
+defines what job each :term:`task` should run, and where and how to
+submit each one to run.
+
+It is an inheritance hierarchy that allows common settings to be factored
+out and defined once in task :term:`families <family>` (duplication
+of configuration is a maintenance risk in a complex workflow).
+
+
+.. _namespace-names:
+
+Task and Family Names
+---------------------
+
+Task and family names must match in the graph and runtime sections of the
+workflow config file. They do not need to match the names of the external
+applications wrapped by the tasks.
+
+.. autoclass:: cylc.flow.unicode_rules.TaskNameValidator
+
+.. note::
+
+   At runtime, tasks can access their own workflow task name as
+   ``$CYLC_TASK_NAME`` in the job environment :ref:`job environment
+   <TaskExecutionEnvironment>` if needed.
+
+
+The following runtime configuration defines one family called ``FAM`` and two
+member tasks ``fm1`` and ``fm2`` that inherit settings from it. Members can
+also override inherited settings and define their own private settings.
+
+.. code-block:: cylc
+
+   [runtime]
+       [[FAM]]  # <-- a family
+           #...  settings for all FAM members
+
+       [[fm1]]  # <-- task
+           inherit = FAM
+           #...  fm1-specific settings
+
+       [[fm2]]  # <-- a task
+           inherit = FAM
+           #...  fm2-specific settings
+
+Note that families are not nested in terms of the file sub-heading structure. A
+runtime subsection defines a family if others inherit from it, otherwise
+it defines a task.
+
+
+The Root Family
+---------------
+
+All tasks inherit implicitly from a family called ``root`` that can provide
+default settings for all tasks in the workflow (non-root families require an
+explicit ``inherit`` statement).
+
+For example, if all tasks are to run on the same platform, that could
+can be specified once for all tasks under ``root``:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[root]]
+           # all tasks run on hpc1 (unless they override this setting)
+           platform = hpc1
+
+
+
+.. _MultiTaskDef:
+
+Defining Multiple Tasks or Families at Once
+-------------------------------------------
+
+Runtime sub-section headings can be a comma-separated list of task or family
+names, in which case the settings below it apply to each list member.
+
+Here a group of three related tasks all run the same script on the same
+:term:`platform`, but pass their own names to it on the command line:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[ENSEMBLE]]
+           platform = hpc1
+           script = "run-model.sh $CYLC_TASK_NAME"
+
+       [[m1, m2, m3]]
+           inherit = ENSEMBLE
+
+       [[m1]]
+           #...  m1-specific settings
+
+Particular tasks (such as ``m1`` above) can still be singled out to add
+task-specific settings.
+
+
+.. note::
+
+   :ref:`Task parameters <User Guide Param>` or template processing (see
+   :ref:`User Guide Jinja2` and :ref:`User Guide EmPy`) can be used to
+   programmatically generate family members and associated dependencies.
+
+
+Families of Families
+--------------------
+
+Families can inherit from other families, to any depth.
+
+.. code-block:: cylc
+
+   [runtime]
+       [[HPC1]]
+           platform = hpc1
+
+       [[BIG-HPC1]]
+           inherit = HPC1
+           #...  add in high memory batch system directives
+
+       [[model]]  # a big task that runs on hpc1
+           inherit = BIG-HPC1
+
+If the same item is defined (and redefined) at several levels in the family
+tree, the highest level (closest to the task) takes precedence.
+
+
+Inheriting from Multiple Parents
+--------------------------------
+
+Sometimes a multi-level single-parent tree is not sufficient to avoid all
+duplication of settings. Fortunately tasks can inherit from multiple parents at
+once [1]_:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[HPC1]]
+           platform = hpc1
+
+       [[BIG]]  # high memory batch system directives
+           #...
+
+       [[model]]  # a big task that runs on hpc1
+           inherit = BIG, HPC1
+
+
+
+.. tip::
+
+  Use ``cylc config`` to check exactly what settings a task or family ends up
+  with after inheritance processing:
+
+  .. code-block:: console
+
+     $ cylc config --item "[runtime][model]environment" <workflow-id>
+
+
+First-parent Family Hierarchy for Visualization
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Tasks can be collapsed into first-parent families in the Cylc GUI, so first
+parents should reflect the logical purpose of a task where possible, rather
+than (say) shared technical settings:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[HPC]]
+           # technical platform settings
+
+       [[MODEL]]
+           # atmospheric model tasks
+
+       [[atmos]]
+           inherit = MODEL, HPC  # (not HPC, MODEL)
+
+
+If this is not what you want, given that the primary purpose of the family
+hierarchy is inheritance of runtime settings, a dummy first parent ``None`` can
+be used to disable the visualization usage without affecting inheritance:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[BAR]]
+           #...
+       [[foo]]
+           # inherit from BAR but stay under root for visualization
+           inherit = None, BAR
+
+
+
+
+.. _TaskExecutionEnvironment:
+
+Job Environment
+---------------
+
+:term:`Job scripts <job script>` export various environment variables before
+running ``script`` blocks (see :ref:`TaskJobSubmission`).
+
+Scheduler-defined variables appear first to identify the workflow, the task,
+and log directory locations. These are followed by user-defined variables from
+:cylc:conf:`[runtime][<namespace>][environment]`. Order of variable definition
+is preserved so that new variable assignments can reference previous ones.
+
+.. note::
+
+   Task environment variables are evaluated at runtime, by jobs, on the
+   job platform. So ``$HOME`` in a task environment, for instance, evaluates at
+   runtime to the home directory on the job platform, not on the scheduler
+   platform.
+
+
+In this example the task ``foo`` ends up with ``SHAPE=circle``, ``COLOR=blue``,
+and ``TEXTURE=rough`` in its environment:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[root]]
+           [[[environment]]]
+               COLOR = red
+               SHAPE = circle
+       [[foo]]
+           [[[environment]]]
+               COLOR = blue  # root override
+               TEXTURE = rough # new variable
+
+Job access to Cylc itself is configured first so that variable
+assignment expressions (as well as scripting) can use Cylc commands:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[foo]]
+           [[[environment]]]
+               REFERENCE_TIME = $(cylc cyclepoint --offset-hours=6)
+
+
+Overriding Inherited Environment Variables
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. warning::
+
+   If you override an inherited task environment variable the parent config
+   item gets *replaced* before it is ever used to define the shell variable in
+   the :term:`job script`. Consequently the job cannot see the parent value as
+   well as the task value:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[FOO]]
+           [[[environment]]]
+               COLOR = red
+       [[bar]]
+           inherit = FOO
+           [[[environment]]]
+               tmp = $COLOR  # !! ERROR: $COLOR is undefined here
+               COLOR = dark-$tmp  # !! as this overrides COLOR in FOO.
+
+The compressed variant of this, ``COLOR = dark-$COLOR``, is also an error for
+the same reason. To achieve the desired result, use a different name for the
+parent variable:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[FOO]]
+           [[[environment]]]
+               FOO_COLOR = red
+       [[bar]]
+           inherit = FOO
+           [[[environment]]]
+               COLOR = dark-$FOO_COLOR  # OK
+
+
+.. _Task Job Script Variables:
+
+Job Script Variables
+^^^^^^^^^^^^^^^^^^^^
+
+These variables provided by the :term:`scheduler` are available to
+:term:`job scripts <job script>`:
+
+.. literalinclude:: ../../reference/job-script-vars/var-list.txt
+   :language: sub
+
+Some global shell variables are also defined in the job script, but not
+exported to subshells:
+
+.. code-block:: sub
+
+   CYLC_FAIL_SIGNALS               # List of signals trapped by the error trap
+   CYLC_VACATION_SIGNALS           # List of signals trapped by the vacation trap
+   CYLC_TASK_MESSAGE_STARTED_PID   # PID of "cylc message" job started" command
+   CYLC_TASK_WORK_DIR_BASE         # Alternate task work directory,
+                                   #   relative to the workflow work directory
+
+
+.. _workflow_share_directories:
+
+Workflow Share Directories
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The workflow :term:`share directory` is created automatically under the
+workflow run directory as a convenient shared space for tasks. The location is
+available to tasks as ``$CYLC_WORKFLOW_SHARE_DIR``. In a cycling workflow,
+output files are typically held in cycle point sub-directories of this.
+
+The top level share directory location can be changed, e.g. to a large data
+area, by global config settings under :cylc:conf:`global.cylc[install][symlink dirs]`.
+
+If your workflow creates or installs executables or Python libraries
+as it is running, these can be placed in:
+
+* ``share/bin/`` - for executables. This location is automatically added to ``PATH``
+  (before the top-level ``bin/`` in the run dir).
+* ``share/lib/python/`` - for Python modules. This location is automatically added
+  to ``PYTHONPATH`` (before the top-level ``lib/python/`` in the run dir).
+
+.. note::
+
+   Cylc will not create these folders.
+
+.. seealso::
+
+   :ref:`Top level "bin/" and "lib/python/" directories <WorkflowDefinitionDirectories>`.
+
+
+Task Work Directories
+^^^^^^^^^^^^^^^^^^^^^
+
+Job scripts are executed from within :term:`work directories <work
+directory>` created automatically under the workflow run directory. A task can
+access its own work directory via ``$CYLC_TASK_WORK_DIR`` (or simply ``$PWD``
+if it does not change to another location at runtime). By default the location
+contains task name and cycle point, to provide a unique workspace for every
+instance of every task.
+
+The top level work directory location can be changed, e.g. to a large data
+area, by global config settings under :cylc:conf:`global.cylc[install][symlink dirs]`.
+
+
+.. _RunningTasksOnARemoteHost:
+
+Remote Task Hosting
+-------------------
+
+Job :term:`platforms <platform>` are defined in ``global.cylc[platforms]``.
+
+If a task declares a different platform to that where the scheduler is running,
+Cylc uses non-interactive SSH to submit the job to the platform :term:`job
+runner` on one of the platform hosts. Workflow source files will be installed
+on the platform, via the associated ``global.cylc[install targets]``, just
+before the first job is submitted to run there.
+
+.. code-block:: cylc
+
+   [runtime]
+      [[foo]]
+          platform = orca
+
+For this to work:
+
+- Non-interactive SSH is required from the :term:`scheduler` host
+  to the platform hosts
+- Cylc must be installed on the hosts of the destination platform
+
+  - If polling task communication is used, there is no other requirement
+  - If SSH task communication is configured, non-interactive SSH is required
+    from the job platform to the scheduler platform
+  - If TCP (default) task communication is configured, the task platform
+    should have access to the Cylc ports on the scheduler host
+
+Platforms, like other runtime settings, can be declared globally in the root
+family, or in other families, or for individual tasks.
+
+.. note::
+
+   The platform known as ``localhost`` is the platform where the scheduler
+   is running, in many cases a dedicated server and *not* your desktop.
+
+Internal Platform and Host Selection
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The :cylc:conf:`[runtime][<namespace>]platform` item points to either a
+:cylc:conf:`platform <global.cylc[platforms][<platform name>]>` or a
+:cylc:conf:`platform group <global.cylc[platform groups][<group>]>`.
+
+:term:`Cylc platforms <platform>` allow you to configure compute platforms
+you wish Cylc to run jobs on.
+
+:term:`Platform groups <platform group>` allow you to group together platforms
+any of which would be suitable for a given job.
+Platform groups can improve robustness by allowing jobs to be submitted on
+any platform in the group, as well as providing an interface for
+:cylc:conf:`basic load balancing
+<global.cylc[platform groups][<group>][selection]method>`.
+
+:term:`Platforms <platform>` are selected from a :term:`platform group` once,
+when a job is submitted.
+
+Hosts within a :term:`platform` are re-selected each time the scheduler
+needs to communicate with a job.
+
+.. seealso::
+
+   :ref:`AdminGuide.PlatformConfigs`: For details of how Platforms and
+   Platform Groups are set up and in-depth examples.
+
+External Platform Selection Scripts
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. deprecated:: 8.0.0
+
+   Cylc 8 can select hosts from a group of suitable hosts listed in the
+   platform config, so in many cases this logic should no longer be necessary.
+
+Instead of hardwiring platform names into the workflow configuration you can
+give a command that prints a platform name, or an environment variable, as the
+value of :cylc:conf:`[runtime][<namespace>]platform`.
+
+For example:
+
+.. code-block:: cylc
+   :caption: flow.cylc
+
+   [runtime]
+       [[mytask]]
+           platform = $(script-which-returns-a-platform-name)
+
+Job hosts are always selected dynamically, for the chosen platform or
+platform group.
+
+.. caution::
+
+   If ``$(script-which-returns-a-platform-name)`` returns a non-zero exit
+   code then the scheduler will assign the
+   :ref:`submit-failed <task-job-states>` state to this :term:`job`.
+   If you have submit retries set up for the job, the scheduler will retry
+   running your platform selection script in the same was is it would for
+   any other submission failure.
+
+Remote Job Log Directories
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Job stdout and stderr streams are written to :term:`log files <job log>`
+under the workflow :term:`run directory` (see :ref:`WhitherStdoutAndStderr`).
+For remote tasks the same directory is used, on the job host.
+
+
+.. _ImplicitTasks:
+
+Implicit Tasks
+--------------
+
+An implicit task is one that appears in the graph but is not defined under
+:cylc:conf:`flow.cylc[runtime]`.
+
+Depending on the value of :cylc:conf:`flow.cylc[scheduler]allow implicit tasks`,
+Cylc can automatically create default task definitions for these, to submit
+local dummy jobs that just return the standard job status messages.
+
+Implicit tasks can be used to mock up functional workflows very quickly. A
+default ``script`` can be added to the root family, e.g. to slow job execution
+down a little. Here is a complete workflow definition using implicit tasks:
+
+.. code-block:: cylc
+
+   [scheduler]
+       allow implicit tasks = True
+   [scheduling]
+       [[graph]]
+           R1 = "prep => run-a & run-b => done"
+   [runtime]
+       [[root]]
+           script = "sleep 10"
+
+
+.. warning::
+   Implicit tasks are somewhat dangerous because they can easily be created by
+   mistake: misspelling a task's name divorces it from its ``runtime`` definition.
+
+For this reason implicit tasks are not allowed by default, and if used they
+should be turned off once the real task definitions are complete.
+
+You can get the convenience without the danger with a little more effort, by
+adding empty runtime placeholders instead of allowing implicit tasks:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = "prep => run-a & run-b => done"
+   [runtime]
+       [[root]]
+           script = "sleep 10"
+       [[prep]]
+       [[run-a, run-b]]
+       [[done]]
+
+
+.. _TaskRetries:
+
+Task Retry On Failure
+---------------------
+
+.. seealso::
+
+   :cylc:conf:`[runtime][<namespace>]execution retry delays`.
+
+Tasks can have a list of :term:`ISO8601 durations <ISO8601 duration>` as retry
+intervals. If the job fails the task will return to the ``waiting`` state
+with a clock-trigger configured with the next retry delay.
+
+
+.. note::
+
+   Tasks only enter the ``submit-failed`` state if job submission fails with no
+   retries left. Otherwise they return to the waiting state, to wait on the
+   next try.
+
+   Tasks only enter the ``failed`` state if job execution fails with no retries
+   left. Otherwise they return to the waiting state, to wait on the next try.
+
+
+
+In the following example, tasks ``bad`` and ``flaky`` each have 3 retries
+configured, with a 10 second delay between. On the final try, ``bad`` fails
+again and goes to the ``failed`` state, while ``flaky`` succeeds and triggers
+task ``whizz`` downstream. The scheduler will then stall with
+``bad`` retained as an incomplete task.
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = """
+               bad => cheese
+               flaky => whizz
+            """
+   [runtime]
+       [[bad]]
+           # retry 3 times then fail
+           script = """
+               sleep 10
+               false
+           """
+           execution retry delays = 3*PT10S
+       [[flaky]]
+           # retry 3 times then succeed
+           script = """
+               sleep 10
+               test $CYLC_TASK_TRY_NUMBER -gt 3
+           """
+           execution retry delays = 3*PT10S
+       [[cheese, whizz]]
+           script = "sleep 10"
+
+
+.. _user_guide.runtime.task_event_handling:
+
+Task Event Handling
+-------------------
+
+Task event handlers allow configured commands to run when task events occur.
+
+.. note::
+
+   Cylc supports workflow events e.g. ``startup`` and ``shutdown``
+   and task events e.g. ``submitted`` and ``failed``.
+
+   See also :ref:`user_guide.scheduler.workflow_event_handling`.
+
+Event handlers can be used to send a message, raise an alarm, or whatever you
+like. They can even call ``cylc`` commands to intervene in the workflow.
+
+Task event handlers are configured by
+:cylc:conf:`flow.cylc[runtime][<namespace>][events]`.
+
+.. note::
+
+   Task event handlers are called by the :term:`scheduler`, not by the task
+   jobs that generate the events - so they do not see the job environment.
+
+Event handlers can be stored in the workflow ``bin`` directory, or anywhere in
+``$PATH`` in the :term:`scheduler` environment.
+
+They should return quickly to avoid tying up the scheduler process pool -
+see :ref:`Managing External Command Execution`.
+
+
+.. _user_guide.runtime.task_event_handling.event_specific_handlers:
+
+Event-Specific Handlers
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Event-specific handlers are configured by ``<event> handlers``
+under :cylc:conf:`[runtime][<namespace>][events]`, where ``<event>``
+can be:
+
+.. |br| raw:: html
+
+     <br>
+
+
+.. table::
+
+   =========================================  ================================
+   Event                                      Description
+   =========================================  ================================
+   submitted                                  job submitted
+   submission retry                           job submission failed but will retry later
+   submission failed                          job submission failed
+   started                                    job started running
+   retry                                      job failed but will retry later
+   failed                                     job failed
+   succeeded                                  job succeeded
+   submission timeout                         job timed out in the ``submitted`` state
+   execution timeout                          job timed out in the ``running`` state
+   warning                                    scheduler received a message of severity WARNING from job
+   critical                                   scheduler received a message of severity CRITICAL from job
+   custom                                     scheduler received a message of severity CUSTOM from job |br| (note: literally, the word ``CUSTOM``)
+   expired                                    task expired and will not submit (too far behind)
+   late                                       task running later than expected
+   =========================================  ================================
+
+Values should be a list of commands, command lines, or command line templates
+(see below) to call if the specified event is triggered.
+
+
+.. _user_guide.runtime.task_event_handling.general_event_handlers:
+
+General Event Handlers
+^^^^^^^^^^^^^^^^^^^^^^
+
+.. cylc-scope:: flow.cylc[runtime][<namespace>][events]
+
+Alternatively you can configure a list of generic event :cylc:conf:`handlers` to be run
+for configured :cylc:conf:`handler events`.
+
+:cylc:conf:`handler events`
+   A list of events which may include any of the above
+   events (e.g. ``submission failed`` or ``warning``) or
+   any of a task's :term:`custom outputs <custom output>`.
+:cylc:conf:`handlers`
+   A list of commands to be run for these events.
+   Information about the event can be provided using
+   :ref:`user_guide.runtime.event_handlers.task_event_handling.template_variables`.
+
+Example:
+
+.. code-block:: cylc
+
+   handlers = """
+      my-handler %(event)s %(workflow)s,
+      echo %(workflow)s-%(event)s >> my-log-file
+   """
+   handler events = submission failed, failed, warning, my-custom-output
+
+.. cylc-scope::
+
+
+.. _user_guide.runtime.event_handlers.task_event_handling.template_variables:
+
+Task Event Template Variables
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. autoenumvalues:: cylc.flow.task_events_mgr.EventData
+
+Examples
+^^^^^^^^
+
+The following :cylc:conf:`flow.cylc` snippets illustrate the two (general and
+task-specific) ways to configure event handlers:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[foo]]
+           script = test ${CYLC_TASK_TRY_NUMBER} -eq 2
+           execution retry delays = PT0S, PT30S
+           [[[events]]]  # event-specific handlers:
+               retry handlers = notify-retry.py
+               failed handlers = notify-failed.py
+
+.. code-block:: cylc
+
+   [runtime]
+       [[foo]]
+           script = """
+               test ${CYLC_TASK_TRY_NUMBER} -eq 2
+               cylc message -- "${CYLC_WORKFLOW_ID}" "${CYLC_TASK_JOB}" 'oopsy daisy'
+           """
+           execution retry delays = PT0S, PT30S
+           [[[events]]]  # general handlers:
+               handlers = notify-events.py
+               # Note: task output name can be used as an event in this method
+               handler events = retry, failed, oops
+           [[[outputs]]]
+               oops = oopsy daisy
+
+Built-in Email Event Handler
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+To send an email on task events, configure relevant tasks with a list of events
+to handle by email. Custom task output names can also be used as event names,
+in which case the event triggers when the output message is received.
+
+E.g. to send an email on task failed, retry, and a custom message event:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[foo]]
+           script = """
+               test ${CYLC_TASK_TRY_NUMBER} -eq 3
+               cylc message -- "${CYLC_WORKFLOW_ID}" "${CYLC_TASK_JOB}" 'oopsy daisy'
+           """
+           execution retry delays = PT0S, PT30S
+           [[[events]]]
+               mail events = failed, retry, oops
+           [[[outputs]]]
+               oops = oopsy daisy
+
+By default, event emails will be sent to the current user with:
+
+- ``to:`` set as ``$USER``
+- ``from:`` set as ``notifications@$(hostname)``
+- SMTP server at ``localhost:25``
+
+These can be configured using the settings:
+
+.. cylc-scope:: flow.cylc[runtime][<namespace>]
+
+- :cylc:conf:`[mail]to` (list of email addresses)
+- :cylc:conf:`[mail]from`
+
+.. cylc-scope::
+
+The scheduler batches events over a 5 minute interval, by default, to avoid
+flooding your Inbox if many events occur in a short time. The batching interval
+can be configured with :cylc:conf:`[scheduler][mail]task event batch interval`.
+
+
+.. _Late Events:
+
+Late Events
+^^^^^^^^^^^
+
+.. warning::
+
+  The scheduler can only check for lateness once a task has appeared in its
+  active task window. In Cylc 8 this is usually when the task is actually
+  ready to run, which severely limits the usefulness of late events as
+  currently implemented.
+
+If a real time (clock-triggered) workflow performs fairly consistently from one
+cycle to the next, you may want to be notified when certain tasks are running
+late with respect the time they normally trigger in each cycle.
+
+Cylc can generate a *late* event if a task has not triggered by a given offset
+from its cycle point in real time. For example, if a task ``forecast`` normally
+triggers at 30 minutes after cycle point, a late event could be configured like this:
+
+.. code-block:: cylc
+
+   [runtime]
+      [[forecast]]
+           script = run-model.sh
+           [[[events]]]
+               late offset = PT40M  # allow a 10 minute delay
+               late handlers = my-handler %(message)s
+
+.. warning::
+   Late offset intervals are not computed automatically so be careful to update
+   them after any workflow change that affects triggering times.
+
+.. [1] The order of precedence for inheritance from multiple parents is
+  determined by the `C3 algorithm
+  <https://en.wikipedia.org/wiki/C3_linearization>`_ used to find
+  the linear method resolution order for multiple inheritance in Python.
diff --git a/nightly_8.3/html/_sources/user-guide/writing-workflows/scheduler.rst.txt b/nightly_8.3/html/_sources/user-guide/writing-workflows/scheduler.rst.txt
new file mode 100644
index 00000000000..bf6e2f31c2c
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/writing-workflows/scheduler.rst.txt
@@ -0,0 +1,259 @@
+Scheduler Configuration
+=======================
+
+The :cylc:conf:`flow.cylc[scheduler]` section configures certain aspects of
+:term:`scheduler` behaviour at the workflow level.
+
+Many of these configurations can also be defined at the site or user level in
+the :cylc:conf:`global.cylc[scheduler]` section where it applies to all
+workflows.
+
+
+.. _user_guide.scheduler.workflow_event_handling:
+
+Workflow Event Handling
+-----------------------
+
+Workflow event handlers allow configured commands to run when workflow events
+occur.
+
+.. note::
+
+   Cylc supports workflow events e.g. ``startup`` and ``shutdown``
+   and task events e.g. ``submitted`` and ``failed``.
+
+   See also :ref:`user_guide.runtime.task_event_handling`.
+
+Workflow event handlers are configured by:
+
+* :cylc:conf:`flow.cylc[scheduler][events]` (per workflow)
+* :cylc:conf:`global.cylc[scheduler][events]` (user/site defaults)
+
+
+Workflow Events
+^^^^^^^^^^^^^^^
+
+The list of events is:
+
+startup
+   The scheduler started running the workflow.
+shutdown
+   The workflow finished and the scheduler will shut down.
+abort
+   The scheduler shut down early with error status, due to a fatal error
+   condition or a configured timeout.
+workflow timeout
+   The workflow run timed out.
+stall
+   The workflow stalled.
+stall timeout
+   The workflow timed out after stalling.
+inactivity timeout
+   The workflow timed out with no activity.
+
+You can tell the scheduler to abort (i.e., shut down immediately with error
+status) on certain workflow events, with the following settings:
+
+- abort on stall timeout
+- abort on inactivity timeout
+- abort on workflow timeout
+
+Mail Events
+^^^^^^^^^^^
+
+Cylc can send emails for workflow events, these are configured by
+:cylc:conf:`flow.cylc[scheduler][events]mail events`.
+
+For example with the following configuration, emails will be sent if a
+scheduler stalls or shuts down for an unexpected reason.
+
+.. code-block:: cylc
+
+   [scheduler]
+       [[events]]
+           mail events = stall, abort
+
+Email addresses and servers are configured by
+:cylc:conf:`global.cylc[scheduler][mail]`.
+
+Workflow event emails can be customised using
+:cylc:conf:`flow.cylc[scheduler][mail]footer`,
+:ref:`workflow_event_template_variables` can be used.
+
+For example to integrate with the Cylc 7 web interface (Cylc Review) the mail
+footer could be configured with a URL:
+
+.. code-block:: cylc
+
+   [scheduler]
+       [[events]]
+           mail footer = http://cylc-review/taskjobs/%(owner)s/?suite=%(workflow)s
+
+Custom Event Handlers
+^^^^^^^^^^^^^^^^^^^^^
+
+Cylc can also be configured to invoke scripts on workflow events.
+
+Event handler scripts can be stored in the workflow ``bin`` directory, or
+anywhere in ``$PATH`` in the :term:`scheduler` environment.
+
+They should return quickly to avoid tying up the scheduler process pool -
+see :ref:`Managing External Command Execution`.
+
+Contextual information can be passed to the event handler via
+:ref:`workflow_event_template_variables`.
+
+For example the following configuration will write some information to a file
+when a workflow is started:
+
+.. code-block:: bash
+   :caption: ~/cylc-run/<workflow-id>/bin/my-handler
+
+   #!/bin/bash
+
+   echo "Workflow $1 is running on $2:$3" > info
+
+.. code-block:: cylc
+   :caption: flow.cylc or global.cylc
+
+   [scheduler]
+       [[events]]
+           startup handlers = my-handler %(workflow)s %(host) %(port)
+
+.. _workflow_event_template_variables:
+
+Workflow Event Template Variables
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. autoenumvalues:: cylc.flow.workflow_events.EventData
+
+
+.. _Managing External Command Execution:
+
+External Command Execution
+--------------------------
+
+Job submission commands, event handlers, and job poll and kill commands, are
+executed by the :term:`scheduler` in a subprocess pool. The pool is size can
+be configured with :cylc:conf:`global.cylc[scheduler]process pool size`.
+
+Event handlers should be lightweight and quick-running because they tie up
+a process pool member until complete, and the workflow will appear to stall if
+the pool is saturated with long-running processes.
+
+To protect the scheduler, processes are killed on a timeout
+(:cylc:conf:`global.cylc[scheduler]process pool timeout`). This will be
+logged by the :term:`scheduler`. If a job submission gets killed, the
+associated task goes to the ``submit-failed`` state.
+
+
+.. _Submitting Workflows To a Pool Of Hosts:
+
+Submitting Workflows To a Pool Of Hosts
+---------------------------------------
+
+:Configured by: :cylc:conf:`global.cylc[scheduler][run hosts]`.
+
+By default ``cylc play`` will run workflows on the machine where the command
+was invoked.
+
+Cylc supports configuring a pool of hosts for workflows to run on,
+``cylc play`` will automatically pick a host and submit the workflow to it.
+
+Host Pool
+^^^^^^^^^
+
+:Configured by: :cylc:conf:`global.cylc[scheduler][run hosts]available`.
+
+The hosts must:
+
+1. Share a common ``$HOME`` directory and therefore a common file system
+   (with each other and anywhere the ``cylc play`` command is run).
+2. Share a common Cylc global config (:cylc:conf:`global.cylc`).
+3. Be set up to allow passwordless SSH between them.
+
+Example:
+
+.. code-block:: cylc
+
+   [scheduler]
+       [[run hosts]]
+           available = host_1, host_2, host_3
+
+Load Balancing
+^^^^^^^^^^^^^^
+
+:Configured by: :cylc:conf:`global.cylc[scheduler][run hosts]ranking`.
+
+Cylc can balance the load on the configured "run hosts" by ranking them in
+order of available resource or by excluding hosts which fail to meet certain
+criterion.
+
+Example:
+
+.. code-block:: cylc
+
+   [scheduler]
+       [[run hosts]]
+           available = host_1, host_2, host_3
+           ranking = """
+               # filter out hosts with high server load
+               getloadavg()[2] < 5
+
+               # pick the host with the most available memory
+               virtual_memory().available
+           """
+
+For more information see :cylc:conf:`global.cylc[scheduler][run hosts]ranking`.
+
+.. _auto-stop-restart:
+
+Workflow Migration
+^^^^^^^^^^^^^^^^^^
+
+:Configured by: :cylc:conf:`global.cylc[scheduler][run hosts]condemned`.
+
+Cylc has the ability to automatically stop workflows running on a particular
+host and optionally, restart them on a different host. This can be useful if a
+host needs to be taken off-line, e.g. for scheduled maintenance.
+
+Example:
+
+.. code-block:: cylc
+
+   [scheduler]
+       [[run hosts]]
+           available = host_1, host_2, host_3
+           # tell workflows on host_1 to move to another available host
+           condemned = host_1
+
+.. note::
+
+   .. cylc-scope:: global.cylc[scheduler][main loop]
+
+   This feature requires the :cylc:conf:`[auto restart]`
+   plugin to be enabled, e.g. in the configured list of
+   :cylc:conf:`plugins`.
+
+   .. cylc-scope::
+
+For more information see: :cylc:conf:`global.cylc[scheduler][run hosts]ranking`.
+
+.. _PlatformConfig:
+
+Platform Configuration
+^^^^^^^^^^^^^^^^^^^^^^
+
+From the perspective of a running :term:`scheduler` ``localhost`` is the
+scheduler host.
+
+The ``localhost`` platform is configured by
+:cylc:conf:`global.cylc[platforms][localhost]`.
+
+It configures:
+
+* Jobs that run on the ``localhost`` platform, i.e. any jobs which have
+  :cylc:conf:`[runtime][<namespace>]platform=localhost` or which don't have a
+  platform configured.
+* Connections to the scheduler hosts (e.g. the
+  :cylc:conf:`ssh command <global.cylc[platforms][<platform name>]ssh command>`).
diff --git a/nightly_8.3/html/_sources/user-guide/writing-workflows/scheduling.rst.txt b/nightly_8.3/html/_sources/user-guide/writing-workflows/scheduling.rst.txt
new file mode 100644
index 00000000000..8fb0c87f6a6
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/writing-workflows/scheduling.rst.txt
@@ -0,0 +1,2247 @@
+.. _User Guide Scheduling:
+
+Scheduling Configuration
+========================
+
+.. tutorial:: Scheduling Tutorial <tutorial-scheduling>
+
+The :cylc:conf:`[scheduling]` section of the :cylc:conf:`flow.cylc` file
+defines what tasks exist in the workflow, in a :term:`dependency graph <graph>`,
+and when they should run, relative to each other and to constraints such as
+:term:`clock triggers <clock trigger>`, :term:`external triggers <external
+trigger>`, and :term:`internal queues <internal queue>`
+
+
+The Graph
+---------
+
+.. tutorial:: Graph Tutorial <tutorial-cylc-graphing>
+
+The :term:`graph` defines a workflow in terms of its :term:`tasks <task>` and
+the :term:`dependencies <dependency>` between them.
+
+A Cylc :term:`graph` is composed of one or more :term:`graph strings <graph
+string>` which use a special syntax to define the dependencies between tasks:
+
+* arrow symbols ``=>`` declare dependencies
+* logical operators ``&`` (AND) and ``|`` (OR) can be used to write
+  :term:`conditional dependencies <conditional dependency>`.
+
+For example:
+
+.. code-block:: cylc-graph
+
+   # baz will not be run until both foo and bar have succeeded
+   foo & bar => baz
+
+Graph strings are configured under the :cylc:conf:`[scheduling][graph]` section
+of the :cylc:conf:`flow.cylc` file:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = """
+               foo & bar => baz
+           """
+
+In this example ``R1`` is a :term:`recurrence expression <recurrence>` that
+defines how often, and on what cycle interval, to run this part of the graph.
+For example, ``R1`` means run once, and ``P1D`` means run repeatedly on a 1-day
+cycle.
+
+Graph strings may contain blank lines, arbitrary white space and comments e.g:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = """
+               foo & bar => baz  # baz depends on foo and bar
+
+           """
+
+Graphs can be broken down into pairs of :term:`triggers <trigger>`, where the
+left side is a single task output, or a logical expression involving several of
+them, and the right side is the task or family that triggers when the output
+(or expression) is completed.
+
+In the case of cycling tasks, triggers are valid for cycle points matching the
+recurrence expression for the graph string. For example this graph:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           T00,T12 = "A => B"
+
+implies that ``B`` triggers off of ``A`` (i.e. off of the ``A:succeeded`` output)
+for cycle points where the hour matches ``00`` or ``12``. To define intercycle
+dependencies, attach an offset indicator to the left side of a pair:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           T00,T12 = "A[-PT12H] => B"
+
+This means task ``B`` triggers off of task ``A[-PT12H]`` (12 hours before, with
+respect to cycle point) at every point with hours matching ``00`` and ``12`` in
+a sequence starting at the initial cycle point.
+Note: current cycle point is implicit - only offsets need to be specified -
+because most tasks depend only on others with the same cycle point.
+
+Cycle point offsets can only appear on the left side of an arrow. However,
+``A => B[-PT6H]``, which is illegal, can be reformulated as a :term:`future
+trigger` ``A[+PT6H] => B`` (see :ref:`InterCyclePointTriggers`). It is also
+possible to combine multiple offsets within a cycle point offset e.g.
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           T00,T12 = "A[-P1D-PT12H] => B"
+
+This means that ``B`` triggers off ``A[-P1D-PT12H]`` (1 day and 12 hours before)
+at each cycle point.
+
+Triggers can be chained together. This graph:
+
+.. code-block:: cylc
+
+   T00, T12 = """
+       A => B  # B triggers off A
+       B => C  # C triggers off B
+   """
+
+is equivalent to this:
+
+.. code-block:: cylc
+
+   T00, T12 = "A => B => C"
+
+All triggers defined for the same task combine, so this:
+
+.. code-block:: cylc
+
+   T00, T12 = """
+       A => X  # X triggers off A
+       B => X  # X also triggers off B
+   """
+
+is equivalent to this:
+
+.. code-block:: cylc
+
+   T00, T12 = "A & B => X"  # X triggers off A AND B
+
+In summary, the branching tree structure of a dependency graph can
+be partitioned into lines (in the :cylc:conf:`flow.cylc` graph string) of
+dependency pairs or chains, in any way you like. Use white space and comments
+to make the graph as clear as possible.
+
+.. code-block:: cylc
+
+   # B triggers if A succeeds, then C and D trigger if B succeeds:
+   R1 = "A => B => C & D"
+
+   # which is equivalent to this:
+   R1 = """
+       A => B => C
+       B => D
+   """
+
+   # and to this:
+   R1 = """
+       A => B => D
+       B => C
+   """
+
+   # and to this:
+   R1 = """
+       A => B
+       B => C
+       B => D
+   """
+
+   # and it can even be written like this:
+   R1 = """
+       A => B # blank line follows:
+
+       B => C # comment ...
+       B => D
+   """
+
+Splitting Up Long Graph Lines
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+It is not necessary to use the fragile line continuation marker ``\`` to split
+long graph lines. You can break at dependency arrows (``=>``) and operators
+(``&``, ``|``), or split long chains into smaller ones. This graph:
+
+.. code-block:: cylc
+
+   R1 = "A & B => C"
+
+is equivalent to this:
+
+.. code-block:: cylc
+
+   R1 = """
+       A & B =>
+       C
+   """
+
+and also to this:
+
+.. code-block:: cylc
+
+   R1 = """
+       A &
+       B => C
+   """
+
+.. note::
+
+   Multiple graph strings add together to make the complete workflow graph.
+
+
+.. versionchanged:: 8.0.0
+
+   Graph strings can be broken on ``&`` and ``|`` as well as ``=>``.
+
+
+.. _GraphTypes:
+
+Graph Types
+-----------
+
+Non-Cycling
+^^^^^^^^^^^
+
+The following is a small workflow of non-cycling tasks; these all have a
+single cycle point (``1``), and once they're all finished the scheduler
+shuts down.
+
+.. Need to use a 'container' directive to get centered image with
+   left-aligned caption (as required for code block text).
+
+.. container:: twocol
+
+   .. container:: caption
+
+      .. code-block:: cylc
+
+         [scheduling]
+             [[graph]]
+                 R1 = "foo => bar & baz => qux"
+
+   .. container:: image
+
+      .. _fig-test1:
+
+      .. figure:: ../../img/test1.png
+         :align: center
+
+Cycling Graphs
+^^^^^^^^^^^^^^
+
+For cycling tasks we give a *recurrence expression* that defines a sequence of
+cycle points for which the graph string is valid, as demonstrated here for a
+small workflow of cycling tasks:
+
+.. Need to use a 'container' directive to get centered image with
+   left-aligned caption (as required for code block text).
+
+.. container:: twocol
+
+   .. container:: caption
+
+      .. code-block:: cylc
+
+         [scheduling]
+             [[graph]]
+                # (note no dependence between cycle points)
+                 T00,T12 = "foo => bar & baz => qux"
+
+   .. container:: image
+
+      .. _fig-test2:
+
+      .. figure:: ../../img/test2.png
+         :align: center
+
+
+.. tutorial:: Datetime Tutorial <tutorial-datetime-cycling>
+
+For example in the following scenario:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           T06 = foo => bar
+
+``T06`` means "Run every day starting at 06:00 after the
+initial cycle point". Cylc allows you to start (or end) at any particular
+time, repeat at whatever frequency you like, and even optionally limit the
+number of repetitions.
+
+.. _writing_flows.scheduling.syntax_rules:
+
+Cycling Syntax Rules
+--------------------
+
+:term:`Datetime cycling <datetime cycling>` information is made up of:
+
+* a :term:`datetime <ISO 8601 datetime>` that typically specifies the start
+  point of the sequence
+* an interval between points in the sequence
+* and an optional limit on the number of points in the sequence
+
+The time is assumed to be in UTC unless you set
+:cylc:conf:`[scheduler]cycle point time zone`.
+
+.. attention::
+
+   .. versionchanged:: 8.0.0
+
+   At Cylc 7 the time zone was assumed to be local time unless
+   :cylc:conf:`[scheduler]cycle point time zone` or :cylc:conf:`[scheduler]UTC mode`
+   was set. If your workflow is running in
+   :ref:`Cylc 7 compatibility mode <cylc_7_compat_mode>`
+   this remains the case.
+
+The calendar is assumed to be the proleptic Gregorian calendar unless
+you set :cylc:conf:`[scheduling]cycling mode`.
+
+The syntax is based on the :term:`ISO 8601` datetime standard, which includes
+the representation of datetimes and intervals. Cylc (optionally) allows these
+representations to be heavily condensed by omitting information that can be
+inferred from context (rules below).
+
+.. important::
+
+   Cycle points in Cylc are just task labels that anchor dependence on
+   other tasks, and which tasks can use to determine their current cycle
+   point. **Datetime cycle points have no relation to wallclock (real) time**
+   except where specific tasks, if any, depend on :term:`clock triggers <clock
+   trigger>`.
+
+There are three ISO 8601 recurrence formats supported by Cylc, detailed below
+in order from most commonly used to least commonly used.
+
+
+Format 3: ``R[limit?]/[datetime]/[interval]``
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The most common full form for recurrences is
+``R[limit?]/[datetime]/[interval]``. This is format number 3 in the ISO 8601
+standard. The datetime specifies the start of the cycling sequence.
+For example, ``R3/2000-01-01T00Z/P2D`` means "run 3 times, every 2 days,
+starting at 2000-01-01T00Z (midnight, Jan 1st 2000)"; the list of points
+on this sequence is:
+
+.. code-block:: none
+
+   2000-01-01T00Z
+   2000-01-03T00Z
+   2000-01-05T00Z
+
+In Cylc, this form can be condensed to:
+
+.. code-block:: sub
+
+   R[limit?]/[datetime]
+   R[limit?]//[interval]
+   [datetime]/[interval]
+   R[limit?] # Special limit of 1 case
+   [datetime]
+   [interval]
+
+Here are some examples for each form:
+
+.. code-block:: sub
+
+   R5/T00            # Run 5 times at 00:00 every day
+   R//PT1H           # Run every hour (Note the R// is optional)
+   20000101T06Z/P1D  # Run every day starting at 06:00 1st Jan 2000
+   R1                # Run once at the initial cycle point
+   R1/20000101T00Z   # Run once at 00:00 1st Jan 2000
+   P1Y               # Run every year
+
+.. note::
+
+   ``T00`` is an example of ``[datetime]``, with an
+   inferred 1 day period and no limit (it is short for ``R/T00``).
+
+Where some or all datetime information is omitted, it is inferred to
+be relative to the :term:`initial cycle point`. For example, ``T00``
+by itself would mean the next occurrence of midnight that follows, or is, the
+initial cycle point. ``+PT6H`` means 6 hours after the initial cycle point.
+``-P1D`` means 1 day before the initial cycle point. The default is the initial
+cycle point itself.
+
+If the interval is omitted and some (but not all) datetime information is
+omitted, it is inferred to be a single unit above the largest given specific
+datetime unit. For example, the largest given specific unit in ``T00`` is
+hours, so the inferred interval is 1 day (daily), ``P1D``.
+
+If the limit is omitted, unlimited cycling is assumed. This will be
+bounded by the workflow's final cycle point if given.
+
+
+Format 4: ``R[limit?]/[interval]/[datetime]``
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Another supported recurrence form is:
+``R[limit?]/[interval]/[datetime]`` (format number 4 in the ISO 8601 standard).
+This uses the datetime as the end of the cycling sequence rather than the start.
+For example, ``R3/P5D/2014-04-30T06`` means "run 3 times, every 5 days, ending
+at 2014-04-30T06 (06:00, April 30th 2014)"; the list of points on this
+sequence is:
+
+.. code-block:: none
+
+   2014-04-20T06
+   2014-04-25T06
+   2014-04-30T06
+
+This form can be used to get special behaviour relative to
+the final cycle point.
+
+We can also represent this in Cylc with a collapsed form:
+
+.. code-block:: none
+
+   R[limit?]/[interval]
+   R[limit?]//[datetime]
+   [interval]/[datetime]
+
+So, for example, you can write:
+
+.. code-block:: sub
+
+   R1//+P0D  # Run once at the final cycle point
+   R5/P2D    # Run 5 times, every 2 days, ending at the final cycle point
+   P2W/T00   # Run every 2 weeks ending at 00:00 before/at the final cycle point
+   R//T00    # Run every day ending at 00:00 before/at the final cycle point
+
+
+Format 1: ``R[limit?]/[datetime]/[datetime]``
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+A less common recurrence form is ``R[limit?]/[datetime]/[datetime]``
+(format number 1 in the ISO 8601 standard). This uses the difference between
+the first datetime and the second datetime to set the recurrence interval.
+The first datetime is the start point. For example,
+``R3/2020-07-10/2020-07-15`` means "run 3 times, every 5 days, starting at
+2020-07-10 (midnight, July 10th 2020)"; the list of points on this sequence is:
+
+.. code-block:: none
+
+   2020-07-10
+   2020-07-15
+   2020-07-20
+
+.. caution::
+
+   Cylc will always calculate the interval in
+   :term:`exact datetime units <exact datetime unit>`. So for the example
+   of ``R/2004/2005``, the interval will be ``P366D`` (2004 is a leap year)
+   rather then ``P1Y``, because year is an
+   :term:`inexact unit <inexact datetime unit>`.
+
+.. note::
+
+   In versions of Cylc prior to 8.0.0, this syntax was undocumented and
+   behaved differently, in a way which was not in accordance with the
+   :term:`ISO 8601` standard.
+
+
+.. _referencing-the-initial-and-final-cycle-points:
+
+Referencing The Initial And Final Cycle Points
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The caret and dollar symbols are shorthand for the initial and final cycle
+points:
+
+.. code-block:: sub
+
+   R1/^+PT12H  # Repeat once 12 hours after the initial cycle point
+               # R[limit]/[datetime]
+               # Equivalent to R1/+PT12H
+   R1/$        # Repeat once at the final cycle point
+               # R[limit]/[datetime]
+               # Equivalent to R1//+P0D
+   $-P2D/PT3H  # Repeat 3 hourly starting two days before the
+               # [datetime]/[interval]
+               # final cycle point
+
+.. note::
+
+   There are multiple ways to write the same recurrences, for instance
+   the following all run once at the final cycle point:
+
+   .. code-block:: sub
+
+      R1/P0Y       # R[limit]/[interval]
+      R1/P0Y/$     # R[limit]/[interval]/[datetime]
+      R1/$         # R[limit]/[datetime]
+
+.. _excluding-dates:
+
+
+The Initial Cycle Point
+^^^^^^^^^^^^^^^^^^^^^^^
+
+A workflow normally begins running at the :term:`initial cycle point`, which defines
+the start of the workflow graph:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 20100808T06Z
+
+This can be overridden on the command line:
+
+.. code-block:: console
+
+   $ cylc play foo --initial-cycle-point=20120808T06Z
+
+
+.. _setting-the-icp-relative-to-now:
+
+Setting The Initial Cycle Point Relative To The Current Time
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+.. warning::
+
+   Setting the initial cycle point relative to the current time only works
+   for :term:`datetime cycling` workflows using the Gregorian calendar.
+   It does not work for alternative calendars like the 360, 365 or 366 day
+   calendars, or integer cycling.
+
+The ``next`` and ``previous`` syntax can be used with truncated ISO 8601
+representations, to set the initial cycle point:
+``next(Thh:mmZ)``, ``previous(T-mm)``; e.g.
+
+* ``initial cycle point = next(T15:00Z)``
+* ``initial cycle point = previous(T09:00)``
+* ``initial cycle point = next(T12)``
+* ``initial cycle point = previous(T-20)``
+
+A list of times, separated by semicolons, can be provided, e.g.
+``next(T-00;T-15;T-30;T-45)``. At least one time is required within the
+brackets, and if more than one is given, the major time unit in each (hours
+or minutes) should be of the same type.
+
+.. note::
+
+   ``T-00`` means every hour, on the hour. The ``-`` is a placeholder for the hours column.
+
+If an offset from the specified datetime is required, this should be
+of the form ``previous(Thh:mm) +/- PxTy`` as is used
+for determining cycle periods, e.g.
+
+* ``initial cycle point = previous(T06) +P1D``
+* ``initial cycle point = next(T-30) -PT1H``
+
+The next/previous syntax is interpreted first, then the offset is applied.
+
+Offsets used without ``next`` or ``previous`` are interpreted as offsets from "now".
+
+.. table:: Relative initial cycle point examples for ``now = 2018-03-14T15:12Z``
+
+   ====================================  ==================
+   Syntax                                Interpretation
+   ====================================  ==================
+   ``next(T-00)``                        2018-03-14T16:00Z
+   ``previous(T-00)``                    2018-03-14T15:00Z
+   ``next(T-00; T-15; T-30; T-45)``      2018-03-14T15:15Z
+   ``previous(T-00; T-15; T-30; T-45)``  2018-03-14T15:00Z
+   ``next(T00)``                         2018-03-15T00:00Z
+   ``previous(T00)``                     2018-03-14T00:00Z
+   ``next(T06:30Z)``                     2018-03-15T06:30Z
+   ``previous(T06:30) -P1D``             2018-03-13T06:30Z
+   ``next(T00; T06; T12; T18)``          2018-03-14T18:00Z
+   ``previous(T00; T06; T12; T18)``      2018-03-14T12:00Z
+   ``next(T00; T06; T12; T18) +P1W``     2018-03-21T18:00Z
+   ``PT1H``                              2018-03-14T16:12Z
+   ``-P1M``                              2018-02-14T15:12Z
+   ====================================  ==================
+
+Relative initial cycle points also work with truncated dates, including
+weeks and ordinal date, using ISO 8601 truncated date representations.
+Note that day-of-week should always be specified when using weeks. If a time
+is not included, the calculation of the next or previous corresponding
+point will be done from midnight of the current day.
+
+.. csv-table:: Relative initial cycle point examples for ``now = 2018-03-14T15:12Z``
+      using ISO8601 truncated dates.
+   :widths: auto
+
+   Syntax, Description, Interpretation
+   ``next(-00)``,                     Any century; next year 00,                  2100-01-01
+   ``previous(--01)``,                Any year; next month 01,                    2018-01-01
+   ``next(---01)``,                   Any year; any month; next 1st of month,     2018-04-01
+   ``previous(--1225)``,              Any year; previous Dec 25,                  2017-12-25
+   ``next(-2006)``,                   Any century; next June in a year ending 20, 2020-06-01
+   ``previous(-W101)``,               Any century; previous week 10 day 1,        2018-03-05
+   ``next(-W-1; -W-3; -W-5)``,        "Any year; any week; next day 1, 3 or 5",   2018-03-14
+   ``next(-001; -091; -181; -271)``,  "Any year; day 1, 91, 181 or 271",          2018-04-01
+   ``previous(-365T12Z)``,            Any year; previous day 356 at 12Z,          2017-12-31T12:00Z
+
+
+The Environment Variable CYLC\_WORKFLOW\_INITIAL\_CYCLE\_POINT
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+At start up the initial cycle point is passed to job environments
+as ``$CYLC_WORKFLOW_INITIAL_CYCLE_POINT`` and stored in the workflow
+database to persist across restarts. However it gets wiped out (set to
+``None``) by a :term:`warm start` (``cylc play --start-cycle-point`` or ``cylc
+play --start-task``) - which is essentially a restart that ignores prior state
+information.
+
+The ``$CYLC_WORKFLOW_INITIAL_CYCLE_POINT`` variable allows tasks to
+check if they are running in the initial cycle point, when different behaviour
+may be required. Note however that an initial ``R1`` graph section is the
+preferred way to get different behaviour at workflow start-up.
+
+
+.. _HowMultipleGraphStringsCombine:
+
+
+How Multiple Graph Strings Combine
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Multiple graph strings add together to make the complete workflow graph.
+Recurrences can overlap, and tasks can appear in multiple graph strings. It is
+OK (but unnecessary) to define duplicate dependencies.
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           T00,T06,T12,T18 = "A => B => C"
+           T06,T18 = "B => C => X"
+           # duplicate prerequisite: B => C already defined at T06, T18
+
+This graph can be written more concisely, with the same result, like this:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           T00,T06,T12,T18 = "A => B => C"
+           # X triggers off C only at 6 and 18 hours
+           T06,T18 = "C => X"
+
+
+Excluding Dates
+^^^^^^^^^^^^^^^
+
+:term:`datetimes <ISO 8601 datetime>` can be excluded from a :term:`recurrence`
+by an exclamation mark for example ``PT1D!20000101`` means run daily except on
+the first of January 2000.
+
+This syntax can be used to exclude multiple datetimes from a recurrence, using
+the syntax ``PT1D!(20000101,20000102,...)``. All datetimes listed within
+the parentheses will be excluded.
+
+.. note::
+
+   The ``^`` and ``$`` symbols (shorthand for the initial
+   and final cycle points) are both datetimes so ``T12!$-PT1D``
+   is valid.
+
+If using a run limit in combination with an exclusion, the recurrence might not
+run the expected number of times. For example, in the following
+workflow ``foo`` will only run once as its second run is excluded.
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 20000101T00Z
+       final cycle point = 20000105T00Z
+       [[graph]]
+           R2/P1D!20000102 = foo
+
+Excluding Recurrences
+^^^^^^^^^^^^^^^^^^^^^
+
+Exclusions may themselves be datetime recurrence sequences. Any partial
+datetime or sequence after the exclamation mark will be excluded from the main
+sequence.
+
+For example, partial datetimes can be excluded like this:
+
+.. code-block:: sub
+
+   PT1H ! T12                   # Run hourly but not at 12:00 from the initial
+                                # cycle point.
+   T-00 ! (T00, T06, T12, T18)  # Run hourly but not at 00:00, 06:00,
+                                # 12:00, 18:00.
+   PT5M ! T-15                  # Run 5-minutely but not at 15 minutes past the
+                                # hour from the initial cycle point.
+   T00 ! W-1T00                 # Run daily at 00:00 except on Mondays.
+
+And sequences can be excluded like this:
+
+.. code-block:: sub
+
+   PT1H ! PT6H         # Run hourly from the initial cycle point but
+                       # not 6-hourly from the initial cycle point.
+   T-00 ! PT6H         # Run hourly on the hour but not 6-hourly on the hour.
+   # Same as T-00 ! T-00/PT6H (T-00 context is implied)
+   # Same as T-00 ! (T00, T06, T12, T18)
+   # Same as PT1H ! (T00, T06, T12, T18) Initial cycle point dependent
+
+   T12 ! T12/P15D      # Run daily at 12:00 except every 15th day.
+
+   R/^/P1H ! R5/20000101T00/P1D    # Any valid recurrence may be used to
+                                   # determine exclusions. This example
+                                   # means: Repeat every hour from
+                                   # the initial cycle point, but exclude
+                                   # 00:00 for 5 days from 1 January 2000.
+
+You can combine exclusion sequences and single point exclusions like this:
+
+.. code-block:: sub
+
+   T-00 ! (20000101T07, PT2H)  # Run hourly on the hour but not at 07:00
+                               # on the 1st Jan, 2000 and not 2-hourly
+                               # on the hour.
+
+
+.. _AdvancedCycling:
+
+Advanced Examples
+^^^^^^^^^^^^^^^^^
+
+Here are several examples of Cylc graph recurrence expressions:
+
+.. code-block:: sub
+
+   R1         # Run once at the initial cycle point
+   P1D        # Run every day starting at the initial cycle point
+   PT5M       # Run every 5 minutes starting at the initial cycle point
+   T00/P2W    # Run every 2 weeks starting at 00:00 after the
+              # initial cycle point
+   +P5D/P1M   # Run every month, starting 5 days after the initial cycle point
+   R1/T06     # Run once at 06:00 after the initial cycle point
+   R1/P0Y     # Run once at the final cycle point
+   R1/$       # Run once at the final cycle point (alternative form)
+   R1/$-P3D   # Run once three days before the final cycle point
+   R3/T0830   # Run 3 times, every day at 08:30 after the initial cycle point
+   R3/01T00   # Run 3 times, every month at 00:00 on the first
+              # of the month after the initial cycle point
+   R5/W-1/P1M # Run 5 times, every month starting on Monday
+              # following the initial cycle point
+   T00!^      # Run at the first occurrence of T00 that isn't the
+              # initial cycle point
+   PT1D!20000101  # Run every day days excluding 1st Jan 2000
+   20140201T06/P1D    # Run every day starting at 20140201T06
+   R1/min(T00,T06,T12,T18)  # Run once at the first instance
+                            # of either T00, T06, T12 or T18
+                            # starting at the initial cycle point
+
+.. _AdvancedStartingUp:
+
+Advanced Starting Up
+^^^^^^^^^^^^^^^^^^^^
+
+Dependencies that are only valid at the :term:`initial cycle point` can be
+written using an ``R1`` recurrence. For example:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 20130808T00
+       final cycle point = 20130812T00
+       [[graph]]
+           R1 = "prep => foo"
+           T00 = "foo[-P1D] => foo => bar"
+
+In the example above, ``R1`` implies ``R1/20130808T00``, so
+``prep`` only runs once at that cycle point (the initial cycle point).
+``foo`` will depend on ``prep`` there, but not at subsequent cycle points.
+
+However, it is possible to have a workflow that has multiple effective initial
+cycles - for example, one starting at ``T00`` and another starting
+at ``T12``. What if they need to share an initial task?
+
+Let's suppose that we add the following section to the workflow example above:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 20130808T00
+       final cycle point = 20130812T00
+       [[graph]]
+           R1 = "prep => foo"
+           T00 = "foo[-P1D] => foo => bar"
+           T12 = "baz[-P1D] => baz => qux"
+
+We'll also say that there should be a starting dependence between
+``prep`` and our new task ``baz`` - but we still want to have
+a single ``prep`` task, at a single cycle.
+
+We can write this using a special case of the ``task[-interval]`` syntax -
+if the interval is null, this implies the task at the initial cycle point.
+
+For example, we can write our workflow like so, to produce the graph as shown:
+
+.. Need to use a 'container' directive to get centered image with
+   left-aligned caption (as required for code block text).
+
+.. container:: twocol
+
+   .. container:: caption
+
+      *Staggered Start Workflow*
+
+      .. code-block:: cylc
+
+         [scheduling]
+             initial cycle point = 20130808T00
+             final cycle point = 20130812T00
+             [[graph]]
+                 R1 = "prep"
+                 # ^ implies the initial cycle point:
+                 R1/T00 = "prep[^] => foo"
+                 # ^ is initial cycle point, as above:
+                 R1/T12 = "prep[^] => baz"
+                 T00 = "foo[-P1D] => foo => bar"
+                 T12 = "baz[-P1D] => baz => qux"
+
+   .. container:: image
+
+      .. _fig-test4:
+
+      .. figure:: ../../img/test4.png
+         :align: center
+
+
+Usually, we want to specify additional tasks and dependencies at the initial
+cycle point. But what if we want our first cycle point to be entirely special,
+with some tasks missing compared to subsequent cycle points?
+
+In the workflow below, ``bar`` will not run at the initial cycle point, but
+will still run at subsequent cycle points. ``+PT6H/PT6H`` means start at
+``+PT6H`` (6 hours after the initial cycle point) and then repeat every
+``PT6H`` (6 hours):
+
+.. Need to use a 'container' directive to get centered image with
+   left-aligned caption (as required for code block text).
+
+.. container:: twocol
+
+   .. container:: caption
+
+      *Restricted First Cycle Point Workflow*
+
+      .. code-block:: cylc
+
+          [scheduling]
+              initial cycle point = 20130808T00
+              final cycle point = 20130808T18
+              [[graph]]
+                  R1 = "setup_foo => foo"
+                  +PT6H/PT6H = """
+                      foo[-PT6H] => foo
+                      foo => bar
+                  """
+
+   .. container:: image
+
+      .. _fig-test5:
+
+      .. figure:: ../../img/test5.png
+         :align: center
+
+
+Some workflows may have staggered start-up sequences where different tasks need
+to run once but only at specific cycle points, e.g. because of differing
+data sources at different cycle points, with different possible initial cycle
+points. To allow this Cylc provides a ``min( )`` function that can be
+used as follows:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 20100101T03
+       [[graph]]
+           R1/min(T00,T12) = "prep1 => foo"
+           R1/min(T06,T18) = "prep2 => foo"
+           T00,T06,T12,T18 = "foo => bar"
+
+
+In this example the initial cycle point is ``20100101T03``, so the
+``prep1`` task will run once at ``20100101T12`` and the
+``prep2`` task will run once at ``20100101T06`` as these are
+the first cycle points after the initial cycle point in the respective
+``min( )`` entries.
+
+.. _IntegerCycling:
+
+Integer Cycling
+^^^^^^^^^^^^^^^
+
+.. tutorial:: Integer Cycling Tutorial <tutorial-integer-cycling>
+
+In addition to non-cycling and :term:`datetime cycling` workflows, Cylc can do
+:term:`integer cycling` for cycling workflows that are not datetime based.
+
+To construct an integer cycling workflow, set
+:cylc:conf:`[scheduling]cycling mode = integer`, and specify integer values
+for the :term:`initial cycle point` and optionally the
+:term:`final cycle point`. The syntax for intervals,
+offsets, and :term:`recurrences <recurrence>` (sequences) is similar to the
+datetime cycling syntax, except for the simple integer values.
+
+The full integer recurrence expressions supported are:
+
+- ``Rn/start-point/interval # e.g. R3/1/P2``
+- ``Rn/interval/end-point # e.g. R3/P2/9``
+
+But, as for datetime cycling, sequence start and end points can be omitted
+where workflow initial and final cycle points can be assumed. Some examples:
+
+.. code-block:: sub
+
+   R1        # Run once at the initial cycle point
+             # (short for R1/initial-point/?)
+   P1        # Repeat with step 1 from the initial cycle point
+             # (short for R/initial-point/P1)
+   P5        # Repeat with step 5 from the initial cycle point
+             # (short for R/initial-point/P5)
+   R2//P2    # Run twice with step 3 from the initial cycle point
+             # (short for R2/initial-point/P2)
+   R/+P1/P2  # Repeat with step 2, from 1 after the initial cycle point
+   R2/P2     # Run twice with step 2, to the final cycle point
+             # (short for R2/P2/final-point)
+   R1/P0     # Run once at the final cycle point
+             # (short for R1/P0/final-point)
+
+Advanced Integer Cycling Syntax
+"""""""""""""""""""""""""""""""
+
+The same syntax used to reference the initial and final cycle points
+(introduced in :ref:`referencing-the-initial-and-final-cycle-points`) for
+use with datetime cycling can also be used for integer cycling. For
+example you can write:
+
+.. code-block:: sub
+
+   R1/^     # Run once at the initial cycle point
+   R1/$     # Run once at the final cycle point
+   R3/^/P2  # Run three times with step two starting at the
+                    # initial cycle point
+
+Likewise the syntax introduced in :ref:`excluding-dates` for excluding
+a particular point from a recurrence also works for integer cycling. For
+example:
+
+.. code-block:: sub
+
+   R/P4!8       # Run with step 4, to the final cycle point but not at point 8
+   R3/3/P2!5    # Run with step 2 from point 3 but not at point 5
+   R/+P1/P6!14  # Run with step 6 from 1 step after the
+                # initial cycle point but not at point 14
+
+Multiple integer exclusions are also valid in the same way as the syntax
+in :ref:`excluding-dates`. Integer exclusions may be a list of single
+integer points, an integer sequence, or a combination of both:
+
+.. code-block:: sub
+
+   R/P1!(2,3,7)  # Run with step 1 to the final cycle point,
+                 # but not at points 2, 3, or 7.
+   P1 ! P2       # Run with step 1 from the initial to final
+                 # cycle point, skipping every other step from
+                 # the initial cycle point.
+   P1 ! +P1/P2   # Run with step 1 from the initial cycle point,
+                 # excluding every other step beginning one step
+                 # after the initial cycle point.
+   P1 !(P2,6,8)  # Run with step 1 from the initial cycle point,
+                 # excluding every other step, and also excluding
+                 # steps 6 and 8.
+
+An Integer Cycling Example
+""""""""""""""""""""""""""
+
+.. _fig-integer-pipeline:
+
+.. figure::/img/pipe-pub.png
+   :align: center
+
+The following workflow definition, as :ref:`graphed above <fig-integer-pipeline>`,
+implements a classical linear pipeline using integer cycling. The workflow
+ensures that one instance each of A, B, and C runs concurrently and the
+pipeline is kept full: when 1/A has finished processing the first dataset, 2/A
+can start on the second one at the same time as 1/B begins processing the
+output of 1/A, and so on. The artificial cross-cycle dependence ensures that
+only one instance of A can run at a time; and similarly B and C. If available
+compute resource supports more than three concurrent jobs, remove the
+cross-cycle dependence and Cylc will run many cycles at once. Task runtime
+configuration is omitted, but it would likely involve retrieving datasets by
+cycle point and processing them in cycle point-specific shared workspaces under
+the self-contained run directory.
+
+.. literalinclude:: ../../workflows/integer-pipeline/flow.cylc
+   :language: cylc
+
+
+.. _TriggerTypes:
+
+Task Triggering
+---------------
+
+A task is said to :term:`trigger` when it submits its job to run, as soon as all of
+its dependencies (also known as its separate "triggers") are met. Tasks can
+be made to trigger off of the state of other tasks (indicated by a
+``:state`` :term:`qualifier` on the upstream task (or family)
+name in the graph) and, and off the clock, and arbitrary external events.
+
+External triggering is relatively more complicated, and is documented
+separately in :ref:`Section External Triggers`.
+
+Success Triggers
+^^^^^^^^^^^^^^^^
+
+The default, with no trigger type specified, is to trigger off of the
+upstream task succeeding:
+
+.. code-block:: cylc
+
+   # B triggers if A SUCCEEDS:
+   R1 = "A => B"
+
+For consistency and completeness, however, the success trigger can be
+explicit:
+
+.. code-block:: cylc
+
+   # B triggers if A SUCCEEDS:
+   R1 = "A => B"
+
+   # or:
+   R1 = "A:succeed => B"
+
+
+Failure Triggers
+^^^^^^^^^^^^^^^^
+
+To trigger off of the upstream task failing:
+
+.. code-block:: cylc
+
+   # B triggers if A FAILS:
+   R1 = "A:fail => B"
+
+
+Start Triggers
+^^^^^^^^^^^^^^
+
+To trigger off of the upstream task starting:
+
+.. code-block:: cylc
+
+   # B triggers if A STARTS EXECUTING:
+   R1 = "A:start => B"
+
+This can be used to trigger tasks that monitor the execution of other tasks,
+e.g. to process their output files on the fly as they are generated.
+:ref:`MessageTriggers` can also be useful for this use case.
+
+
+Finish Triggers
+^^^^^^^^^^^^^^^
+
+To trigger off of the upstream task either succeeding **or** failing:
+
+.. code-block:: cylc
+
+   # B triggers if A either SUCCEEDS or FAILS:
+   R1 = "A | A:fail => B"
+
+   # or
+   R1 = "A:finish => B"
+
+
+.. _MessageTriggers:
+
+Message Triggers
+^^^^^^^^^^^^^^^^
+
+.. tutorial:: Message Trigger Tutorial <tutorial-cylc-message-triggers>
+
+We can also trigger off of custom task output messages. These must be
+registered in the :cylc:conf:`[runtime][<namespace>][outputs]` section
+of the emitting task, and sent with ``cylc message`` command.
+The graph trigger syntax refers to the item name of the registered
+output message. Here's an example workflow that uses message triggers:
+
+.. literalinclude:: ../../workflows/message-triggers/flow.cylc
+   :language: cylc
+
+
+Job Submission Triggers
+^^^^^^^^^^^^^^^^^^^^^^^
+
+To trigger off of a task submitting, or failing to submit:
+
+.. code-block:: cylc
+
+   # B triggers if A submits successfully:
+   R1 = "A:submit => B"
+
+   # D triggers if C fails to submit successfully:
+   R1 = "C:submit-fail => D"
+
+A possible use case for submit-fail triggering: if a task fails to submit,
+possibly after multiple retries, another task that inherits (mostly) the same
+runtime could be triggered to submit the same job to an alternative platform.
+
+
+Conditional Triggers
+^^^^^^^^^^^^^^^^^^^^
+
+:term:`Conditional triggers <conditional trigger>` allow the configuration of
+more advanced task dependencies.
+
+AND operators (``&``) can appear on both sides of an arrow. They
+provide a concise alternative to defining multiple triggers separately:
+
+.. code-block:: cylc
+
+   # 1/ this:
+   R1 = "A & B => C"
+
+   # is equivalent to:
+   R1 = """
+       A => C
+       B => C
+   """
+
+   # 2/ this:
+   R1 = "A => B & C"
+
+   # is equivalent to:
+   R1 = """
+       A => B
+       A => C
+   """
+
+   # 3/ and this:
+   R1 = "A & B => C & D"
+
+   # is equivalent to this:
+   R1 = """
+       A => C
+       B => C
+       A => D
+       B => D
+   """
+
+OR operators (``|``), for conditional triggers, can only appear on the left:
+
+.. code-block:: cylc
+
+   # C triggers when either A or B finishes:
+       R1 = "A | B => C"
+
+Any valid conditional expression can be used.
+
+.. Need to use a 'container' directive to get centered image with
+   left-aligned caption (as required for code block text).
+
+.. container:: twocol
+
+   .. container:: caption
+
+      *Conditional trigger example*
+
+      .. code-block:: cylc-graph
+
+         # D triggers if A or (B and C) succeed
+         A | B & C => D
+         # just to align the two graph sections
+         D => W
+         # Z triggers if (W or X) and Y succeed
+         (W|X) & Y => Z
+
+   .. container:: image
+
+      .. _fig-conditional:
+
+      .. figure:: ../../img/conditional-triggers.png
+         :align: center
+
+
+.. _FamilyTriggers:
+
+Family Triggers
+^^^^^^^^^^^^^^^
+
+:term:`Families <family>` defined by the runtime inheritance hierarchy
+(:ref:`User Guide Runtime`) can be used in the graph to :term:`trigger` whole
+groups of tasks at the same time (e.g. forecast model ensembles and groups of
+tasks for processing different observation types at the same time) and for
+triggering downstream tasks off families as a whole. Higher level families,
+i.e. families of families, can also be used, and are reduced to the lowest
+level member tasks.
+
+.. note::
+
+   Tasks can also trigger off individual family members if necessary.
+
+To trigger an entire task family at once:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = "foo => FAM"
+   [runtime]
+       [[FAM]]    # a family (because others inherit from it)
+       [[m1,m2]]  # family members (inherit from FAM)
+           inherit = FAM
+
+This is equivalent to:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = "foo => m1 & m2"
+   [runtime]
+       [[FAM]]
+       [[m1,m2]]
+           inherit = FAM
+
+To trigger off of a task family you must specify whether the trigger condition
+applies to **all** or **any** of the member tasks:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = """
+               # all-member triggers:
+               FAM:start-all => one
+               FAM:succeed-all => one
+               FAM:fail-all => one
+               FAM:finish-all => one
+               # any-member triggers:
+               FAM:start-any => one
+               FAM:succeed-any => one
+               FAM:fail-any => one
+               FAM:finish-any => one
+           """
+
+Here's how to trigger downstream processing after if one or more family
+members succeed, but only after all members have finished (succeeded or
+failed):
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = """
+              FAM:finish-all & FAM:succeed-any => foo
+           """
+
+
+.. _EfficientInterFamilyTriggering:
+
+Efficient Inter-Family Triggering
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+While Cylc allows writing :term:`dependencies <dependency>` between two
+:term:`families <family>` it is important to consider the number of
+dependencies this will generate. In the following example, each member of
+``FAM2`` has dependencies pointing at all the members of ``FAM1``.
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = """
+               FAM1:succeed-any => FAM2
+           """
+
+Expanding this out, you generate ``N * M`` dependencies, where ``N`` is the
+number of members of ``FAM1`` and ``M`` is the number of members of ``FAM2``.
+This can result in high memory use as the number of family members grows.
+
+You can greatly reduce the number of dependencies generated here by putting
+dummy tasks in the graph to represent the state of the upstream family. For
+example, if ``FAM2`` should trigger off any member of ``FAM1`` succeeding you
+can use a dummy task ``FAM1_done`` like this:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = """
+               FAM1:succeed-any => FAM1_done => FAM2
+           """
+   [runtime]
+   # ...
+       [[FAM1_done]]
+           script = true
+   # ...
+
+This :term:`graph` generates only ``N + M`` dependencies, which takes
+significantly less memory and CPU to store and evaluate.
+
+
+.. _InterCyclePointTriggers:
+
+Intercycle Triggers
+^^^^^^^^^^^^^^^^^^^
+
+Most tasks in a workflow typically depend on others with the same
+cycle point, but some may depend on other cycle points [1]_.
+
+:term:`Intercycle dependence <intercycle dependency>` is expressed using
+``[offset]`` syntax such as ``foo[-PT12H] => foo``, which means ``foo`` at the
+current cycle point depends on a previous instance of ``foo`` at 12 hours
+before the current cycle point. Unlike for recurrences (e.g. ``T00,T12``),
+dependency these offsets are relative to the current cycle point, not the
+initial cycle point.
+
+.. code-block:: cylc
+
+   [[graph]]
+       # B triggers off A in the previous cycle point
+       PT6H = "A[-PT6H] => B"
+
+intercycle and trigger type (or message trigger) syntax can be
+combined:
+
+.. code-block:: cylc
+
+   # B triggers if A in the previous cycle point fails:
+   PT6H = "A[-PT6H]:fail => B"
+
+For convenience, Cylc automatically ignores intercycle triggers that reach back
+beyond the initial cycle point. If something special has to happen at start-up,
+``R1`` tasks are the recommended way to make it happen:
+
+  .. code-block:: cylc
+
+     [scheduling]
+         [[graph]]
+             R1 = "prep1 => prep2"
+             R1/T00,R1/T12 = "prep2[^] => foo"
+             T00,T12 = "foo[-PT12H] => foo => bar"
+
+Here there is a dependence on the initial ``R1`` task ``prep`` for ``foo`` at
+the first ``T00`` cycle point, and at the first ``T12`` cycle point.
+Thereafter, ``foo`` just depends on its previous (12 hours ago) instance.
+
+It can also be useful to have specific dependencies on tasks at or near
+the initial cycle point. You can switch the context of the offset to be
+the initial cycle point by using the caret symbol: ``^``.
+
+For example, ``foo[^]`` means ``foo`` at the initial cycle point, and
+``foo[^+PT6H]`` means ``foo`` 6 hours after the initial cycle point. Usually,
+this kind of dependency will only apply in a limited number of cycle points
+near the start of the workflow, so you may want to write it in an ``R1`` graph.
+
+Finally, dependence on a task at a specific cycle point is also possible:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1/20200202 = "baz[20200101] => qux"
+
+
+.. TODO is this still the case:
+
+.. warning::
+
+   However, in a long running workflow it is best to avoid a repeating cycle
+   that depends forever on a specific cycle point (such as the initial point)
+   as this can adversely affect the scheduler's performance.
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 2010
+       [[graph]]
+           # Can cause performance issue!
+           P1D = "baz[20200101] => qux"
+
+
+.. _SequentialTasks:
+
+Special Sequential Tasks
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Tasks that depend on their own previous-cycle instance can be declared as
+*sequential*:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[special tasks]]
+           # foo depends on its previous instance:
+           sequential = foo  # deprecated - see below!
+       [[graph]]
+           T00,T12 = "foo => bar"
+
+However, explicit intercycle triggers are generally preferred:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           # foo depends on its previous instance:
+           T00,T12 = "foo[-PT12H] => foo => bar"
+
+The sequential declaration is arguably convenient in one unusual situation
+though: if a task has a non-uniform cycling sequence then multiple explicit
+triggers,
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           T00,T03,T11 = "foo => bar"
+           T00 = "foo[-PT13H] => foo"
+           T03 = "foo[-PT3H] => foo"
+           T11 = "foo[-PT8H] => foo"
+
+can be replaced by a single sequential declaration,
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[special tasks]]
+           sequential = foo
+       [[graph]]
+           T00,T03,T11 = "foo => bar"
+
+
+Future Triggers
+^^^^^^^^^^^^^^^
+
+Cylc also supports :term:`intercycle triggering <intercycle trigger>` off
+tasks "in the future" (with respect to cycle point):
+
+.. code-block:: cylc
+
+   [[graph]]
+       T00,T06,T12,T18 = """
+           # A runs in this cycle:
+           A
+           # B in this cycle triggers off A in the next cycle.
+           A[PT6H] => B
+       """
+
+Future triggers present a problem at workflow shutdown rather than at start-up.
+Here, ``B`` at the final cycle point wants to trigger off an instance
+of ``A`` that will never exist because it is beyond the workflow stop
+point. Consequently Cylc prevents tasks from spawning successors that depend on
+other tasks beyond the final point.
+
+
+.. _ClockTriggerTasks:
+
+Clock Triggers
+^^^^^^^^^^^^^^
+
+.. warning::
+
+   This describes a deprecated syntax for defining clock triggers in task
+   configuration. If used, it will be converted automatically to define
+   new-style :ref:`clock triggers <Built-in Clock Triggers>`.
+   Support for the old syntax will be removed in an upcoming release.
+
+By default, datetime cycle points are not connected to the :term:`wallclock time`.
+In real time cycling systems, however, some tasks may need to trigger at
+(or at some offset from) their cycle point in real time.
+
+Cylc points are full datetimes, not just times of the day, so clock-triggers
+provide no constraint if the workflow gets sufficiently far behind the clock,
+allowing maximum concurrency until the clock-triggered tasks catch up again.
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[special tasks]]
+           clock-trigger = foo(PT2H)
+       [[graph]]
+           T00 = foo
+
+Here, ``2025-08-23T00/foo`` would trigger (other dependencies allowing)
+when the wallclock time reaches ``2025-08-23T02``. Clock-trigger
+offsets are normally positive, to trigger *after* the wallclock time is equal
+to the task cycle point.
+
+
+.. _ClockExpireTasks:
+
+Clock-Expire Triggers
+^^^^^^^^^^^^^^^^^^^^^
+
+Tasks can be configured to *expire* and skip job submission if they are too far
+behind the wallclock when they become ready to run (and other tasks can trigger
+off of this).
+
+For example, if a clock-triggered task always copies the latest of a set of
+files to overwrite the previous set, in every cycle, there would be no point in
+running it late because the files it copied would be immediately overwritten by
+the next task instance as the workflow catches back up to real time operation.
+
+Clock-expire tasks are configured with
+:cylc:conf:`[scheduling][special tasks]clock-expire` using a syntax like
+:cylc:conf:`clock-trigger <[scheduling][special tasks]clock-trigger>`
+with a datetime offset relative to cycle point.
+The offset should be positive to make the task expire if the wallclock time
+has gone beyond the cycle point.
+
+.. warning::
+
+   The scheduler can only determine that a task has expired once it has
+   appeared in the active window of the workflow.
+
+
+.. _WorkflowConfigExternalTriggers:
+
+External Triggers
+^^^^^^^^^^^^^^^^^
+
+This is a substantial topic, documented separately
+in :ref:`Section External Triggers`.
+
+
+
+.. _User Guide Required Outputs:
+.. _required outputs:
+.. _incomplete tasks:
+
+Required Outputs
+----------------
+
+.. versionadded:: 8.0.0
+
+:term:`Task outputs <task output>` in the :term:`graph` are either
+:term:`required <required output>` (the default) or  :term:`optional <optional
+output>`.
+
+The scheduler requires all task outputs to be completed at runtime, unless they
+are marked with ``?`` as optional. This allows it to correctly diagnose
+:term:`workflow completion`. [2]_
+
+Tasks that finish without completing required outputs  [3]_ are retained as
+:ref:`incomplete <incomplete tasks>` pending user intervention, e.g. to be
+retriggered after a bug fix.
+
+.. note::
+   Incomplete tasks stall the workflow if there is nothing else to do (see
+   :ref:`workflow completion`). They also count toward the :term:`runahead
+   limit`, because they may run again once dealt with.
+
+This graph says task ``bar`` should trigger if ``foo`` succeeds:
+
+.. code-block:: cylc-graph
+
+   foo => bar  # short for "foo:succeed => bar"
+
+Additionally, ``foo`` is required to succeed, because its success is not marked
+as optional. If ``foo`` does not succeeded, the scheduler will not run ``bar``,
+and ``foo`` will be retained as an incomplete task.
+
+Here, ``foo:succeed``, ``bar:x``, and ``baz:fail`` are all required outputs:
+
+.. code-block:: cylc-graph
+
+   foo
+   bar:x
+   baz:fail
+
+Tasks that appear with only custom outputs in the graph are also required to succeed.
+Here, ``foo:succeed`` is a required output, as well as ``foo:x``, unless it is
+marked as optional elsewhere in the graph:
+
+.. code-block:: cylc-graph
+
+   foo:x => bar
+
+If a task generates multiple custom outputs, they should be "required" if you
+expect them all to be completed every time the task runs. Here,
+``model:file1``, ``model:file2``, and ``model:file3`` are all required outputs:
+
+.. code-block:: cylc-graph
+
+   model:file1 => proc1
+   model:file2 => proc2
+   model:file3 => proc3
+
+
+.. _optional outputs:
+.. _User Guide Optional Outputs:
+
+Optional Outputs
+----------------
+
+.. versionadded:: 8.0.0
+
+Optional outputs are marked with ``?``. They may or may not be completed by the
+task at runtime.
+
+Like the first example above, the following graph says task ``bar`` should
+trigger if ``foo`` succeeds:
+
+.. code-block:: cylc-graph
+
+   foo? => bar  # short for "foo:succeed? => bar"
+
+But now ``foo:succeed`` is optional, so we might expect it to fail sometimes.
+And if it does fail, it will not be marked as an incomplete task.
+
+Here, ``foo:succeed``, ``bar:x``, and ``baz:fail`` are all optional outputs:
+
+.. code-block:: cylc-graph
+
+   foo?
+   bar:x?
+   baz:fail?
+
+
+Success and failure (of the same task) are mutually exclusive, so they must
+both be optional if one is optional, or if they both appear in the graph:
+
+.. code-block:: cylc-graph
+
+   foo? => bar
+   foo:fail? => baz
+
+
+.. warning::
+
+   Optional outputs must be marked as optional everywhere they appear in the
+   graph, to avoid ambiguity.
+
+
+If a task generates multiple custom outputs, they should all be declared optional
+if you do not expect them to be completed every time the task runs:
+
+.. code-block:: cylc-graph
+
+   # model:x, :y, and :z are all optional outputs:
+   model:x? => proc-x
+   model:y? => proc-y
+   model:z? => proc-z
+
+This is an example of :term:`graph branching` from optional outputs. Whether a
+particular branch is taken or not depends on which optional outputs are
+completed at runtime. For more information see :ref:`Graph Branching`.
+
+Leaf tasks (with nothing downstream of them) can have optional outputs. In the
+following graph, ``foo`` is required to succeed, but it doesn't matter whether
+``bar`` succeeds or fails:
+
+.. code-block:: cylc-graph
+
+   foo => bar?
+
+
+.. note::
+
+   Optional outputs do not affect *triggering*. They just tell the scheduler
+   what to do with the task if it finishes without completing the output.
+
+   This graph triggers ``bar`` if ``foo`` succeeds, and does not trigger
+   ``bar`` if ``foo`` fails:
+
+   .. code-block:: cylc-graph
+
+      foo => bar
+
+   And so does this graph:
+
+   .. code-block:: cylc-graph
+
+      foo? => bar
+
+   The only difference is whether or not the scheduler regards ``foo`` as
+   incomplete if it fails.
+
+
+Finish Triggers
+^^^^^^^^^^^^^^^
+
+``foo:finish`` is a pseudo output that is short for ``foo:succeed? |
+foo:fail?``. This automatically labels the real outputs as optional, because
+success and failure can't both be required.
+
+``foo:finish?`` is illegal because it incorrectly suggests that "finishing
+is optional" and that a non-optional version of the trigger makes sense.
+
+.. code-block:: cylc-graph
+
+   # Good:
+   R1 = """
+      foo:finish => bar
+      foo? => baz
+   """
+
+   # Error:
+   R1 = """
+      foo:finish => bar
+      foo => baz  # ERROR : foo:succeed must be optional here!
+   """
+
+.. _optional outputs.family triggers:
+
+Family Triggers
+^^^^^^^^^^^^^^^
+
+.. (taken from https://github.com/cylc/cylc-flow/pull/4343#issuecomment-913901972)
+
+Family triggers are based on family pseudo outputs such as ``FAM:succeed-all``
+and ``FAM:fail-any`` that are short for logical expressions involving the
+corresponding member task outputs.
+
+If the member outputs are not singled out explicitly elsewhere in the graph,
+then they default to being required outputs.
+
+For example, if ``f1`` and ``f2`` are members of ``FAM``, then this:
+
+.. code-block:: cylc-graph
+
+   FAM:fail-all => a
+
+
+means:
+
+.. code-block:: cylc-graph
+
+   f1:fail & f2:fail => a  # f1:fail and f2:fail are required
+
+
+and this:
+
+.. code-block:: cylc-graph
+
+   FAM:succeed-any => a
+
+
+means:
+
+.. code-block:: cylc-graph
+
+   f1 | f2 => a  # f1:succeed and f2:succeed are required
+
+
+However, the family default can be changed to optional by using ``?`` on the
+family trigger. So this:
+
+.. code-block:: cylc-graph
+
+   FAM:fail-all? => a
+
+
+means this:
+
+.. code-block:: cylc-graph
+
+   f1:fail? & f2:fail? => a  # f1:fail and f2:fail are optional
+
+
+If particular member tasks are singled out elsewhere in the graph, that
+overrides the family default for required/optional outputs:
+
+.. code-block:: cylc-graph
+
+   # f1:fail is required, and f2:fail is optional:
+   FAM:fail-all => a
+   f2:fail? => b
+
+
+Family Finish Triggers
+^^^^^^^^^^^^^^^^^^^^^^
+
+Like task ``:finish`` triggers, family ``:finish-all/any`` triggers are
+different because ``:finish`` is a pseudo output involving both ``:succeed``
+and ``:fail``, which are mutually exclusive outputs that must both be optional
+if both are used.
+
+Also like task ``:finish`` triggers, use of ``?`` is illegal on a family
+finish trigger, because the underlying member outputs must already be optional.
+
+.. code-block:: cylc-graph
+
+   FAM:finish-all => a  # f1:succeed/fail and f2:succeed/fail are optional
+   FAM:finish-any => a  # (ditto)
+
+   FAM:finish-all? => b  # ERROR
+
+
+.. _Graph Branching:
+
+Graph Branching
+---------------
+
+Cylc handles workflow :term:`graphs <graph>` in an event-driven way.  It can
+automatically follow different paths depending on events at runtime. This
+relies on :term:`optional outputs <optional output>` and is called *branching*.
+
+.. note::
+
+   In Cylc 7 and earlier, graphs were not event-driven and needed
+   :term:`suicide triggers <suicide trigger>` to clean up unused
+   branches at runtime.
+
+   Cylc 8 does not need suicide triggers for branching.
+
+Basic Example
+^^^^^^^^^^^^^
+
+Here Cylc will follow one of two "branches" depending on the outcome of task ``b``:
+
+* If ``b`` succeeds then the task ``c`` will run.
+* If ``b`` fails then the task ``r`` will run.
+
+Task ``d`` will run after either ``c`` or ``r`` succeeds.
+
+.. digraph:: example
+   :align: center
+
+   subgraph cluster_success {
+      label = ":succeed"
+      color = "green"
+      fontcolor = "green"
+      style = "dashed"
+
+      c
+   }
+
+   subgraph cluster_failure {
+      label = ":fail"
+      color = "red"
+      fontcolor = "red"
+      style = "dashed"
+
+      r
+   }
+
+   a -> b -> c -> d
+   b -> r -> d
+
+.. code-block:: cylc-graph
+
+   # the success path
+   a => b? => c
+   # the fail path
+   a => b:fail? => r
+   # either way, carry on with the rest of the workflow
+   c | r => d
+
+The ``?`` symbol denotes an :term:`optional output` which allows the graph to
+branch.
+
+Note the last line of the graph ``c | r => d`` allows the graph to
+continue on to ``d`` regardless of the path taken. This is an :term:`artificial
+dependency`.
+
+Branching is often used for automatic failure recovery. Here's a simple
+example:
+
+.. code-block:: cylc-graph
+
+   foo => bar
+   bar:fail? => recover
+   bar? | recover => baz
+
+
+.. digraph:: Example
+   :align: center
+
+   subgraph cluster_1 {
+      label = ":fail"
+      color = "red"
+      fontcolor = "red"
+      style = "dashed"
+
+      recover
+   }
+
+   foo -> bar
+   bar -> recover
+   recover -> baz [arrowhead="onormal"]
+   bar -> baz [arrowhead="onormal"]
+
+
+The ``recover`` task would (presumably) analyse the failure of ``bar`` and, if
+the right failure mode is confirmed, attempt to generate the right outputs
+another way. Then ``baz`` can trigger off of either branch, to process the
+outputs.
+
+A more realistic example might have several tasks on each branch. The
+``recover`` task could, via inheritance, run the same underlying code as
+``bar``, but configured differently to avoid the failure.
+
+
+Message Trigger Example
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Branching is particularly powerful when using :ref:`MessageTriggers` (i.e.
+:term:`custom outputs <custom output>`) to define multiple parallel paths in
+the graph.
+
+In the following graph there is a task called ``showdown`` which produces one
+of three possible custom outputs, ``good``, ``bad`` or ``ugly``. Cylc will follow
+a different path depending on which of these three outputs is produced.
+
+As with the previous example each path begins with a different :term:`optional
+output` of a particular task and ends with an "or" dependency to allow the
+workflow to continue regardless of the path taken.
+
+.. code-block:: cylc-graph
+
+   # branch the graph depending on the outcome of "showdown"
+   showdown:good? => good
+   showdown:bad? => bad
+   showdown:ugly? => ugly
+   # join the graph back together
+   good | bad | ugly => fin
+
+
+.. digraph:: Example
+   :align: center
+
+   subgraph cluster_1 {
+      label = ":good"
+      color = "green"
+      fontcolor = "green"
+      style = "dashed"
+
+      good
+   }
+   subgraph cluster_2 {
+      label = ":bad"
+      color = "red"
+      fontcolor = "red"
+      style = "dashed"
+
+      bad
+   }
+   subgraph cluster_3 {
+      label = ":ugly"
+      color = "purple"
+      fontcolor = "purple"
+      style = "dashed"
+
+      ugly
+   }
+   showdown -> good
+   showdown -> bad
+   showdown -> ugly
+   good -> fin [arrowhead="onormal"]
+   bad -> fin [arrowhead="onormal"]
+   ugly -> fin [arrowhead="onormal"]
+
+
+You can test run this example making ``showdown`` randomly generate one of the
+three custom outputs:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[showdown]]
+           # Randomly return one of the three custom outputs.
+           script = """
+               SEED=$RANDOM
+               if ! (( $SEED % 3 )); then
+                   cylc message 'The Good'
+               elif ! (( ( $SEED + 1 ) % 3 )); then
+                   cylc message 'The Bad'
+               else
+                   cylc message 'The Ugly'
+               fi
+           """
+           [[[outputs]]]
+               # Register the three custom outputs.
+               good = 'The Good'
+               bad = 'The Bad'
+               ugly = 'The Ugly'
+
+
+When using message triggers in this way there are two things to be aware of:
+
+1. Message triggers are not exit states.
+
+   Custom output messages are generated *before* the task has completed, so it
+   can be useful to combine them with a regular trigger for safety e.g:
+
+   .. code-block:: cylc-graph
+
+      # good will wait for showdown to finish before running
+      showdown:finish & showdown:good => good
+
+      # if showdown fails then good will not run
+      showdown:succeed & showdown:good => good
+
+2. Whether message outputs from a single task are mutually exclusive or not
+   depends on the task, and the workflow should be designed accordingly.
+
+   For example, the ``showdown`` task above could instead send all three
+   messages in succession, after writing out corresponding *good*, *bad*, and
+   *ugly* files.
+
+   Check that you understand how your tasks work, if they use custom outputs.
+
+
+Limiting Workflow Activity
+--------------------------
+
+Cylc will usually try to trigger any task with met dependencies. If this
+risks running more tasks than you wish - if it would overwhelm the job
+platform for example - :ref:`RunaheadLimit` and :ref:`InternalQueues` provide
+tools to limit workflow activity.
+
+.. _RunaheadLimit:
+
+Runahead Limiting
+^^^^^^^^^^^^^^^^^
+
+The scheduler runahead limit determines how many consecutive cycle points can
+be active at once. The base point of the runahead calculation is the current
+lowest-valued point with :term:`active` or :term:`incomplete` tasks present.
+
+The runahead limit can be set with :cylc:conf:`[scheduling]runahead limit`,
+to an integer interval (for datetime or integer cycling workflows) or to
+a datetime interval (datetime cycling only).
+
+The integer format ``Pn`` is an interval that spans ``n+1`` consecutive cycle
+points, regardless of how the cycle point values increment from one point to
+the next (i.e. regardless of the cycling interval).
+
+For example, the default runahead limit of ``P4`` allows 5 active cycle points
+(base point plus the 4 next points) whether the cycling is defined by
+``R/^/P1`` or ``R/^/P3`` etc. (for integer cycling) or ``R/^/PT6H`` etc. (for
+datetime cycling).
+
+In the following example, tasks ``1/foo`` through ``4/foo`` will submit to
+run immediately at start-up, but ``5/foo`` will be held back until ``1/foo``
+finishes and allows the runahead limit to move on:
+
+.. code-block:: cylc
+
+    [scheduling]
+        cycling mode = integer
+        initial cycle point = 1
+        runahead limit = P3  # max 4 active points
+        [[graph]]
+            P2 = foo  # cycle points 1, 3, 5, 7, 9, ...
+
+The active cycle points in this workflow, at some point during the run,
+might be ``29, 31, 33, 35``, for example.
+
+.. code-block:: cylc
+
+    [scheduling]
+        initial cycle point = 2050
+        runahead limit = P3  # max 4 active points
+        [[graph]]
+            P2Y = foo  # cycle points 2050, 2052, 2054, ...
+
+The active points in this workflow, at some point during the run, might be
+``2060, 2062, 2064, 2068``.
+
+With a datetime interval, on the other hand, the number of active cycle points
+depends on the cycling intervals:
+
+.. code-block:: cylc
+
+    [scheduling]
+        initial cycle point = 2050
+        runahead limit = P4Y  # max active point: base point + P4Y
+        [[graph]]
+            P2Y = foo  # cycle points 2050, 2052, 2054, ...
+
+The active points in this workflow, at some point during the run, might be
+``2060, 2062, 2064``. If the cycling interval was ``P1Y`` instead of ``P2Y``,
+they might be ``2060, 2061, 2062, 2063, 2064``.
+
+
+.. note::
+
+   To restrict activity to a single cycle point at a time (just the base point)
+   use a null runahead interval: ``P0`` or (e.g.) ``PT0H``.
+
+
+.. note::
+
+   Runahead limiting does not restrict activity within a cycle point.
+   Workflows with a large number of tasks per cycle may need :ref:`internal
+   queues <InternalQueues>` to constrain activity in absolute terms.
+
+
+.. note::
+
+   The scheduler may automatically raise the runahead limit to accommodate
+   :term:`future triggered<future trigger>` tasks without stalling
+   the workflow.
+
+
+.. _InternalQueues:
+
+Internal Queues
+^^^^^^^^^^^^^^^
+
+Large workflows can potentially overwhelm the system by submitting too many
+jobs at once. Internal queues can prevent this by limiting the number of
+tasks that can be active (submitted or running) at the same time.
+
+Internal queues are FIFO (first-in-first-out): tasks are released in the same
+order that they were queued. They are configured under
+:cylc:conf:`[scheduling][queues]` with a *name*; a list of *members* assigned
+by task or family name; and a *limit*, which is the maximum number of active
+members allowed.
+
+By default every task is assigned to the ``default`` queue, which by default
+has a zero limit (interpreted by Cylc as no limit). To use a single queue for
+the whole workflow just set the default queue limit:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[queues]]
+           # limit the entire workflow to 5 active tasks at once
+           [[[default]]]
+               limit = 5
+
+To use additional queues just name them, set limits, and assign members:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[queues]]
+           [[[q_foo]]]
+               limit = 5
+               members = foo, bar, baz
+
+Any tasks not assigned to a particular queue will remain in the default
+queue. The following example illustrates how queues work by running two task
+trees side by side, limited to 2 and 3 tasks respectively:
+
+.. literalinclude:: ../../workflows/queues/flow.cylc
+   :language: cylc
+
+
+Valid Task Cycle Points
+-----------------------
+
+Graph triggers determine the sequence of valid cycle points (via the
+recurrence value of the associated graph string) and the prerequisites, for
+each downstream task in a dependency. In the absence of a cycle point offset
+(intercycle trigger) they also determine the sequence of cycle points for
+the upstream tasks:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 2025-01-01T00
+       [[graph]]
+           P2D = "foo & bar => baz"
+
+This says ``baz`` depends on ``foo`` and ``bar`` for every point in the
+sequence defined by the recurrence ``P2D`` (i.e. ``R/^/P2D``).
+
+Cylc does not infer the cyclepoint sequence for upstream tasks in intercycle
+triggers, however. All tasks must be tied to the right sequence by appearing
+somewhere in the graph with no offset. This prevents unintentional creation of
+off-sequence tasks by an offset error in the graph.
+
+For instance, the following example fails validation with *no cycling sequences
+defined for* ``foo``:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 2025-01-01T00
+       [[graph]]
+           # ERROR!
+           P2D = "foo[-P1D] & bar"
+
+To fix this, ``foo`` should be explicitly tied to the ``P2D`` cycle, and the
+correct offset used:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 2025-01-01T00
+       [[graph]]
+           P2D = """
+               foo
+               foo[-P2D] & bar
+           """
+
+Or it should be explicitly tied to the intermediate cycle, if the ``P1D`` offset
+is actually correct:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 2025-01-01T00
+       [[graph]]
+           R/+P1D/P2D = foo  # day 2, 4, 6, ...
+           P2D = "foo[-P1D] & bar"  # day 1, 3, 5, ...
+
+
+Note that validation does not detect this sort of error if the target task has
+cyclepoint sequences defined but the offset does not land on them. For example,
+the following graph will validate but ``bar`` will only run once in the first
+cycle point (where its pre-initial dependence is ignored):
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 2025-01-01T00
+       [[graph]]
+           P2D = """
+               foo
+               foo[-P1D] => bar  # ERROR: foo doesn't exist at -P1D
+           """
+
+To fix this, the offset ``[-P1D]`` should be changed to ``[-P2D]``, or else
+another graph line is needed to generate ``foo`` instances on the ``P1D`` sequence:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 2025-01-01T00
+       [[graph]]
+           P1D = "foo"
+           P2D = "foo[-P1D] => bar"
+
+
+Omitting Tasks
+--------------
+
+It can sometimes be useful to temporarily remove tasks by simply commenting
+them out of the graph. Validation warns about tasks defined under
+:cylc:conf:`[runtime]` but not used in the graph, as a reminder to restore them
+or remove them.
+
+You can also use logical Jinja2 switches (:ref:`User Guide Jinja2`) to
+include or exclude tasks (or anything else) from workflow.
+
+.. [1] For example, in weather forecasting workflows (and similar systems) each
+       new forecast depends partly on the outcome of the previous forecast.
+
+.. [2] By distinguishing graph branches that did not run but should have, from
+   those that did not run but were optional.
+
+.. [3] This includes failed job submission, when the ``:submit`` output is not
+   marked as optional.
diff --git a/nightly_8.3/html/_sources/user-guide/writing-workflows/suicide-triggers.rst.txt b/nightly_8.3/html/_sources/user-guide/writing-workflows/suicide-triggers.rst.txt
new file mode 100644
index 00000000000..3f2fbc9d383
--- /dev/null
+++ b/nightly_8.3/html/_sources/user-guide/writing-workflows/suicide-triggers.rst.txt
@@ -0,0 +1,84 @@
+.. _SuicideTriggers:
+
+Suicide Triggers
+================
+
+.. warning::
+
+   Suicided triggers were needed in Cylc 7 and earlier to remove pre-spawned
+   waiting tasks from graph branches not taken at runtime, which would stall
+   the workflow.
+
+   However, **Cylc 8 does not need suicide triggers for** :term:`graph
+   branching <branching>`.
+
+   They remain supported, and documented, for backward compatibility and for
+   a rare :ref:`edge case <remaining-use-cases>`.
+
+
+Suicide triggers remove waiting :term:`tasks <task>` from the
+:term:`scheduler's <scheduler>` active :term:`active window` at runtime.
+
+They are activated just like normal :term:`task triggers <task trigger>` but
+they remove the downstream task (prefixed with ``!``) instead of triggering it
+to run.
+
+Here, the task ``bar`` will be removed if ``foo`` succeeds:
+
+.. code-block:: cylc-graph
+
+   foo => !bar
+
+Suicide triggers combine in the same way as normal triggers, so this graph:
+
+.. code-block:: cylc-graph
+
+   foo => !baz
+   bar => !baz
+
+is equivalent to this:
+
+.. code-block:: cylc-graph
+
+   foo & bar => !baz
+
+i.e. both ``foo`` and ``bar`` must succeed for ``baz`` to be removed.
+
+To remove a task after any one of several events, use an OR operator:
+
+.. code-block:: cylc-graph
+
+   foo | bar => !baz
+
+.. note::
+
+   * There's no point removing tasks that are not in the ``waiting`` state
+   * In Cylc 8 all waiting tasks in front of the active window are virtual and
+     don't need to be "removed"
+   * The only non-virtual waiting tasks in Cylc 8 are those :term:`actively
+     waiting <active-waiting>` on an external trigger; these might need to
+     be removed if they will never run
+
+
+.. _remaining-use-cases:
+
+Remaining Use Case
+------------------
+
+Suicide triggers may be needed to remove an :term:`active-waiting task` when it
+can be inferred from the status of another task that the external trigger will
+never be satisfied.
+
+In the following example imagine that the two xtriggers watch two locations for
+the same file to appear. The file will be delivered to one location or the
+other but not to both, so if one xtrigger is satisfied the other will never be.
+The stuck waiting task can be removed with a suicide trigger, so that it
+doesn't stall the workflow:
+
+.. code-block:: cylc-graph
+
+   @xtrigger1 => A
+   @xtrigger2 => B
+
+   A => !B  # If A succeeds, remove B
+   B => !A  # If B succeeds, remove A
diff --git a/nightly_8.3/html/_sources/workflow-design-guide/efficiency.rst.txt b/nightly_8.3/html/_sources/workflow-design-guide/efficiency.rst.txt
new file mode 100644
index 00000000000..45e84ef671d
--- /dev/null
+++ b/nightly_8.3/html/_sources/workflow-design-guide/efficiency.rst.txt
@@ -0,0 +1,371 @@
+.. _Efficiency And Maintainability:
+
+Efficiency And Maintainability
+==============================
+
+Efficiency (in the sense of *economy of workflow definition*) and
+maintainability go hand in hand. This section describes techniques for clean
+and efficient construction of complex workflows that are easy to understand,
+maintain, and modify.
+
+
+.. _The Task Family Hierarchy:
+
+The Task Family Hierarchy
+-------------------------
+
+A properly designed family hierarchy fulfils three purposes in Cylc:
+
+- efficient sharing of configuration common to groups of related tasks
+- efficient bulk triggering, for clear scheduling graphs
+- collapsible families in workflow visualization and UI views
+
+
+.. _Sharing By Inheritance:
+
+Sharing By Inheritance
+^^^^^^^^^^^^^^^^^^^^^^
+
+Duplication is a maintenance risk because changes have to be repeated in
+multiple places without mistakes. On the other hand, unnecessary sharing of
+items via global variables is also bad because it is hard to be sure which
+tasks are using which variables. A properly designed runtime inheritance
+hierarchy can give every task exactly what it needs, and nothing that it
+doesn't need.
+
+If a group of related tasks has some configuration in common, it can be
+factored out into a task family inherited by all.
+
+.. code-block:: cylc
+
+   [runtime]
+       [[OBSPROC]]
+           # Settings common to all obs processing tasks.
+       [[obs1]]
+           inherit = OBSPROC
+       [[obs2]]
+           inherit = OBSPROC
+
+If several families have settings in common, they can in turn can inherit
+from higher-level families.
+
+Multiple inheritance allows efficient sharing even for overlapping categories
+of tasks. For example consider that some obs processing tasks in the following
+workflow run parallel jobs and some serial:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[SERIAL]]
+           # Serial job settings.
+       [[PARALLEL]]
+           # Parallel job settings.
+       [[OBSPROC]]
+           # Settings for all obs processing tasks.
+       [[obs1, obs2, obs3]]
+           # Serial obs processing tasks.
+           inherit = OBSPROC, SERIAL
+       [[obs4, obs5]]
+           # Parallel obs processing tasks.
+           inherit = OBSPROC, PARALLEL
+
+Note that workflow parameters should really be used to define family members
+efficiently - see :ref:`Generating Tasks`.
+
+Cylc provides tools to help make sense of your inheritance hierarchy:
+
+- ``cylc graph -n/--namespaces`` - plot the full multiple
+  inheritance graph (not the dependency graph)
+- ``cylc config <workflow-id>`` - print selected sections or items
+  after inheritance processing
+- ``cylc graph <workflow-id>`` - plot the dependency graph, with
+  collapsible first-parent families
+  (see :ref:`Task Families And Visualization`)
+- ``cylc list -t/--tree <workflow-id>`` - print the first-parent
+  inheritance hierarchy
+- ``cylc list -m/--mro <workflow-id>`` - print the inheritance
+  precedence order for each runtime namespace
+
+
+Family Triggering
+^^^^^^^^^^^^^^^^^
+
+Task families can be used to simplify the scheduling graph wherever many
+tasks need to trigger at once:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = pre => MODELS
+   [runtime]
+       [[MODELS]]
+       [[model1, model2, model3, ...]]
+           inherit = MODELS
+
+To trigger *off of* many tasks at once, family names need to be qualified
+by ``<state>-all`` or ``<state>-any`` to indicate the desired
+member-triggering semantics:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = """
+              pre => MODELS
+              MODELS:succeed-all => post
+           """
+
+Note that this can be simplified further because Cylc ignores trigger
+qualifiers like ``:succeed-all`` on the right of trigger arrows
+to allow chaining of dependencies:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = pre => MODELS:succeed-all => post
+
+
+Family-to-Family Triggering
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+.. TODO: Is this section still true post-SoD?
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = BIG_FAM_1:succeed-all => BIG_FAM_2
+
+This means every member of ``BIG_FAM_2`` depends on every member
+of ``BIG_FAM_1`` succeeding. For very large families this can create so
+many dependencies that it affects the performance of Cylc at run time, as
+well as cluttering graph visualizations with unnecessary edges. Instead,
+interpose a blank task that signifies completion of the first family:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = BIG_FAM_1:succeed-all => big_fam_1_done => BIG_FAM_2
+
+For families with ``M`` and ``N`` members respectively, this
+reduces the number of dependencies from ``M*N`` to ``M+N``
+without affecting the scheduling.
+
+.. image:: ../img/fam-to-fam-1.png
+
+.. image:: ../img/fam-to-fam-2.png
+
+
+.. _Task Families And Visualization:
+
+Task Families And Visualization
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+*First parents* in the inheritance hierarchy double as collapsible summary
+groups for visualization and monitoring. Tasks should generally be grouped into
+visualization families that reflect their logical purpose in the workflow rather
+than technical detail such as inherited job submission or host settings. So in
+the example under :ref:`Sharing By Inheritance` above all
+``obs<n>`` tasks collapse into ``OBSPROC`` but not into
+``SERIAL`` or ``PARALLEL``.
+
+If necessary you can introduce new namespaces just for visualization:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[MODEL]]
+           # (No settings here - just for visualization).
+       [[model1, model2]]
+           inherit = MODEL, HOSTX
+       [[model3, model4]]
+           inherit = MODEL, HOSTY
+
+To stop a solo parent being used in visualization, demote it to secondary with
+a null parent like this:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[SERIAL]]
+       [[foo]]
+           # Inherit settings from SERIAL but don't use it in visualization.
+           inherit = None, SERIAL
+
+
+.. _Generating Tasks:
+
+Generating Tasks Automatically
+------------------------------
+
+Groups of tasks that are closely related such as an ensemble of model runs or
+a family of obs processing tasks, or sections of workflow that are repeated
+with minor variations, can be generated automatically by iterating over
+some integer range (e.g. ``model<n>`` for ``n = 1..10``) or
+list of strings (e.g. ``obs<type>`` for
+``type = ship, buoy, radiosonde, ...``).
+
+
+Jinja2 Loops
+^^^^^^^^^^^^
+
+Task generation was traditionally done in Cylc with explicit Jinja2 loops,
+like this:
+
+.. code-block:: cylc
+
+   # Task generation the old way: Jinja2 loops (NO LONGER RECOMMENDED!)
+   {% set PARAMS = range(1,11) %}
+   [scheduling]
+       [[graph]]
+           R1 = """
+   {% for P in PARAMS %}
+               pre => model_p{{P}} => post
+       {% if P == 5 %}
+               model_p{{P}} => check
+       {% endif %}
+   {% endfor %}    """
+   [runtime]
+   {% for P in PARAMS %}
+       [[model_p{{P}}]]
+           script = echo "my parameter value is {{P}}"
+       {% if P == 1 %}
+           # special case...
+       {% endif %}
+   {% endfor %}
+
+Unfortunately this makes a mess of the workflow definition, particularly the
+scheduling graph, and it gets worse with nested loops over multiple parameters.
+
+.. image:: ../img/param-1.png
+
+
+.. _SDG Parameterized Tasks:
+
+Parameterized Tasks
+^^^^^^^^^^^^^^^^^^^
+
+Cylc-6.11 introduced built-in *workflow parameters* for generating tasks
+without destroying the clarity of the base workflow definition. Here's the same
+example using workflow parameters instead of Jinja2 loops:
+
+.. code-block:: cylc
+
+   # Task generation the new way: workflow parameters.
+   [scheduler]
+       [[parameters]]
+           p = 1..10
+   [scheduling]
+       [[graph]]
+           R1 = """
+               pre => model<p> => post
+               model<p=5> => check
+           """
+   [runtime]
+       [[pre, post, check]]
+       [[model<p>]]
+           script = echo "my parameter value is ${CYLC_TASK_PARAM_p}"
+       [[model<p=7>]]
+           # special case ...
+
+Here ``model<p>`` expands to ``model_p7`` for ``p=7``,
+and so on, via the default expansion template for integer-valued parameters,
+but custom templates can be defined if necessary. Parameters can also be
+defined as lists of strings, and you can define dependencies between different
+values: ``chunk<p-1> => chunk<p>``. Here's a multi-parameter example:
+
+.. code-block:: cylc
+
+   [scheduler]
+       allow implicit tasks = True
+       [[parameters]]
+           run = a, b, c
+           m = 1..5
+   [scheduling]
+       [[graph]]
+           R1 = pre => init<run> => sim<run,m> => close<run> => post
+   [runtime]
+       [[sim<run,m>]]
+
+.. image:: ../img/param-2.png
+
+If family members are defined by workflow parameters, then parameterized
+trigger expressions are equivalent to family ``:<state>-all`` triggers.
+For example, this:
+
+.. code-block:: cylc
+
+   [scheduler]
+       [[parameters]]
+           n = 1..5
+   [scheduling]
+       [[graph]]
+           R1 = pre => model<n> => post
+   [runtime]
+       [[pre, post]]
+       [[MODELS]]
+       [[model<n>]]
+           inherit = MODELS
+
+is equivalent to this:
+
+.. code-block:: cylc
+
+   [scheduler]
+       [[parameters]]
+           n = 1..5
+   [scheduling]
+       [[graph]]
+           R1 = pre => MODELS:succeed-all => post
+   [runtime]
+       [[pre, post]]
+       [[MODELS]]
+       [[model<n>]]
+           inherit = MODELS
+
+(but future plans for family triggering may make the second case more
+efficient for very large families).
+
+For more information on parameterized tasks see the Cylc user guide.
+
+
+.. _Optional App Config Files:
+
+Optional App Config Files
+-------------------------
+
+Closely related tasks with few configuration differences between them - such as
+multiple UM forecast and reconfiguration apps in the same workflow - should use
+the same Rose app configuration with the differences supplied by optional
+configs, rather than duplicating the entire app for each task.
+
+Optional app configs should be valid on top of the main app config and not
+dependent on the use of other optional app configs. This ensures they will
+work correctly with macros and can therefore be upgraded automatically.
+
+Optional app configs can be loaded by command line switch:
+
+.. code-block:: bash
+
+   rose task-run -O key1 -O key2
+
+or by environment variable:
+
+.. code-block:: bash
+
+   ROSE_APP_OPT_CONF_KEYS = key1 key2
+
+The environment variable is generally preferred in workflows because you don't
+have to repeat and override the root-level script configuration:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[root]]
+           script = rose task-run -v
+       [[foo]]
+           [[[environment]]]
+               ROSE_APP_OPT_CONF_KEYS = key1 key2
diff --git a/nightly_8.3/html/_sources/workflow-design-guide/general-principles.rst.txt b/nightly_8.3/html/_sources/workflow-design-guide/general-principles.rst.txt
new file mode 100644
index 00000000000..a001890dd99
--- /dev/null
+++ b/nightly_8.3/html/_sources/workflow-design-guide/general-principles.rst.txt
@@ -0,0 +1,698 @@
+.. _Basic Principles:
+
+Basic Principles
+================
+
+This section covers general principles that should be kept in mind when
+writing any workflow. More advanced topics are covered later:
+:ref:`Efficiency And Maintainability` and :ref:`Portable Workflows Label`.
+
+
+Cycle point time zone
+---------------------
+
+Cylc has full local timezone support if needed, but the default cycle point time
+zone is UTC. See :cylc:conf:`flow.cylc[scheduler]cycle point time zone`.
+
+
+Fine Or Coarse-Grained Workflows
+--------------------------------
+
+Workflows can have many small simple tasks, fewer large complex tasks, or anything
+in between. A task that runs many distinct processes can be split into many
+distinct tasks. The fine-grained approach is more transparent and it allows
+more task level concurrency and quicker failure recovery - you can rerun just
+what failed without repeating anything unnecessarily.
+
+
+rose bunch
+^^^^^^^^^^
+
+One caveat to our fine-graining advice is that submitting a large number of
+small tasks at once may be a problem on some platforms. If you have many
+similar concurrent jobs you can use ``rose bunch`` to pack them into a
+single task with incremental rerun capability: retriggering the task will rerun
+just the component jobs that did not successfully complete earlier.
+
+
+.. _Monolithic Or Interdependent Workflows:
+
+Monolithic Or Interdependent Workflows
+--------------------------------------
+
+When writing workflows from scratch you may need to decide between putting
+multiple loosely connected sub-workflows into a single large workflow, or
+constructing a more modular system of smaller workflows that depend on each other
+through :ref:`inter-workflow triggering <Built-in Workflow State Triggers>`.
+Each approach has its pros and cons, depending on your requirements and
+preferences with respect to the complexity and manageability of the resulting
+system.
+
+
+.. _Self-Contained Workflows:
+
+Self-Contained Workflows
+------------------------
+
+All files generated by Cylc during a workflow run are confined to the workflow
+:term:`run directory` ``$HOME/cylc-run/<workflow-id>``. However, Cylc has no
+control over the locations of the programs, scripts, and files, that are
+executed, read, or generated by your tasks at runtime. It is up to you to
+ensure that all of this is confined to the run directory too, as far as
+possible.
+
+Self-contained workflows are more robust, easier to work with, and more portable.
+Multiple instances of the same workflow (with different workflow names) should be
+able to run concurrently under the same user account without mutual
+interference.
+
+
+Avoiding External Files
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Workflows that use external scripts, executables, and files beyond the essential
+system libraries and utilities are vulnerable to external changes: someone
+else might interfere with these files without telling you.
+
+In some case you may need to symlink to large external files anyway, if space
+or copy speed is a problem, but otherwise workflows with private copies of all the
+files they need are more robust.
+
+
+Confining Output To The Run Directory
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Output files should be confined to the run directory tree. Then all
+output is easy to find, multiple instances of the same workflow can run
+concurrently without interference, and other users should be able to copy and
+run your workflow with few modifications. Cylc provides a ``share``
+directory for generated files that are used by several tasks in a workflow
+(see :ref:`Shared Task IO Paths`). Archiving tasks can use ``rose arch``
+to copy or move selected files to external locations as needed (see
+:ref:`Workflow Housekeeping`).
+
+
+Task Host Selection
+-------------------
+
+The ``rose host-select`` command is now deprecated. Workflows should migrate
+to using :term:`platforms <platform>` which provide a more efficient
+solution.
+See :ref:`MajorChangesPlatforms` for details.
+
+
+Task Scripting
+--------------
+
+Non-trivial task scripting should be held in separate script files rather than
+inlined in :cylc:conf:`flow.cylc`. This keeps the workflow definition tidy, and it
+allows proper shell-mode text editing and independent testing of task scripts.
+
+For automatic access by jobs, task-specific scripts should be kept in
+Rose app bin directories, and shared scripts kept in (or installed to) the
+workflow bin directory.
+
+
+Coding Standards
+^^^^^^^^^^^^^^^^
+
+When writing your own task scripts make consistent use of appropriate coding
+standards such as:
+
+- `PEP8 for Python <https://peps.python.org/pep-0008/>`_
+- `Google Shell Style Guide for
+  Bash <https://google.github.io/styleguide/shell.xml>`_
+
+
+Basic Functionality
+^^^^^^^^^^^^^^^^^^^
+
+In consideration of future users who may not be expert on the internals of your
+workflow and its tasks, all task scripts should:
+
+- Print clear usage information if invoked incorrectly (and via the
+  standard options ``-h, --help``).
+- Print useful diagnostic messages in case of error. For example, if a
+  file was not found, the error message should contain the full path to the
+  expected location.
+- Always return correct shell exit status - zero for success, non-zero
+  for failure. This is used by Cylc job wrapper code to detect success and
+  failure and report it back to the :term:`scheduler`.
+- In shell scripts use ``set -u`` to abort on any reference to
+  an undefined variable. If you really need an undefined variable to evaluate
+  to an empty string, make it explicit: ``FOO=${FOO:-}``.
+- In shell scripts use ``set -e`` to abort on any error without
+  having to failure-check each command explicitly.
+- In shell scripts use ``set -o pipefail`` to abort on any error
+  within a pipe line. Note that all commands in the pipe line will still
+  run, it will just exit with the right most non-zero exit status.
+
+.. note::
+
+   Examples and more details `are available <https://vaneyckt.io/posts/safer_bash_scripts_with_set_euxo_pipefail/>`_
+   for the above three ``set`` commands.
+
+
+Rose Apps
+---------
+
+Rose apps allow all non-shared task configuration - which is not relevant to
+workflow automation - to be moved from the workflow definition into app config
+files. This makes workflows tidier and easier to understand, and it allows
+``rose edit`` to provide a unified metadata-enhanced view of the workflow
+and its apps (see :ref:`Rose Metadata Compliance`).
+
+Rose apps are a clear winner for tasks with complex configuration requirements.
+It matters less for those with little configuration, but for consistency and to
+take full advantage of ``rose edit`` it makes sense to use Rose apps
+for most tasks.
+
+When most tasks are Rose apps, set the app-run command as a root-level default,
+and override it for the occasional non Rose app task:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[root]]
+           script = rose task-run -v
+       [[rose-app1]]
+           #...
+       [[rose-app2]]
+           #...
+       [[hello-world]]  # Not a Rose app.
+           script = echo "Hello World"
+
+
+.. _Rose Metadata Compliance:
+
+Rose Metadata Compliance
+------------------------
+
+Rose metadata drives page layout and sort order in ``rose edit``, plus
+help information, input validity checking, macros for advanced checking and app
+version upgrades, and more.
+
+To ensure the workflow and its constituent applications are being run as intended
+it should be valid against any provided metadata: launch the
+``rose edit`` GUI or run ``rose macro --validate`` on the
+command line to highlight any errors, and correct them prior to use. If errors
+are flagged incorrectly you should endeavour to fix the metadata.
+
+When writing a new workflow or application, consider creating metadata to
+facilitate ease of use by others.
+
+
+Task Independence
+-----------------
+
+Essential dependencies must be encoded in the workflow graph, but
+tasks should not rely unnecessarily on the action of other tasks.
+For example, tasks should create their own output directories if they don't
+already exist, even if they would normally be created by an earlier task
+in the workflow. This makes it is easier to run tasks alone during
+development and testing.
+
+
+.. _Clock-Triggered Tasks:
+
+Clock-Triggered Tasks
+---------------------
+
+Tasks that wait on real time data should use
+:ref:`clock triggers <Built-in Clock Triggers>`
+to delay job submission until the expected data arrival time:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = now
+       [[xtriggers]]
+           # Trigger 5 min after wallclock time is equal to cycle point.
+           clock = wall_clock(offset=PT5M)
+       [[graph]]
+           T00 = @clock => get-data => process-data
+
+.. cylc-scope:: flow.cylc[runtime][<namespace>]
+
+Clock-triggered tasks typically have to handle late data arrival. Task
+:cylc:conf:`execution retry delays` can be used to simply retrigger
+the task at intervals until the data is found, but frequently retrying small
+tasks is inefficient, and multiple task
+failures will be logged for what is a essentially a normal condition (at least
+it is normal until the data is really late).
+
+.. cylc-scope::
+
+Rather than using task execution retry delays to repeatedly trigger a task that
+checks for a file, it may be better to have the task itself repeatedly poll for
+the data (see :ref:`Custom Trigger Functions`).
+
+
+.. _Rose App File Polling:
+
+Rose App File Polling
+---------------------
+
+Rose apps have built-in polling functionality to check repeatedly for the
+existence of files before executing the main app. See the ``[poll]``
+section in Rose app config documentation. This is a good way to implement
+check-and-wait functionality in clock-triggered tasks
+(:ref:`Clock-Triggered Tasks`), for example.
+
+It is important to note that frequent polling may be bad for some filesystems,
+so be sure to configure a reasonable interval between polls.
+
+
+Task Execution Time Limits
+--------------------------
+
+Instead of setting job wallclock limits directly in :term:`job runner`
+directives, use
+:cylc:conf:`flow.cylc[runtime][<namespace>]execution time limit`.
+Cylc automatically derives the correct job runner directives from this,
+and it is also used to run ``background`` and ``at`` jobs via
+the ``timeout`` command, and to poll tasks that haven't reported in
+finished by the configured time limit.
+
+
+.. _Restricting Workflow Activity:
+
+Restricting Workflow Activity
+-----------------------------
+
+It may be possible for large workflows to overwhelm a job host by submitting too
+many jobs at once:
+
+- Large workflows that are not sufficiently limited by real time clock
+  triggering or intercycle dependence may generate a lot of *runahead*
+  (this refers to Cylc's ability to run multiple cycles at once, restricted
+  only by the dependencies of individual tasks).
+- Some workflows may have large families of tasks whose members all
+  become ready at the same time.
+
+These problems can be avoided with *runahead limiting* and *internal
+queues*, respectively.
+
+
+.. _Runahead Limiting:
+
+Runahead Limiting
+^^^^^^^^^^^^^^^^^
+
+By default Cylc allows a maximum of five cycle points to be active at the same
+time, but this value is configurable:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 2020-01-01T00
+       # Don't allow any cycle interleaving:
+       runahead limit = P0
+
+
+Internal Queues
+^^^^^^^^^^^^^^^
+
+Tasks can be assigned to named internal queues that limit the number of members
+that can be active (i.e. submitted or running) at the same time:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 2020-01-01T00
+       [[queues]]
+           # Allow only 2 members of BIG_JOBS to run at once:
+           [[[big_jobs_queue]]]
+               limit = 2
+               members = BIG_JOBS
+       [[graph]]
+           T00 = pre => BIG_JOBS
+   [runtime]
+       [[BIG_JOBS]]
+       [[foo, bar, baz, ...]]
+           inherit = BIG_JOBS
+
+
+.. _Workflow Housekeeping:
+
+Workflow Housekeeping
+---------------------
+
+Ongoing cycling workflows can generate an enormous number of output files and logs
+so regular housekeeping is very important. Special housekeeping tasks,
+typically the last tasks in each cycle, should be included to archive selected
+important files and then delete everything at some offset from the current
+cycle point.
+
+The Rose built-in apps ``rose_arch`` and ``rose_prune``
+provide an easy way to do this. They can be configured easily with
+file-matching patterns and cycle point offsets to perform various housekeeping
+operations on matched files.
+
+
+Complex Jinja2 Code
+-------------------
+
+The Jinja2 template processor provides general programming constructs,
+extensible with custom Python filters, that can be used to *generate* the
+workflow definition. This makes it possible to write flexible multi-use
+workflows with structure and content that varies according to various input
+switches. There is a cost to this flexibility however: excessive use of Jinja2
+can make a workflow hard to understand and maintain. It is difficult to say
+exactly where to draw the line, but we recommend erring on the side of
+simplicity and clarity: write workflows that are easy to understand and therefore
+easy to modify for other purposes, rather than extremely complicated workflows
+that attempt do everything out of the box but are hard to maintain and modify.
+
+Note that use of Jinja2 loops for generating tasks is now deprecated in favour
+of built-in parameterized tasks - see :ref:`User Guide Param`.
+
+
+Shared Configuration
+--------------------
+
+Configuration that is common to multiple tasks should be defined in one
+place and used by all, rather than duplicated in each task. Duplication is
+a maintenance risk because changes have to be made consistently in several
+places at once.
+
+
+Jinja2 Variables
+^^^^^^^^^^^^^^^^
+
+In simple cases you can share by passing a Jinja2 variable to all the tasks
+that need it:
+
+.. code-block:: cylc
+
+   {% set JOB_VERSION = 'A23' %}
+   [runtime]
+       [[foo]]
+           script = run-foo --version={{JOB_VERSION}}
+       [[bar]]
+           script = run-bar --version={{JOB_VERSION}}
+
+
+Inheritance
+^^^^^^^^^^^
+
+Sharing by inheritance of task families is recommended when more than a few
+configuration items are involved.
+
+The simplest application of inheritance is to set global defaults in the
+``[runtime][root]`` namespace that is inherited by all tasks.
+However, this should only be done for settings that really are used
+by the vast majority of tasks. Over-sharing of via root, particularly of
+environment variables, is a maintenance risk because it can be very
+difficult to be sure which tasks are using which global variables.
+
+Any :cylc:conf:`[runtime]` settings can be shared - scripting, platform
+configuration, environment variables, and so on - from
+single items up to complete task or app configurations. At the latter extreme,
+it is quite common to have several tasks that inherit the same complete
+job configuration followed by minor task-specific additions:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[FILE-CONVERT]]
+           script = convert-netcdf
+           #...
+       [[convert-a]]
+           inherit = FILE-CONVERT
+           [[[environment]]]
+                 FILE_IN = file-a
+       [[convert-b]]
+           inherit = FILE-CONVERT
+           [[[environment]]]
+                 FILE_IN = file-b
+
+Inheritance is covered in more detail from an efficiency perspective in
+:ref:`The Task Family Hierarchy`.
+
+
+.. _Shared Task IO Paths:
+
+Shared Task IO Paths
+^^^^^^^^^^^^^^^^^^^^
+
+If one task uses files generated by another task (and both see the same
+filesystem) a common IO path should normally be passed to both tasks via a
+shared environment variable. As far as Cylc is concerned this is no different
+to other shared configuration items, but there are some additional aspects
+of usage worth addressing here.
+
+Primarily, for self-containment (see :ref:`Self-Contained Workflows`) shared IO
+paths should be under the *workflow share directory*, the location of which is
+passed to all tasks as ``$CYLC_WORKFLOW_SHARE_DIR``.
+
+The ``rose task-env`` utility can provide additional environment
+variables that refer to static and cyclepoint-specific locations under the
+workflow share directory.
+
+.. code-block:: cylc
+
+   [runtime]
+       [[my-task]]
+           env-script = $(eval rose task-env -T P1D -T P2D)
+
+For a current cycle point of ``20170105`` this will make the following
+variables available to tasks:
+
+.. code-block:: bash
+
+   ROSE_DATA=$CYLC_WORKFLOW_SHARE_DIR/data
+   ROSE_DATAC=$CYLC_WORKFLOW_SHARE_DIR/cycle/20170105
+   ROSE_DATACP1D=$CYLC_WORKFLOW_SHARE_DIR/cycle/20170104
+   ROSE_DATACP2D=$CYLC_WORKFLOW_SHARE_DIR/cycle/20170103
+
+Subdirectories of ``$ROSE_DATAC`` etc. should be agreed between
+different sub-systems of the workflow; typically they are named for the
+file-generating tasks, and the file-consuming tasks should know to look there.
+
+The share-not-duplicate rule can be relaxed for shared files whose names are
+agreed by convention, so long as their locations under the share directory are
+proper shared workflow variables. For instance the Unified Model uses a large
+number of files whose conventional names (``glu_snow``, for example)
+can reasonably be expected not to change, so they are typically hardwired into
+app configurations (as ``$ROSE_DATA/glu_snow``, for example) to avoid
+cluttering the workflow definition.
+
+Here two tasks share a workspace under the workflow share directory
+by inheritance:
+
+.. code-block:: cylc
+
+   # Sharing an I/O location via inheritance.
+   [scheduling]
+       [[graph]]
+           R1 = write_data => read_data
+   [runtime]
+       [[root]]
+           env-script = $(eval rose task-env)
+       [[WORKSPACE]]
+           [[[environment]]]
+               DATA_DIR = ${ROSE_DATA}/png
+       [[write_data]]
+           inherit = WORKSPACE
+           script = """
+               mkdir -p $DATA_DIR
+               write-data.exe -o ${DATA_DIR}
+           """
+       [[read_data]]
+           inherit = WORKSPACE
+           script = read-data.exe -i ${DATA_DIR}
+
+In simple cases where an appropriate family does not already exist paths can
+be shared via Jinja variables:
+
+.. code-block:: cylc
+
+   # Sharing an I/O location with Jinja2.
+   {% set DATA_DIR = '$ROSE_DATA/stuff' %}
+   [scheduling]
+       [[graph]]
+           R1 = write_data => read_data
+   [runtime]
+       [[write_data]]
+           script = """
+               mkdir -p {{DATA_DIR}}
+               write-data.exe -o {{DATA_DIR}}
+           """
+       [[read_data]]
+           script = read-data.exe -i {{DATA_DIR}}
+
+For completeness we note that it is also possible to configure multiple tasks
+to use the same work directory so they can all share files in ``$PWD``.
+(Cylc executes tasks in special work directories that by default are unique
+to each task). This may simplify the workflow slightly, and it may be useful if
+you are unfortunate enough to have executables that are designed for IO in
+``$PWD``, *but it is not recommended*. There is a higher risk
+of interference between tasks; it will break ``rose task-run``
+incremental file creation mode; and ``rose task-run --new`` will in
+effect delete the work directories of tasks other than its intended target.
+
+.. code-block:: cylc
+
+   # Shared work directory: tasks can read and write in $PWD - use with caution!
+   [scheduling]
+       initial cycle point = 2018
+       [[graph]]
+           P1Y = write_data => read_data
+   [runtime]
+       [[WORKSPACE]]
+           work sub-directory = $CYLC_TASK_CYCLE_POINT/datadir
+       [[write_data]]
+           inherit = WORKSPACE
+           script = write-data.exe
+       [[read_data]]
+           inherit = WORKSPACE
+           script = read-data.exe
+
+
+Varying Behaviour By Cycle Point
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+To make a cycling job behave differently at different cycle points you
+*could* use a single task with scripting that reacts to the cycle point it finds
+itself running at, but it is better to use different tasks (in different
+cycling sections) that inherit the same base job configuration. This results
+in a more transparent workflow that can be understood just by inspecting the
+graph:
+
+.. code-block:: cylc
+
+   # Run the same job differently at different cycle points.
+   [scheduling]
+       initial cycle point = 2020-01-01T00
+       [[graph]]
+           T00 = pre => long_fc => post
+           T12 = pre => short_fc => post
+   [runtime]
+       [[MODEL]]
+           script = run-model.sh
+       [[long_fc]]
+           inherit = MODEL
+           execution time limit = PT30M
+           [[[environment]]]
+               RUN_LEN = PT48H
+       [[short_fc]]
+           inherit = MODEL
+           execution time limit = PT10M
+           [[[environment]]]
+               RUN_LEN = PT12H
+
+The few differences between ``short_fc`` and ``long_fc``,
+including :term:`job runner` resource requests, can be configured after common
+settings are inherited.
+
+At Start-Up
+^^^^^^^^^^^
+
+Similarly, if a cycling job needs special behaviour at the initial (or any
+other) cycle point, just use a different logical task in an ``R1`` graph and
+have it inherit the same job as the general cycling task, not a single task
+with scripting that behaves differently if it finds itself running at the
+initial cycle point.
+
+
+Automating Failure Recovery
+---------------------------
+
+
+Job Submission Retries
+^^^^^^^^^^^^^^^^^^^^^^
+
+When submitting jobs to a remote host, use job submission retries to
+automatically resubmit tasks in the event of network outages.
+
+Note that this is distinct from job retries for
+job execution failure (just below).
+
+Job Execution Retries
+^^^^^^^^^^^^^^^^^^^^^
+
+Automatic retry on job execution failure is useful if you have good reason to
+believe that a simple retry will usually succeed. This may be the case if the
+job host is known to be flaky, or if the job only ever fails for one known
+reason that can be fixed on a retry. For example, if a model fails occasionally
+with a numerical instability that can be remedied with a short timestep rerun,
+then an automatic retry may be appropriate.
+
+.. code-block:: cylc
+
+   [runtime]
+       [[model]]
+           script = """
+               if [[ $CYLC_TASK_TRY_NUMBER > 1 ]]; then
+                   SHORT_TIMESTEP=true
+               else
+                   SHORT_TIMESTEP=false
+               fi
+               model.exe
+           """
+           execution retry delays = 1*PT0M
+
+
+Failure Recovery Workflows
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+For recovery from failures that require explicit diagnosis you can configure
+alternate graph branches. In the following example, if the model fails a
+diagnosis task will trigger; if it determines the cause of the failure is a
+known numerical instability (e.g. by parsing model job logs) it will succeed,
+triggering a short timestep run. Postprocessing can proceed from either the
+original or the short-step model run.
+
+.. Need to use a 'container' directive to get centered image with
+   left-aligned caption (as required for code block text).
+
+.. _fig-failure-rec:
+
+.. container:: twocol
+
+   .. container:: image
+
+      .. figure:: ../img/failure-recovery.png
+         :align: center
+
+   .. container:: caption
+
+      .. code-block:: cylc
+
+         [scheduling]
+             [[graph]]
+                 R1 = """
+                     model | model_short => postproc
+                     model:fail => diagnose => model_short
+                 """
+
+
+Include Files
+-------------
+
+Include-files should not be overused, but they can sometimes be useful
+(e.g. see :ref:`Portable Workflows Label`):
+
+.. code-block:: cylc
+
+   #...
+   {% include 'inc/foo.cylc' %}
+
+(Technically this inserts a Jinja2-rendered file template). Cylc also has a
+native include mechanism that pre-dates Jinja2 support and literally inlines
+the include-file:
+
+.. code-block:: cylc
+
+   #...
+   %include 'inc/foo.cylc'
+
+The two methods normally produce the same result, but use the Jinja2 version if
+you need to construct an include-file name from a variable (because Cylc
+include-files get inlined before Jinja2 processing is done):
+
+.. code-block:: cylc
+
+   #...
+   {% include 'inc/' ~ SITE ~ '.cylc' %}
diff --git a/nightly_8.3/html/_sources/workflow-design-guide/index.rst.txt b/nightly_8.3/html/_sources/workflow-design-guide/index.rst.txt
new file mode 100644
index 00000000000..821ab85fd2c
--- /dev/null
+++ b/nightly_8.3/html/_sources/workflow-design-guide/index.rst.txt
@@ -0,0 +1,43 @@
+.. SDG:
+
+Workflow Design Guide
+=====================
+
+.. rubric:: Cylc/Rose Workflow Design Best Practice Guide.
+
+This document provides guidance on making complex Cylc + Rose workflows that
+are clear, maintainable, and portable. Note that best practice advice may
+evolve over time with the capabilities of Rose and Cylc.
+
+Content is drawn from the Rose and Cylc user guides, earlier Met Office workflow
+design and operational workflow review documents, experience with real workflows
+across the Unified Model Consortium, and discussion among members of the UM
+TISD (Technical Infrastructure Workflow Design) working group.
+
+We start with the most general topics (coding style, general principles),
+move on to more advanced topics (efficiency and maintainability, portable
+workflows), and end with some pointers to future developments.
+
+.. note::
+
+   A good working knowledge of Cylc and Rose is assumed. For further details,
+   please consult the:
+ 
+   - `Cylc User Guide`_
+   - `Rose Documentation`_
+
+.. note::
+
+   For non-Rose users: this document comes out of the Unified Model
+   Consortium wherein Cylc is used within the Rose *workflow management
+   framework*. However, the bulk of the information in this guide is about
+   Cylc workflow design; which parts are Rose-specific should be clear from
+   context.
+
+.. toctree::
+   :maxdepth: 2
+
+   style-guide
+   general-principles
+   efficiency
+   portable-workflows
diff --git a/nightly_8.3/html/_sources/workflow-design-guide/portable-workflows.rst.txt b/nightly_8.3/html/_sources/workflow-design-guide/portable-workflows.rst.txt
new file mode 100644
index 00000000000..e7998534aac
--- /dev/null
+++ b/nightly_8.3/html/_sources/workflow-design-guide/portable-workflows.rst.txt
@@ -0,0 +1,494 @@
+.. _Portable Workflows Label:
+
+Portable Workflows
+==================
+
+A *portable* or *interoperable* workflow can run "out of the box" at
+different sites, or in different environments such as research and operations
+within a site. For convenience we just use the term *site portability*.
+
+Lack of portability is a major barrier to collaborative development when
+sites need to run more or less the same workflow, because it is very
+difficult to translate changes manually between large, complicated workflows.
+
+Most workflows are riddled with site-specific details such as local build
+configurations, file paths, host names, and batch scheduler directives, etc.;
+but it is possible to cleanly factor all this out to make a portable workflow.
+Significant variations in workflow structure can even be accommodated quite
+easily. If the site workflows are *too different*, however, you may decide
+that it is appropriate for each site to maintain separate workflows.
+
+The recommended way to do this, which we expand on below, is:
+
+- Put all site-specific settings in include-files loaded at the end
+  of a generic "core" workflow definition.
+- Use "optional" app config files for site-specific variations
+  in the core workflow's Rose apps.
+- (Make minimal use of inlined site switches too, if necessary).
+- When referencing files, reference them within the workflow structure and
+  use an install task to link external files in.
+
+The result should actually be tidier than the original in one respect: all
+the messy platform-specific resource directives etc., will be hidden away in
+the site include-files.
+
+
+The Jinja2 SITE Variable
+------------------------
+
+First a workflow Jinja2 variable called ``SITE`` should be set to the site
+name, either in ``rose-suite.conf``, or in the workflow definition itself
+(perhaps automatically, by querying the local environment in some way).
+
+.. code-block:: cylc
+
+   #!Jinja2
+   {% set SITE = "niwa" %}
+   #...
+
+This will be used to select site-specific configuration, as described below.
+
+
+Site Include-Files
+------------------
+
+If a section heading in a :cylc:conf:`flow.cylc` file is repeated the items
+under it simply add to or override those defined under the same section earlier
+in the file.
+For example, this task definition:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[foo]]
+           script = run-foo.sh
+           platform = niwa_hpc
+
+can equally be written like this:
+
+.. code-block:: cylc
+
+   [runtime]  # Part 1 (site-agnostic).
+       [[foo]]
+           script = run-foo.sh
+   [runtime]  # Part 2 (site-specific).
+       [[foo]]
+           platform = niwa_hpc
+
+.. note::
+
+   If Part 2 had also defined ``script`` the new value would
+   override the original. It can sometimes be useful to set a widely used
+   default and override it in a few cases, but be aware that this can
+   make it more difficult to determine the origin of affected values.
+
+In this way all site-specific ``[runtime]`` settings, with their
+respective sub-section headings, can be moved to the end of the file, and then
+out into an include-file (file inclusion is essentially just literal inlining):
+
+.. code-block:: cylc
+
+   #...
+   {% set SITE = "niwa" %}
+
+   # Core site-agnostic settings:
+   #...
+   [runtime]
+       [[foo]]
+           script = run-foo.sh
+   #...
+
+   # Site-specific settings:
+   {% include 'site/' ~ SITE ~ '.cylc' %}
+
+where the site include-file ``site/niwa.cylc`` contains:
+
+.. code-block:: cylc
+
+   # site/niwa.cylc
+   [runtime]
+       [[foo]]
+           platform = niwa_hpc
+
+
+Site-Specific Graphs
+--------------------
+
+Repeated ``graph`` strings under the same graph section headings are
+always additive (graph strings are the only exception to the normal repeat item
+override semantics). So, for instance, this graph:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 2025
+       [[graph]]
+           P1Y = "pre => model => post => niwa_archive"
+
+can be written like this:
+
+.. code-block:: cylc
+
+   [scheduling]
+       initial cycle point = 2025
+       [[graph]]
+           P1Y = "pre => model => post"
+           P1Y = "post => niwa_archive"
+
+and again, the site-specific part can be taken out to a site include-file:
+
+.. code-block:: cylc
+
+   #...
+   {% set SITE = "niwa" %}
+
+   # Core site-agnostic settings.
+   #...
+   [scheduling]
+       initial cycle point = 2025
+       [[graph]]
+           P1Y = "pre => model => post"
+   #...
+   # Site-specific settings:
+   {% include 'site/' ~ SITE ~ '.cylc' %}
+
+where the site include-file ``site/niwa.cylc`` contains:
+
+.. code-block:: cylc
+
+   # site/niwa.cylc
+   [scheduling]
+       [[graph]]
+           P1Y = "post => niwa_archive"
+
+Note that the site-file graph needs to define the dependencies of the
+site-specific tasks, and thus their points of connection to the core
+workflow - which is why the core task ``post`` appears in the graph here (if
+``post`` had any site-specific runtime settings, to get it to run at
+this site, they would also be in the site-file).
+
+
+.. _Inlined Site-Switching:
+
+Inlined Site-Switching
+----------------------
+
+It may be tempting to use inlined switch blocks throughout the workflow instead of
+site include-files, but *this is not recommended* - it is verbose and
+untidy (the greater the number of supported sites, the bigger the
+mess) and it exposes all site configuration to all users:
+
+.. code-block:: cylc
+
+   #...
+   [runtime]
+       [[model]]
+           script = run-model.sh
+   {# Site switch blocks not recommended:#}
+   {% if SITE == 'niwa' %}
+           platform = niwa_loadleveler_platform
+           [[[directives]]]
+               # NIWA Loadleveler directives...
+   {% elif SITE == 'metoffice' %}
+           platform = metoffice_pbs_platform
+           [[[directives]]]
+               # Met Office PBS directives...
+   {% elif SITE == ... %}
+               #...
+   {% else %}
+       {{raise('Unsupported site: ' ~ SITE)}}
+   {% endif %}
+       #...
+
+Inlined switches can be used, however, to configure exceptional behaviour at
+one site without requiring the other sites to duplicate the default behaviour.
+But be wary of accumulating too many of these switches:
+
+.. code-block:: cylc
+
+   # (core flow.cylc file)
+   #...
+   {% if SITE == 'small' %}
+      {# We can't run 100 members... #}
+      {% set ENSEMBLE_SIZE = 25 %}
+   {% else %}
+      {# ...but everyone else can! #}
+      {% set ENSEMBLE_SIZE = 100 %}
+   {% endif %}
+   #...
+
+Inlined switches can also be used to temporarily isolate a site-specific
+change to a hitherto non site-specific part of the workflow, thereby avoiding the
+need to update all site include-files before getting agreement from the workflow
+owner and collaborators.
+
+
+Site-Specific Workflow Variables
+--------------------------------
+
+It can sometimes be useful to set site-specific values of workflow variables that
+aren't exposed to users via ``rose-suite.conf``. For example, consider
+a workflow that can run a special post-processing workflow of some kind at sites
+where IDL is available. The IDL-dependence switch can be set per site like this:
+
+.. code-block:: cylc
+
+   #...
+   {% from SITE ~ '-vars.cylc' import HAVE_IDL, OTHER_VAR %}
+   R1 = """
+       pre => model => post
+   {% if HAVE_IDL %}
+       post => idl-1 => idl-2 => idl-3
+   {% endif %}
+   """
+
+where for ``SITE = niwa`` the file ``niwa-vars.cylc`` contains:
+
+.. code-block:: cylc
+
+   {# niwa-vars.cylc #}
+   {% set HAVE_IDL = True %}
+   {% set OTHER_VAR = "the quick brown fox" %}
+
+Note we are assuming there are significantly fewer options (IDL or not, in this
+case) than sites, otherwise the IDL workflow should just go in the site
+include-files of the sites that need it.
+
+
+Site-Specific Optional Workflow Configs
+---------------------------------------
+
+During development and testing of a portable workflow you can use an optional Rose
+workflow config file to automatically set site-specific workflow inputs and thereby
+avoid the need to make manual changes every time you check out and run a new
+version. The site switch itself has to be set of course, but there may be other
+settings too such as model parameters for a standard local test domain. Just
+put these settings in ``opt/rose-suite-niwa.conf`` (for site ``niwa``).
+
+
+Site-Agnostic File Paths in App Configs
+---------------------------------------
+
+Where possible apps should be configured to reference files within the workflow
+structure itself rather than outside of it. This makes the apps themselves
+portable and it becomes the job of the install task to ensure all required
+source files are available within the workflow structure e.g. via symlink into
+the share directory. Additionally, by moving the responsibility of linking
+files into the workflow to an install task you gain the added benefit of knowing
+if a file is missing at the start of a workflow rather than part way into a run.
+
+
+Site-Specific Optional App Configs
+----------------------------------
+
+Typically a few but not all apps will need some site customization, e.g. for
+local archive configuration, local science options, or whatever. To avoid
+explicit site-customization of individual task-run command lines use Rose's
+built-in *optional app config* capability:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[root]]
+           script = rose task-run -v -O '({{SITE}})'
+
+Normally a missing optional app config is considered to be an error, but the
+round parentheses here mean the named optional config is optional - i.e.
+use it if it exists, otherwise ignore.
+
+With this setting in place we can simply add a ``opt/rose-app-niwa.conf`` to
+any app that needs customization at ``SITE = niwa``.
+
+
+An Example
+----------
+
+The following small workflow is not portable because all of its tasks are
+submitted to a NIWA HPC host; two task are entirely NIWA-specific in that they
+respectively install files from a local database and upload products to a local
+distribution system; and one task runs a somewhat NIWA-specific configuration
+of a model. The remaining tasks are site-agnostic apart from local job host
+and batch scheduler directives.
+
+.. code-block:: cylc
+
+   [scheduler]
+       UTC mode = True
+   [scheduling]
+       initial cycle point = 2017-01-01
+       [[graph]]
+           R1 = install_niwa => preproc
+           P1D = """
+               preproc & model[-P1D] => model => postproc => upload_niwa
+               postproc => idl-1 => idl-2 => idl-3
+           """
+   [runtime]
+       [[root]]
+           script = rose task-run -v
+       [[HPC]]  # NIWA job host and batch scheduler settings.
+           platform = niwa_loadleveler_platform
+           [[[directives]]]
+               account_no = NWP1623
+               class = General
+               job_type = serial  # (most jobs in this workflow are serial)
+       [[install_niwa]]  # NIWA-specific file installation task.
+           inherit = HPC
+       [[preproc]]
+           inherit = HPC
+       [[model]]  # Run the model on a local test domain.
+           inherit = HPC
+           [[[directives]]]  # Override the serial job_type setting.
+               job_type = parallel
+           [[[environment]]]
+               SPEED = fast
+       [[postproc]]
+           inherit = HPC
+       [[upload_niwa]]  # NIWA-specific product upload.
+           inherit = HPC
+
+To make this portable, refactor it into a core :cylc:conf:`flow.cylc` file that
+contains the clean site-independent workflow configuration and loads all
+site-specific settings from an include-file at the end:
+
+.. code-block:: cylc
+
+   # flow.cylc: CORE SITE-INDEPENDENT CONFIGURATION.
+   {% set SITE = 'niwa' %}
+   {% from 'site/' ~ SITE ~ '-vars.cylc' import HAVE_IDL %}
+   [scheduler]
+       UTC mode = True
+   [scheduling]
+       initial cycle point = 2017-01-01
+       [[graph]]
+           P1D = """
+               preproc & model[-P1D] => model => postproc
+   {% if HAVE_IDL %}
+               postproc => idl-1 => idl-2 => idl-3
+   {% endif %}
+           """
+   [runtime]
+       [[root]]
+           script = rose task-run -v -O '({{SITE}})'
+       [[preproc]]
+           inherit = HPC
+       [[preproc]]
+           inherit = HPC
+       [[model]]
+           inherit = HPC
+           [[[environment]]]
+               SPEED = fast
+   {% include 'site/' ~ SITE ~ '.cylc' %}
+
+plus site files ``site/niwa-vars.cylc``:
+
+.. code-block:: cylc
+
+   # site/niwa-vars.cylc: NIWA SITE SETTINGS FOR THE EXAMPLE WORKFLOW.
+   {% set HAVE_IDL = True %}
+
+and ``site/niwa.cylc``:
+
+.. code-block:: cylc
+
+   # site/niwa.cylc: NIWA SITE SETTINGS FOR THE EXAMPLE WORKFLOW.
+   [scheduling]
+       [[graph]]
+           R1 = install_niwa => preproc
+           P1D = postproc => upload_niwa
+   [runtime]
+       [[HPC]]
+           platform = niwa_loadleveler_platform
+           [[[directives]]]
+               account_no = NWP1623
+               class = General
+               job_type = serial  # (most jobs in this workflow are serial)
+       [[install_niwa]]  # NIWA-specific file installation.
+       [[model]]
+           [[[directives]]]  # Override the serial job_type setting.
+               job_type = parallel
+       [[upload_niwa]]  # NIWA-specific product upload.
+
+and finally, an optional app config file for the local model domain:
+
+.. code-block:: bash
+
+   app/model/rose-app.conf  # Main app config.
+   app/model/opt/rose-app-niwa.conf  # NIWA site settings.
+
+Some points to note:
+
+- It is straightforward to extend support to a new site by copying an
+  existing site file(s) and adapting it to the new job host and batch
+  scheduler etc.
+- Batch system directives should be considered site-specific unless
+  all supported sites have the same batch system and the same host
+  architecture (including CPU clock speed and memory size etc.).
+- We've assumed that all tasks run on a single HPC host at both
+  sites. If that's not a valid assumption the ``HPC`` family
+  inheritance relationships would have to become site-specific.
+- Core task runtime configuration aren't needed in site files at all
+  if their job host and batch system settings can be defined in common
+  families that are (``HPC`` in this case).
+
+
+.. _Collaborative Development Model:
+
+Collaborative Development Model
+-------------------------------
+
+Official releases of a portable workflow should be made from the workflow trunk.
+
+Changes should be developed on feature branches so as not to affect other users
+of the workflow.
+
+Site-specific changes shouldn't touch the core :cylc:conf:`flow.cylc` file,
+just the relevant site include-file, and therefore should not need close
+scrutiny from other sites.
+
+Changes to the core :cylc:conf:`flow.cylc` file should be agreed by all
+stakeholders, and should be carefully checked for effects on site
+include-files:
+
+- Changing the name of tasks or families in the core workflow may break
+  sites that add configuration to the original runtime namespace.
+- Adding new tasks or families to the core workflow may require
+  corresponding additions to the site files.
+- Deleting tasks or families from the core workflow may require
+  corresponding parts of the site files to be removed. And also, check for
+  site-specific triggering off of deleted tasks or families.
+
+However, if the owner site has to get some changes into the trunk before all
+collaborating sites have time to test them, version control will of course
+protect those lagging behind from any immediate ill effects.
+
+When a new feature is complete and tested at the developer's site, the workflow
+owner should check out the branch, review and test it, and if necessary request
+that other sites do the same and report back. The owner can then merge the
+new feature to the trunk once satisfied.
+
+All planning and discussion associated with the change should be documented on
+MOSRS Trac tickets associated with the workflow.
+
+
+Research-To-Operations Transition
+---------------------------------
+
+Under this collaborative development model it is *possible* to use the
+same workflow in research and operations, largely eliminating the difficult
+translation between the two environments. Where appropriate, this can save
+a lot of work.
+
+Operations-specific parts of the workflow should be factored out (as for site
+portability) into include-files that are only loaded in the operational
+environment. Improvements and upgrades can be developed on feature branches in
+the research environment. Operations staff can check out completed feature
+branches for testing in the operational environment before merging to trunk or
+referring back to research if problems are found. After sufficient testing the
+new workflow version can be deployed into operations.
+
+.. note::
+
+   This obviously glosses over the myriad complexities of the technical
+   and scientific testing and validation of workflow upgrades; it merely describes
+   what is possible from a workflow design and collaborative development
+   perspective.
diff --git a/nightly_8.3/html/_sources/workflow-design-guide/style-guide.rst.txt b/nightly_8.3/html/_sources/workflow-design-guide/style-guide.rst.txt
new file mode 100644
index 00000000000..e65f9d99d18
--- /dev/null
+++ b/nightly_8.3/html/_sources/workflow-design-guide/style-guide.rst.txt
@@ -0,0 +1,309 @@
+Style Guidelines
+================
+
+Coding style is largely subjective, but for collaborative development of
+complex systems it is important to settle on a clear and consistent style to
+avoid getting into a mess. The following style rules are recommended.
+
+.. seealso::
+
+   :ref:`cylc lint -r style <cylc_lint_script>` is a tool designed to help
+   you check your code style.
+
+Tab Characters
+--------------
+
+Do not use tab characters. Tab width depends on editor settings, so a mixture
+of tabs and spaces in the same file can render to a mess.
+
+Use ``grep -InPr "\t" *`` to find tabs recursively in files in
+a directory.
+
+In *vim* use ``%retab`` to convert existing tabs to spaces,
+and set ``expandtab`` to automatically convert new tabs.
+
+In *emacs* use *whitespace-cleanup*.
+
+In *gedit*, use the *Draw Spaces* plugin to display tabs and spaces.
+
+
+Trailing Whitespace
+-------------------
+
+Trailing whitespace is untidy, it makes quick reformatting of paragraphs
+difficult, and it can result in hard-to-find bugs (space after intended
+line continuation markers).
+
+To remove existing trailing whitespace in a file use a ``sed`` or
+``perl`` one-liner:
+
+.. code-block:: console
+
+   $ perl -pi -e "s/ +$//g" /path/to/file
+   # or:
+   $ sed --in-place 's/[[:space:]]\+$//' path/to/file
+
+Or do a similar search-and-replace operation in your editor. Editors like
+*vim* and *emacs* can also be configured to highlight or automatically
+remove trailing whitespace on the fly.
+
+
+Indentation
+-----------
+
+Consistent indentation makes a workflow definition more readable, it shows section
+nesting clearly, and it makes block re-indentation operations easier in text
+editors. Indent :cylc:conf:`flow.cylc` syntax four spaces per nesting level:
+
+
+Settings (Config Items)
+^^^^^^^^^^^^^^^^^^^^^^^
+
+.. code-block:: cylc
+
+   [SECTION]
+       # A comment.
+       title = the quick brown fox
+       [[SUBSECTION]]
+           # Another comment.
+           a short item = value1
+           a very very long item = value2
+
+Don't align ``item = value`` pairs on the ``=`` character
+like this:
+
+.. code-block:: cylc
+
+   [SECTION]  # Avoid this.
+                a short item = value1
+       a very very long item = value2
+
+or like this:
+
+.. code-block:: cylc
+
+   [SECTION]  # Avoid this.
+       a short item          = value1
+       a very very long item = value2
+
+because the whole block may need re-indenting after a single change, which will
+pollute your revision history with spurious changes.
+
+Comments should be indented to the same level as the section or item they refer
+to, and trailing comments should be preceded by two spaces, as shown above.
+
+
+Script String Lines
+^^^^^^^^^^^^^^^^^^^
+
+Script strings are written verbatim to :term:`job scripts <job script>`.
+
+.. code-block:: cylc
+
+   [runtime]
+       [[foo]]
+           script = echo "Hello, Mr. Thompson"
+
+If using a triple-quoted string, any common leading whitespace is trimmed
+using the logic of :py:func:`textwrap.dedent`. As such, it is recommended to
+indent like any other triple-quoted string setting in Cylc:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[foo]]
+           # Recommended.
+           script = """
+               if [[ "$RESULT" == "bad" ]]; then
+                   echo "Goodbye World!"
+                   exit 1
+               fi
+           """
+
+The example above would result in the following being written to the job
+script:
+
+.. code-block:: bash
+
+   if [[ "$RESULT" == "bad" ]]; then
+       echo "Goodbye World!"
+       exit 1
+   fi
+
+.. tip::
+
+   Take care when indenting here documents (aka heredocs) to match the
+   common leading whitespace.
+
+   For the following example, each line in ``log.txt`` would end up with
+   4 leading white spaces:
+
+   .. code-block:: cylc
+
+      [runtime]
+          [[foo]]
+           script = """
+               cat >> log.txt <<_EOF_
+                   The quick brown fox jumped
+                   over the lazy dog.
+               _EOF_
+           """
+
+   The following will give you lines with no white spaces:
+
+   .. code-block:: cylc
+
+      [runtime]
+          [[foo]]
+           script = """
+               cat >> log.txt <<_EOF_
+               The quick brown fox jumped
+               over the lazy dog.
+               _EOF_
+           """
+
+Graph String Lines
+^^^^^^^^^^^^^^^^^^
+
+Whitespace is ignored in graph string parsing so internal graph lines
+should be indented as if part of the :cylc:conf:`flow.cylc` syntax:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           R1 = """
+               # Main workflow:
+               FAMILY:succeed-all => bar & baz => qux
+
+               # Housekeeping:
+               qux => rose_arch => rose_prune
+           """
+
+
+Jinja2 Code
+^^^^^^^^^^^
+
+A :cylc:conf:`flow.cylc` file with embedded Jinja2 code is essentially a Jinja2 program to
+generate a Cylc workflow definition. It is not possible to consistently indent the
+Jinja2 as if it were part of the :cylc:conf:`flow.cylc` syntax (which to the Jinja2 processor
+is just arbitrary text), so it should be indented from the left margin on
+its own terms:
+
+.. code-block:: cylc
+
+   [runtime]
+       [[OPS]]
+   {% for T in OPS_TASKS %}
+       {% for M in range(M_MAX) %}
+       [[ops_{{T}}_{{M}}]]
+           inherit = OPS
+       {% endfor %}
+   {% endfor %}
+
+
+Comments
+--------
+
+Comments should be minimal, but not too minimal. If context and clear
+task and variable names will do, leave it at that. Extremely verbose comments
+tend to get out of sync with the code they describe, which can be worse
+than having no comments.
+
+Avoid long lists of numbered comments - future changes may require mass
+renumbering.
+
+Avoid page-width "section divider" comments, especially if they are not
+strictly limited to the standard line length (see :ref:`Line Length`).
+
+Indent comments to the same level as the config items they describe.
+
+
+Titles, Descriptions, And URLs
+------------------------------
+
+Document the workflow and its tasks with ``title``,
+``description``, and ``url`` items instead of comments.
+See the :cylc:conf:`flow.cylc[meta]` and
+:cylc:conf:`flow.cylc[runtime][<namespace>][meta]` sections.
+
+
+.. _Line Length:
+
+Line Length And Continuation
+----------------------------
+
+Keep to the standard maximum line length of 79 characters where possible. Very
+long lines affect readability and make side-by-side diffs hard to view.
+
+Backslash line continuation markers can be used anywhere in the :cylc:conf:`flow.cylc` file
+but should be avoided if possible because they are easily broken by invisible
+trailing whitespace.
+
+Continuation markers are not needed in graph strings where trailing
+trigger arrows and boolean operators imply line continuation:
+
+.. code-block:: cylc
+
+   [scheduling]
+       [[graph]]
+           # No line continuation marker is needed here.
+           R1 = """
+               prep => one => two => three =>
+               four => five six => seven => eight &
+               nine & ten =>
+               eleven |
+               twelve
+           """
+   [runtime]
+       [[MY_TASKS]]
+       # A line continuation marker *is* needed here:
+       [[one, two, three, four, five, six, seven, eight, nine, ten, \
+         eleven, twelve, thirteen]]
+           inherit = MY_TASKS
+
+
+Task Naming Conventions
+-----------------------
+
+Use ``UPPERCASE`` for family names and ``lowercase``
+for tasks, so you can distinguish them at a glance.
+
+Choose a convention for multi-component names and use it consistently. Put the
+most general name components first for natural grouping, e.g.
+``obs_sonde``, ``obs_radar`` (not ``sonde_obs`` etc.)
+
+Within your convention keep names as short as possible.
+
+
+UM System Task Names
+^^^^^^^^^^^^^^^^^^^^
+
+For UM System workflows we recommend the following full task naming convention:
+
+.. code-block:: none
+
+   model_system_function[_member]
+
+For example, ``glu_ops_process_scatwind`` where ``glu`` refers
+to the global (deterministic model) update run, ``ops`` is the system
+that owns the task, and ``process_scatwind`` is the function it
+performs. The optional ``member`` suffix is intended for use with
+ensembles as needed.
+
+Within this convention keep names as short as possible, e.g. use
+``fcst`` instead of ``forecast``.
+
+UM forecast apps should be given names that reflect their general science
+configuration rather than geographic domain, to allow use on other model
+domains without causing confusion.
+
+
+Rose Config Files
+-----------------
+
+Use ``rose config-dump`` to load and re-save new ``rose.conf`` files. This
+puts the files in a standard format (ordering of lines etc.) to ensure that
+spurious changes aren't generated when you next use ``rose edit``.
+
+See also :ref:`Optional App Config Files` on optional app config files.
diff --git a/nightly_8.3/html/_static/_sphinx_javascript_frameworks_compat.js b/nightly_8.3/html/_static/_sphinx_javascript_frameworks_compat.js
new file mode 100644
index 00000000000..81415803ec2
--- /dev/null
+++ b/nightly_8.3/html/_static/_sphinx_javascript_frameworks_compat.js
@@ -0,0 +1,123 @@
+/* Compatability shim for jQuery and underscores.js.
+ *
+ * Copyright Sphinx contributors
+ * Released under the two clause BSD licence
+ */
+
+/**
+ * small helper function to urldecode strings
+ *
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
+ */
+jQuery.urldecode = function(x) {
+    if (!x) {
+        return x
+    }
+    return decodeURIComponent(x.replace(/\+/g, ' '));
+};
+
+/**
+ * small helper function to urlencode strings
+ */
+jQuery.urlencode = encodeURIComponent;
+
+/**
+ * This function returns the parsed url parameters of the
+ * current request. Multiple values per key are supported,
+ * it will always return arrays of strings for the value parts.
+ */
+jQuery.getQueryParameters = function(s) {
+    if (typeof s === 'undefined')
+        s = document.location.search;
+    var parts = s.substr(s.indexOf('?') + 1).split('&');
+    var result = {};
+    for (var i = 0; i < parts.length; i++) {
+        var tmp = parts[i].split('=', 2);
+        var key = jQuery.urldecode(tmp[0]);
+        var value = jQuery.urldecode(tmp[1]);
+        if (key in result)
+            result[key].push(value);
+        else
+            result[key] = [value];
+    }
+    return result;
+};
+
+/**
+ * highlight a given string on a jquery object by wrapping it in
+ * span elements with the given class name.
+ */
+jQuery.fn.highlightText = function(text, className) {
+    function highlight(node, addItems) {
+        if (node.nodeType === 3) {
+            var val = node.nodeValue;
+            var pos = val.toLowerCase().indexOf(text);
+            if (pos >= 0 &&
+                !jQuery(node.parentNode).hasClass(className) &&
+                !jQuery(node.parentNode).hasClass("nohighlight")) {
+                var span;
+                var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
+                if (isInSVG) {
+                    span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+                } else {
+                    span = document.createElement("span");
+                    span.className = className;
+                }
+                span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+                node.parentNode.insertBefore(span, node.parentNode.insertBefore(
+                    document.createTextNode(val.substr(pos + text.length)),
+                    node.nextSibling));
+                node.nodeValue = val.substr(0, pos);
+                if (isInSVG) {
+                    var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
+                    var bbox = node.parentElement.getBBox();
+                    rect.x.baseVal.value = bbox.x;
+                    rect.y.baseVal.value = bbox.y;
+                    rect.width.baseVal.value = bbox.width;
+                    rect.height.baseVal.value = bbox.height;
+                    rect.setAttribute('class', className);
+                    addItems.push({
+                        "parent": node.parentNode,
+                        "target": rect});
+                }
+            }
+        }
+        else if (!jQuery(node).is("button, select, textarea")) {
+            jQuery.each(node.childNodes, function() {
+                highlight(this, addItems);
+            });
+        }
+    }
+    var addItems = [];
+    var result = this.each(function() {
+        highlight(this, addItems);
+    });
+    for (var i = 0; i < addItems.length; ++i) {
+        jQuery(addItems[i].parent).before(addItems[i].target);
+    }
+    return result;
+};
+
+/*
+ * backward compatibility for jQuery.browser
+ * This will be supported until firefox bug is fixed.
+ */
+if (!jQuery.browser) {
+    jQuery.uaMatch = function(ua) {
+        ua = ua.toLowerCase();
+
+        var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
+            /(webkit)[ \/]([\w.]+)/.exec(ua) ||
+            /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
+            /(msie) ([\w.]+)/.exec(ua) ||
+            ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
+            [];
+
+        return {
+            browser: match[ 1 ] || "",
+            version: match[ 2 ] || "0"
+        };
+    };
+    jQuery.browser = {};
+    jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
+}
diff --git a/nightly_8.3/html/_static/basic.css b/nightly_8.3/html/_static/basic.css
new file mode 100644
index 00000000000..30fee9d0f76
--- /dev/null
+++ b/nightly_8.3/html/_static/basic.css
@@ -0,0 +1,925 @@
+/*
+ * basic.css
+ * ~~~~~~~~~
+ *
+ * Sphinx stylesheet -- basic theme.
+ *
+ * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+/* -- main layout ----------------------------------------------------------- */
+
+div.clearer {
+    clear: both;
+}
+
+div.section::after {
+    display: block;
+    content: '';
+    clear: left;
+}
+
+/* -- relbar ---------------------------------------------------------------- */
+
+div.related {
+    width: 100%;
+    font-size: 90%;
+}
+
+div.related h3 {
+    display: none;
+}
+
+div.related ul {
+    margin: 0;
+    padding: 0 0 0 10px;
+    list-style: none;
+}
+
+div.related li {
+    display: inline;
+}
+
+div.related li.right {
+    float: right;
+    margin-right: 5px;
+}
+
+/* -- sidebar --------------------------------------------------------------- */
+
+div.sphinxsidebarwrapper {
+    padding: 10px 5px 0 10px;
+}
+
+div.sphinxsidebar {
+    float: left;
+    width: 230px;
+    margin-left: -100%;
+    font-size: 90%;
+    word-wrap: break-word;
+    overflow-wrap : break-word;
+}
+
+div.sphinxsidebar ul {
+    list-style: none;
+}
+
+div.sphinxsidebar ul ul,
+div.sphinxsidebar ul.want-points {
+    margin-left: 20px;
+    list-style: square;
+}
+
+div.sphinxsidebar ul ul {
+    margin-top: 0;
+    margin-bottom: 0;
+}
+
+div.sphinxsidebar form {
+    margin-top: 10px;
+}
+
+div.sphinxsidebar input {
+    border: 1px solid #98dbcc;
+    font-family: sans-serif;
+    font-size: 1em;
+}
+
+div.sphinxsidebar #searchbox form.search {
+    overflow: hidden;
+}
+
+div.sphinxsidebar #searchbox input[type="text"] {
+    float: left;
+    width: 80%;
+    padding: 0.25em;
+    box-sizing: border-box;
+}
+
+div.sphinxsidebar #searchbox input[type="submit"] {
+    float: left;
+    width: 20%;
+    border-left: none;
+    padding: 0.25em;
+    box-sizing: border-box;
+}
+
+
+img {
+    border: 0;
+    max-width: 100%;
+}
+
+/* -- search page ----------------------------------------------------------- */
+
+ul.search {
+    margin: 10px 0 0 20px;
+    padding: 0;
+}
+
+ul.search li {
+    padding: 5px 0 5px 20px;
+    background-image: url(file.png);
+    background-repeat: no-repeat;
+    background-position: 0 7px;
+}
+
+ul.search li a {
+    font-weight: bold;
+}
+
+ul.search li p.context {
+    color: #888;
+    margin: 2px 0 0 30px;
+    text-align: left;
+}
+
+ul.keywordmatches li.goodmatch a {
+    font-weight: bold;
+}
+
+/* -- index page ------------------------------------------------------------ */
+
+table.contentstable {
+    width: 90%;
+    margin-left: auto;
+    margin-right: auto;
+}
+
+table.contentstable p.biglink {
+    line-height: 150%;
+}
+
+a.biglink {
+    font-size: 1.3em;
+}
+
+span.linkdescr {
+    font-style: italic;
+    padding-top: 5px;
+    font-size: 90%;
+}
+
+/* -- general index --------------------------------------------------------- */
+
+table.indextable {
+    width: 100%;
+}
+
+table.indextable td {
+    text-align: left;
+    vertical-align: top;
+}
+
+table.indextable ul {
+    margin-top: 0;
+    margin-bottom: 0;
+    list-style-type: none;
+}
+
+table.indextable > tbody > tr > td > ul {
+    padding-left: 0em;
+}
+
+table.indextable tr.pcap {
+    height: 10px;
+}
+
+table.indextable tr.cap {
+    margin-top: 10px;
+    background-color: #f2f2f2;
+}
+
+img.toggler {
+    margin-right: 3px;
+    margin-top: 3px;
+    cursor: pointer;
+}
+
+div.modindex-jumpbox {
+    border-top: 1px solid #ddd;
+    border-bottom: 1px solid #ddd;
+    margin: 1em 0 1em 0;
+    padding: 0.4em;
+}
+
+div.genindex-jumpbox {
+    border-top: 1px solid #ddd;
+    border-bottom: 1px solid #ddd;
+    margin: 1em 0 1em 0;
+    padding: 0.4em;
+}
+
+/* -- domain module index --------------------------------------------------- */
+
+table.modindextable td {
+    padding: 2px;
+    border-collapse: collapse;
+}
+
+/* -- general body styles --------------------------------------------------- */
+
+div.body {
+    min-width: 360px;
+    max-width: 800px;
+}
+
+div.body p, div.body dd, div.body li, div.body blockquote {
+    -moz-hyphens: auto;
+    -ms-hyphens: auto;
+    -webkit-hyphens: auto;
+    hyphens: auto;
+}
+
+a.headerlink {
+    visibility: hidden;
+}
+
+a:visited {
+    color: #551A8B;
+}
+
+h1:hover > a.headerlink,
+h2:hover > a.headerlink,
+h3:hover > a.headerlink,
+h4:hover > a.headerlink,
+h5:hover > a.headerlink,
+h6:hover > a.headerlink,
+dt:hover > a.headerlink,
+caption:hover > a.headerlink,
+p.caption:hover > a.headerlink,
+div.code-block-caption:hover > a.headerlink {
+    visibility: visible;
+}
+
+div.body p.caption {
+    text-align: inherit;
+}
+
+div.body td {
+    text-align: left;
+}
+
+.first {
+    margin-top: 0 !important;
+}
+
+p.rubric {
+    margin-top: 30px;
+    font-weight: bold;
+}
+
+img.align-left, figure.align-left, .figure.align-left, object.align-left {
+    clear: left;
+    float: left;
+    margin-right: 1em;
+}
+
+img.align-right, figure.align-right, .figure.align-right, object.align-right {
+    clear: right;
+    float: right;
+    margin-left: 1em;
+}
+
+img.align-center, figure.align-center, .figure.align-center, object.align-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+img.align-default, figure.align-default, .figure.align-default {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.align-left {
+    text-align: left;
+}
+
+.align-center {
+    text-align: center;
+}
+
+.align-default {
+    text-align: center;
+}
+
+.align-right {
+    text-align: right;
+}
+
+/* -- sidebars -------------------------------------------------------------- */
+
+div.sidebar,
+aside.sidebar {
+    margin: 0 0 0.5em 1em;
+    border: 1px solid #ddb;
+    padding: 7px;
+    background-color: #ffe;
+    width: 40%;
+    float: right;
+    clear: right;
+    overflow-x: auto;
+}
+
+p.sidebar-title {
+    font-weight: bold;
+}
+
+nav.contents,
+aside.topic,
+div.admonition, div.topic, blockquote {
+    clear: left;
+}
+
+/* -- topics ---------------------------------------------------------------- */
+
+nav.contents,
+aside.topic,
+div.topic {
+    border: 1px solid #ccc;
+    padding: 7px;
+    margin: 10px 0 10px 0;
+}
+
+p.topic-title {
+    font-size: 1.1em;
+    font-weight: bold;
+    margin-top: 10px;
+}
+
+/* -- admonitions ----------------------------------------------------------- */
+
+div.admonition {
+    margin-top: 10px;
+    margin-bottom: 10px;
+    padding: 7px;
+}
+
+div.admonition dt {
+    font-weight: bold;
+}
+
+p.admonition-title {
+    margin: 0px 10px 5px 0px;
+    font-weight: bold;
+}
+
+div.body p.centered {
+    text-align: center;
+    margin-top: 25px;
+}
+
+/* -- content of sidebars/topics/admonitions -------------------------------- */
+
+div.sidebar > :last-child,
+aside.sidebar > :last-child,
+nav.contents > :last-child,
+aside.topic > :last-child,
+div.topic > :last-child,
+div.admonition > :last-child {
+    margin-bottom: 0;
+}
+
+div.sidebar::after,
+aside.sidebar::after,
+nav.contents::after,
+aside.topic::after,
+div.topic::after,
+div.admonition::after,
+blockquote::after {
+    display: block;
+    content: '';
+    clear: both;
+}
+
+/* -- tables ---------------------------------------------------------------- */
+
+table.docutils {
+    margin-top: 10px;
+    margin-bottom: 10px;
+    border: 0;
+    border-collapse: collapse;
+}
+
+table.align-center {
+    margin-left: auto;
+    margin-right: auto;
+}
+
+table.align-default {
+    margin-left: auto;
+    margin-right: auto;
+}
+
+table caption span.caption-number {
+    font-style: italic;
+}
+
+table caption span.caption-text {
+}
+
+table.docutils td, table.docutils th {
+    padding: 1px 8px 1px 5px;
+    border-top: 0;
+    border-left: 0;
+    border-right: 0;
+    border-bottom: 1px solid #aaa;
+}
+
+th {
+    text-align: left;
+    padding-right: 5px;
+}
+
+table.citation {
+    border-left: solid 1px gray;
+    margin-left: 1px;
+}
+
+table.citation td {
+    border-bottom: none;
+}
+
+th > :first-child,
+td > :first-child {
+    margin-top: 0px;
+}
+
+th > :last-child,
+td > :last-child {
+    margin-bottom: 0px;
+}
+
+/* -- figures --------------------------------------------------------------- */
+
+div.figure, figure {
+    margin: 0.5em;
+    padding: 0.5em;
+}
+
+div.figure p.caption, figcaption {
+    padding: 0.3em;
+}
+
+div.figure p.caption span.caption-number,
+figcaption span.caption-number {
+    font-style: italic;
+}
+
+div.figure p.caption span.caption-text,
+figcaption span.caption-text {
+}
+
+/* -- field list styles ----------------------------------------------------- */
+
+table.field-list td, table.field-list th {
+    border: 0 !important;
+}
+
+.field-list ul {
+    margin: 0;
+    padding-left: 1em;
+}
+
+.field-list p {
+    margin: 0;
+}
+
+.field-name {
+    -moz-hyphens: manual;
+    -ms-hyphens: manual;
+    -webkit-hyphens: manual;
+    hyphens: manual;
+}
+
+/* -- hlist styles ---------------------------------------------------------- */
+
+table.hlist {
+    margin: 1em 0;
+}
+
+table.hlist td {
+    vertical-align: top;
+}
+
+/* -- object description styles --------------------------------------------- */
+
+.sig {
+	font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
+}
+
+.sig-name, code.descname {
+    background-color: transparent;
+    font-weight: bold;
+}
+
+.sig-name {
+	font-size: 1.1em;
+}
+
+code.descname {
+    font-size: 1.2em;
+}
+
+.sig-prename, code.descclassname {
+    background-color: transparent;
+}
+
+.optional {
+    font-size: 1.3em;
+}
+
+.sig-paren {
+    font-size: larger;
+}
+
+.sig-param.n {
+	font-style: italic;
+}
+
+/* C++ specific styling */
+
+.sig-inline.c-texpr,
+.sig-inline.cpp-texpr {
+	font-family: unset;
+}
+
+.sig.c   .k, .sig.c   .kt,
+.sig.cpp .k, .sig.cpp .kt {
+	color: #0033B3;
+}
+
+.sig.c   .m,
+.sig.cpp .m {
+	color: #1750EB;
+}
+
+.sig.c   .s, .sig.c   .sc,
+.sig.cpp .s, .sig.cpp .sc {
+	color: #067D17;
+}
+
+
+/* -- other body styles ----------------------------------------------------- */
+
+ol.arabic {
+    list-style: decimal;
+}
+
+ol.loweralpha {
+    list-style: lower-alpha;
+}
+
+ol.upperalpha {
+    list-style: upper-alpha;
+}
+
+ol.lowerroman {
+    list-style: lower-roman;
+}
+
+ol.upperroman {
+    list-style: upper-roman;
+}
+
+:not(li) > ol > li:first-child > :first-child,
+:not(li) > ul > li:first-child > :first-child {
+    margin-top: 0px;
+}
+
+:not(li) > ol > li:last-child > :last-child,
+:not(li) > ul > li:last-child > :last-child {
+    margin-bottom: 0px;
+}
+
+ol.simple ol p,
+ol.simple ul p,
+ul.simple ol p,
+ul.simple ul p {
+    margin-top: 0;
+}
+
+ol.simple > li:not(:first-child) > p,
+ul.simple > li:not(:first-child) > p {
+    margin-top: 0;
+}
+
+ol.simple p,
+ul.simple p {
+    margin-bottom: 0;
+}
+
+aside.footnote > span,
+div.citation > span {
+    float: left;
+}
+aside.footnote > span:last-of-type,
+div.citation > span:last-of-type {
+  padding-right: 0.5em;
+}
+aside.footnote > p {
+  margin-left: 2em;
+}
+div.citation > p {
+  margin-left: 4em;
+}
+aside.footnote > p:last-of-type,
+div.citation > p:last-of-type {
+    margin-bottom: 0em;
+}
+aside.footnote > p:last-of-type:after,
+div.citation > p:last-of-type:after {
+    content: "";
+    clear: both;
+}
+
+dl.field-list {
+    display: grid;
+    grid-template-columns: fit-content(30%) auto;
+}
+
+dl.field-list > dt {
+    font-weight: bold;
+    word-break: break-word;
+    padding-left: 0.5em;
+    padding-right: 5px;
+}
+
+dl.field-list > dd {
+    padding-left: 0.5em;
+    margin-top: 0em;
+    margin-left: 0em;
+    margin-bottom: 0em;
+}
+
+dl {
+    margin-bottom: 15px;
+}
+
+dd > :first-child {
+    margin-top: 0px;
+}
+
+dd ul, dd table {
+    margin-bottom: 10px;
+}
+
+dd {
+    margin-top: 3px;
+    margin-bottom: 10px;
+    margin-left: 30px;
+}
+
+.sig dd {
+    margin-top: 0px;
+    margin-bottom: 0px;
+}
+
+.sig dl {
+    margin-top: 0px;
+    margin-bottom: 0px;
+}
+
+dl > dd:last-child,
+dl > dd:last-child > :last-child {
+    margin-bottom: 0;
+}
+
+dt:target, span.highlighted {
+    background-color: #fbe54e;
+}
+
+rect.highlighted {
+    fill: #fbe54e;
+}
+
+dl.glossary dt {
+    font-weight: bold;
+    font-size: 1.1em;
+}
+
+.versionmodified {
+    font-style: italic;
+}
+
+.system-message {
+    background-color: #fda;
+    padding: 5px;
+    border: 3px solid red;
+}
+
+.footnote:target  {
+    background-color: #ffa;
+}
+
+.line-block {
+    display: block;
+    margin-top: 1em;
+    margin-bottom: 1em;
+}
+
+.line-block .line-block {
+    margin-top: 0;
+    margin-bottom: 0;
+    margin-left: 1.5em;
+}
+
+.guilabel, .menuselection {
+    font-family: sans-serif;
+}
+
+.accelerator {
+    text-decoration: underline;
+}
+
+.classifier {
+    font-style: oblique;
+}
+
+.classifier:before {
+    font-style: normal;
+    margin: 0 0.5em;
+    content: ":";
+    display: inline-block;
+}
+
+abbr, acronym {
+    border-bottom: dotted 1px;
+    cursor: help;
+}
+
+.translated {
+    background-color: rgba(207, 255, 207, 0.2)
+}
+
+.untranslated {
+    background-color: rgba(255, 207, 207, 0.2)
+}
+
+/* -- code displays --------------------------------------------------------- */
+
+pre {
+    overflow: auto;
+    overflow-y: hidden;  /* fixes display issues on Chrome browsers */
+}
+
+pre, div[class*="highlight-"] {
+    clear: both;
+}
+
+span.pre {
+    -moz-hyphens: none;
+    -ms-hyphens: none;
+    -webkit-hyphens: none;
+    hyphens: none;
+    white-space: nowrap;
+}
+
+div[class*="highlight-"] {
+    margin: 1em 0;
+}
+
+td.linenos pre {
+    border: 0;
+    background-color: transparent;
+    color: #aaa;
+}
+
+table.highlighttable {
+    display: block;
+}
+
+table.highlighttable tbody {
+    display: block;
+}
+
+table.highlighttable tr {
+    display: flex;
+}
+
+table.highlighttable td {
+    margin: 0;
+    padding: 0;
+}
+
+table.highlighttable td.linenos {
+    padding-right: 0.5em;
+}
+
+table.highlighttable td.code {
+    flex: 1;
+    overflow: hidden;
+}
+
+.highlight .hll {
+    display: block;
+}
+
+div.highlight pre,
+table.highlighttable pre {
+    margin: 0;
+}
+
+div.code-block-caption + div {
+    margin-top: 0;
+}
+
+div.code-block-caption {
+    margin-top: 1em;
+    padding: 2px 5px;
+    font-size: small;
+}
+
+div.code-block-caption code {
+    background-color: transparent;
+}
+
+table.highlighttable td.linenos,
+span.linenos,
+div.highlight span.gp {  /* gp: Generic.Prompt */
+  user-select: none;
+  -webkit-user-select: text; /* Safari fallback only */
+  -webkit-user-select: none; /* Chrome/Safari */
+  -moz-user-select: none; /* Firefox */
+  -ms-user-select: none; /* IE10+ */
+}
+
+div.code-block-caption span.caption-number {
+    padding: 0.1em 0.3em;
+    font-style: italic;
+}
+
+div.code-block-caption span.caption-text {
+}
+
+div.literal-block-wrapper {
+    margin: 1em 0;
+}
+
+code.xref, a code {
+    background-color: transparent;
+    font-weight: bold;
+}
+
+h1 code, h2 code, h3 code, h4 code, h5 code, h6 code {
+    background-color: transparent;
+}
+
+.viewcode-link {
+    float: right;
+}
+
+.viewcode-back {
+    float: right;
+    font-family: sans-serif;
+}
+
+div.viewcode-block:target {
+    margin: -1px -10px;
+    padding: 0 10px;
+}
+
+/* -- math display ---------------------------------------------------------- */
+
+img.math {
+    vertical-align: middle;
+}
+
+div.body div.math p {
+    text-align: center;
+}
+
+span.eqno {
+    float: right;
+}
+
+span.eqno a.headerlink {
+    position: absolute;
+    z-index: 1;
+}
+
+div.math:hover a.headerlink {
+    visibility: visible;
+}
+
+/* -- printout stylesheet --------------------------------------------------- */
+
+@media print {
+    div.document,
+    div.documentwrapper,
+    div.bodywrapper {
+        margin: 0 !important;
+        width: 100%;
+    }
+
+    div.sphinxsidebar,
+    div.related,
+    div.footer,
+    #top-link {
+        display: none;
+    }
+}
\ No newline at end of file
diff --git a/nightly_8.3/html/_static/css/addons.css b/nightly_8.3/html/_static/css/addons.css
new file mode 100644
index 00000000000..dec298db63f
--- /dev/null
+++ b/nightly_8.3/html/_static/css/addons.css
@@ -0,0 +1,129 @@
+/* ----------------------------------------------------------------------------
+ * THIS FILE IS PART OF THE CYLC WORKFLOW ENGINE.
+ * Copyright (C) NIWA & British Crown (Met Office) & Contributors.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * ------------------------------------------------------------------------- */
+
+/* (1)
+ * Correct the behaviour of nested admonitions. Sometimes the admonition-header
+ * inherits its parents styling. */
+.rst-content .error .admonition-title, .rst-content .danger .admonition-title {
+    background: red
+}
+.rst-content .warning .admonition-title,
+.rst-content .caution .admonition-title,
+.rst-content .attention .admonition-title {
+    background: orange
+}
+
+
+/* (2)
+ * Enable theme handling of pilcrow symbols for code-block captions and
+ * admonitions. */
+.rst-content p.admonition-title .pull-left.headerlink,
+.rst-content div.code-block-caption .pull-left.headerlink {
+    margin-right:.3em
+}
+.rst-content p.admonition-title .pull-right.headerlink,
+.rst-content div.code-block-caption .pull-right.headerlink {
+    margin-left:.3em
+}
+.rst-content p.admonition-title .headerlink:before,
+.rst-content div.code-block-caption .headerlink:before {
+    font-family:"FontAwesome";
+    display:inline-block;
+    font-style:normal;
+    font-weight:normal;
+    line-height:1;
+    text-decoration:inherit;
+    font-size:14px;
+    vertical-align:-15%;
+    -webkit-font-smoothing:antialiased
+}
+.rst-content p.admonition-title .headerlink:after,
+.rst-content div.code-block-caption .headerlink:after {
+    visibility:visible;
+    content:"";
+    font-family:FontAwesome;
+    display:inline-block;
+    color:#2980B9
+}
+.rst-content p.admonition-title:hover .headerlink,
+.rst-content div.code-block-caption:hover .headerlink {
+    display:inline-block
+}
+.rst-content p.admonition-title .headerlink,
+.rst-content div.code-block-caption .headerlink {
+    font:normal normal normal 14px/1 FontAwesome;
+    text-rendering:auto;
+    -webkit-font-smoothing:antialiased;
+    -moz-osx-font-smoothing:grayscale;
+    display:none;
+    visibility:hidden;
+    color:#fcfcfc;
+    text-decoration:inherit
+}
+
+
+/* (3)
+ * Add warning symbol before deprecated items. */
+.deprecated p:before {
+    font-family:FontAwesome;
+    content:"\f071  ";
+    color: rgb(200, 90, 70);
+}
+.deprecated p {
+    font-weight: bold;
+}
+
+
+
+/* (4)
+ * Make version-modified more prominent. */
+span.versionmodified{
+    font-weight: bold;
+}
+
+
+/* (5)
+ * Restyle code-block captions. */
+.code-block-caption {
+    font-style: italic;
+    color: #808080;
+}
+.code-block-caption span {
+    font-size: 1.2em;
+}
+
+
+/* (6)
+ * Fix the lack of space underneath lists inside admonitions. */
+.rst-content div.admonition ul,
+.rst-content div.admonition ol > li {
+    padding-bottom: 0.5em;
+}
+
+
+/* (7)
+ * Improve sidebar scrolling */
+.wy-nav-size {
+    overflow-x: hidden!important;
+    overflow-y: hidden!important;
+}
+
+/* Remove awkward margin for config reference "Path", "Type" etc. */
+.rst-content .cylc.conf .field-list {
+    margin-bottom: 0;
+}
diff --git a/nightly_8.3/html/_static/css/badge_only.css b/nightly_8.3/html/_static/css/badge_only.css
new file mode 100644
index 00000000000..c718cee4418
--- /dev/null
+++ b/nightly_8.3/html/_static/css/badge_only.css
@@ -0,0 +1 @@
+.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}
\ No newline at end of file
diff --git a/nightly_8.3/html/_static/css/custom.css b/nightly_8.3/html/_static/css/custom.css
new file mode 100644
index 00000000000..0610b4714fb
--- /dev/null
+++ b/nightly_8.3/html/_static/css/custom.css
@@ -0,0 +1,21 @@
+/* ----------------------------------------------------------------------------
+ * Copyright (C) NIWA & British Crown (Met Office) & Contributors.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * ------------------------------------------------------------------------- */
+
+/* Fix zero height auto size of svg */
+.logo {
+  height: 7em !important;
+}
diff --git a/nightly_8.3/html/_static/css/diff_selector.css b/nightly_8.3/html/_static/css/diff_selector.css
new file mode 100644
index 00000000000..38cd2807a03
--- /dev/null
+++ b/nightly_8.3/html/_static/css/diff_selector.css
@@ -0,0 +1,36 @@
+/* ----------------------------------------------------------------------------
+ * THIS FILE IS PART OF THE CYLC WORKFLOW ENGINE.
+ * Copyright (C) NIWA & British Crown (Met Office) & Contributors.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * ------------------------------------------------------------------------- */
+
+/* Block an element from being included in text selections. */
+.noselect {
+    -webkit-user-select: none;
+     -khtml-user-select: none;
+       -moz-user-select: none;
+        -ms-user-select: none;
+            user-select: none;
+}
+
+/* Extension to Pygments to insert the "added" and "unchanged" characters in
+ * a "diff" code block using CSS so that they aren't included when copied as
+ * text. */
+.highlight-diff .gi:before {
+    content: '+';
+}
+.highlight-diff .gn:before {
+    content: ' ';
+}
diff --git a/nightly_8.3/html/_static/css/fonts/Roboto-Slab-Bold.woff b/nightly_8.3/html/_static/css/fonts/Roboto-Slab-Bold.woff
new file mode 100644
index 00000000000..6cb60000181
Binary files /dev/null and b/nightly_8.3/html/_static/css/fonts/Roboto-Slab-Bold.woff differ
diff --git a/nightly_8.3/html/_static/css/fonts/Roboto-Slab-Bold.woff2 b/nightly_8.3/html/_static/css/fonts/Roboto-Slab-Bold.woff2
new file mode 100644
index 00000000000..7059e23142a
Binary files /dev/null and b/nightly_8.3/html/_static/css/fonts/Roboto-Slab-Bold.woff2 differ
diff --git a/nightly_8.3/html/_static/css/fonts/Roboto-Slab-Regular.woff b/nightly_8.3/html/_static/css/fonts/Roboto-Slab-Regular.woff
new file mode 100644
index 00000000000..f815f63f99d
Binary files /dev/null and b/nightly_8.3/html/_static/css/fonts/Roboto-Slab-Regular.woff differ
diff --git a/nightly_8.3/html/_static/css/fonts/Roboto-Slab-Regular.woff2 b/nightly_8.3/html/_static/css/fonts/Roboto-Slab-Regular.woff2
new file mode 100644
index 00000000000..f2c76e5bda1
Binary files /dev/null and b/nightly_8.3/html/_static/css/fonts/Roboto-Slab-Regular.woff2 differ
diff --git a/nightly_8.3/html/_static/css/fonts/fontawesome-webfont.eot b/nightly_8.3/html/_static/css/fonts/fontawesome-webfont.eot
new file mode 100644
index 00000000000..e9f60ca953f
Binary files /dev/null and b/nightly_8.3/html/_static/css/fonts/fontawesome-webfont.eot differ
diff --git a/nightly_8.3/html/_static/css/fonts/fontawesome-webfont.svg b/nightly_8.3/html/_static/css/fonts/fontawesome-webfont.svg
new file mode 100644
index 00000000000..855c845e538
--- /dev/null
+++ b/nightly_8.3/html/_static/css/fonts/fontawesome-webfont.svg
@@ -0,0 +1,2671 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg>
+<metadata>
+Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016
+ By ,,,
+Copyright Dave Gandy 2016. All rights reserved.
+</metadata>
+<defs>
+<font id="FontAwesome" horiz-adv-x="1536" >
+  <font-face 
+    font-family="FontAwesome"
+    font-weight="400"
+    font-stretch="normal"
+    units-per-em="1792"
+    panose-1="0 0 0 0 0 0 0 0 0 0"
+    ascent="1536"
+    descent="-256"
+    bbox="-1.02083 -256.962 2304.6 1537.02"
+    underline-thickness="0"
+    underline-position="0"
+    unicode-range="U+0020-F500"
+  />
+<missing-glyph horiz-adv-x="896" 
+d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
+    <glyph glyph-name=".notdef" horiz-adv-x="896" 
+d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" />
+    <glyph glyph-name=".null" horiz-adv-x="0" 
+ />
+    <glyph glyph-name="nonmarkingreturn" horiz-adv-x="597" 
+ />
+    <glyph glyph-name="space" unicode=" " horiz-adv-x="448" 
+ />
+    <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="notequal" unicode="&#x2260;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="glass" unicode="&#xf000;" horiz-adv-x="1792" 
+d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
+    <glyph glyph-name="music" unicode="&#xf001;" 
+d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89
+t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="search" unicode="&#xf002;" horiz-adv-x="1664" 
+d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5
+t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
+    <glyph glyph-name="envelope" unicode="&#xf003;" horiz-adv-x="1792" 
+d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13
+t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z
+M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="heart" unicode="&#xf004;" horiz-adv-x="1792" 
+d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600
+q-18 -18 -44 -18z" />
+    <glyph glyph-name="star" unicode="&#xf005;" horiz-adv-x="1664" 
+d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455
+l502 -73q56 -9 56 -46z" />
+    <glyph glyph-name="star_empty" unicode="&#xf006;" horiz-adv-x="1664" 
+d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500
+l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
+    <glyph glyph-name="user" unicode="&#xf007;" horiz-adv-x="1280" 
+d="M1280 137q0 -109 -62.5 -187t-150.5 -78h-854q-88 0 -150.5 78t-62.5 187q0 85 8.5 160.5t31.5 152t58.5 131t94 89t134.5 34.5q131 -128 313 -128t313 128q76 0 134.5 -34.5t94 -89t58.5 -131t31.5 -152t8.5 -160.5zM1024 1024q0 -159 -112.5 -271.5t-271.5 -112.5
+t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="film" unicode="&#xf008;" horiz-adv-x="1920" 
+d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128
+q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45
+t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128
+q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19
+t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="th_large" unicode="&#xf009;" horiz-adv-x="1664" 
+d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38
+h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="th" unicode="&#xf00a;" horiz-adv-x="1792" 
+d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
+h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192
+q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="th_list" unicode="&#xf00b;" horiz-adv-x="1792" 
+d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28
+h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="ok" unicode="&#xf00c;" horiz-adv-x="1792" 
+d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
+    <glyph glyph-name="remove" unicode="&#xf00d;" horiz-adv-x="1408" 
+d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68
+t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
+    <glyph glyph-name="zoom_in" unicode="&#xf00e;" horiz-adv-x="1664" 
+d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224
+q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5
+t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
+    <glyph glyph-name="zoom_out" unicode="&#xf010;" horiz-adv-x="1664" 
+d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z
+M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z
+" />
+    <glyph glyph-name="off" unicode="&#xf011;" 
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5
+t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
+    <glyph glyph-name="signal" unicode="&#xf012;" horiz-adv-x="1792" 
+d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
+v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="cog" unicode="&#xf013;" 
+d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38
+q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13
+l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22
+q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
+    <glyph glyph-name="trash" unicode="&#xf014;" horiz-adv-x="1408" 
+d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576
+q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832
+q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="home" unicode="&#xf015;" horiz-adv-x="1664" 
+d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5
+l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
+    <glyph glyph-name="file_alt" unicode="&#xf016;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+" />
+    <glyph glyph-name="time" unicode="&#xf017;" 
+d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="road" unicode="&#xf018;" horiz-adv-x="1920" 
+d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256
+q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
+    <glyph glyph-name="download_alt" unicode="&#xf019;" horiz-adv-x="1664" 
+d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136
+q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
+    <glyph glyph-name="download" unicode="&#xf01a;" 
+d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273
+t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="upload" unicode="&#xf01b;" 
+d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198
+t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="inbox" unicode="&#xf01c;" 
+d="M1023 576h316q-1 3 -2.5 8.5t-2.5 7.5l-212 496h-708l-212 -496q-1 -3 -2.5 -8.5t-2.5 -7.5h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552
+q25 -61 25 -123z" />
+    <glyph glyph-name="play_circle" unicode="&#xf01d;" 
+d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="repeat" unicode="&#xf01e;" 
+d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q15 0 25 -9
+l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
+    <glyph glyph-name="refresh" unicode="&#xf021;" 
+d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117
+q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5
+q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
+    <glyph glyph-name="list_alt" unicode="&#xf022;" horiz-adv-x="1792" 
+d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z
+M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5
+t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47
+t47 -113z" />
+    <glyph glyph-name="lock" unicode="&#xf023;" horiz-adv-x="1152" 
+d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="flag" unicode="&#xf024;" horiz-adv-x="1792" 
+d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48
+t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="headphones" unicode="&#xf025;" horiz-adv-x="1664" 
+d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78
+t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5
+t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
+    <glyph glyph-name="volume_off" unicode="&#xf026;" horiz-adv-x="768" 
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
+    <glyph glyph-name="volume_down" unicode="&#xf027;" horiz-adv-x="1152" 
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
+t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
+    <glyph glyph-name="volume_up" unicode="&#xf028;" horiz-adv-x="1664" 
+d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36
+t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5
+t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289
+t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
+    <glyph glyph-name="qrcode" unicode="&#xf029;" horiz-adv-x="1408" 
+d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z
+M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
+    <glyph glyph-name="barcode" unicode="&#xf02a;" horiz-adv-x="1792" 
+d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z
+M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
+    <glyph glyph-name="tag" unicode="&#xf02b;" 
+d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
+l715 -714q37 -39 37 -91z" />
+    <glyph glyph-name="tags" unicode="&#xf02c;" horiz-adv-x="1920" 
+d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5
+l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
+    <glyph glyph-name="book" unicode="&#xf02d;" horiz-adv-x="1664" 
+d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23
+q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906
+q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5
+t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
+    <glyph glyph-name="bookmark" unicode="&#xf02e;" horiz-adv-x="1280" 
+d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
+    <glyph glyph-name="print" unicode="&#xf02f;" horiz-adv-x="1664" 
+d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68
+v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
+    <glyph glyph-name="camera" unicode="&#xf030;" horiz-adv-x="1920" 
+d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136
+q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="font" unicode="&#xf031;" horiz-adv-x="1664" 
+d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57
+q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -5 -0.5 -13.5t-0.5 -12.5q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5
+q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" />
+    <glyph glyph-name="bold" unicode="&#xf032;" horiz-adv-x="1408" 
+d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142
+q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5
+t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68 -0.5t68 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5
+t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" />
+    <glyph glyph-name="italic" unicode="&#xf033;" horiz-adv-x="1024" 
+d="M0 -126l17 85q22 7 61.5 16.5t72 19t59.5 23.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5
+q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" />
+    <glyph glyph-name="text_height" unicode="&#xf034;" horiz-adv-x="1792" 
+d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2
+t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5
+q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
+q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" />
+    <glyph glyph-name="text_width" unicode="&#xf035;" 
+d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1
+t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27
+q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5
+t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49
+t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" />
+    <glyph glyph-name="align_left" unicode="&#xf036;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45
+t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="align_center" unicode="&#xf037;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19
+h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="align_right" unicode="&#xf038;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
+t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="align_justify" unicode="&#xf039;" horiz-adv-x="1792" 
+d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45
+t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="list" unicode="&#xf03a;" horiz-adv-x="1792" 
+d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5
+t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344
+q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
+t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192
+q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="indent_left" unicode="&#xf03b;" horiz-adv-x="1792" 
+d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
+t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
+q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="indent_right" unicode="&#xf03c;" horiz-adv-x="1792" 
+d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5
+t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088
+q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="facetime_video" unicode="&#xf03d;" horiz-adv-x="1792" 
+d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5
+q39 -17 39 -59z" />
+    <glyph glyph-name="picture" unicode="&#xf03e;" horiz-adv-x="1920" 
+d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216
+q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="pencil" unicode="&#xf040;" 
+d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38
+q53 0 91 -38l235 -234q37 -39 37 -91z" />
+    <glyph glyph-name="map_marker" unicode="&#xf041;" horiz-adv-x="1024" 
+d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
+    <glyph glyph-name="adjust" unicode="&#xf042;" 
+d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="tint" unicode="&#xf043;" horiz-adv-x="1024" 
+d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362
+q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
+    <glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="1792" 
+d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
+q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92
+l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
+    <glyph glyph-name="share" unicode="&#xf045;" horiz-adv-x="1664" 
+d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832
+q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5
+t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
+    <glyph glyph-name="check" unicode="&#xf046;" horiz-adv-x="1664" 
+d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832
+q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110
+q24 -24 24 -57t-24 -57z" />
+    <glyph glyph-name="move" unicode="&#xf047;" horiz-adv-x="1792" 
+d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45
+t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
+    <glyph glyph-name="step_backward" unicode="&#xf048;" horiz-adv-x="1024" 
+d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19z" />
+    <glyph glyph-name="fast_backward" unicode="&#xf049;" horiz-adv-x="1792" 
+d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19l710 710
+q19 19 32 13t13 -32v-710q4 10 13 19z" />
+    <glyph glyph-name="backward" unicode="&#xf04a;" horiz-adv-x="1664" 
+d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q4 10 13 19z" />
+    <glyph glyph-name="play" unicode="&#xf04b;" horiz-adv-x="1408" 
+d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
+    <glyph glyph-name="pause" unicode="&#xf04c;" 
+d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="stop" unicode="&#xf04d;" 
+d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="forward" unicode="&#xf04e;" horiz-adv-x="1664" 
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
+    <glyph glyph-name="fast_forward" unicode="&#xf050;" horiz-adv-x="1792" 
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19l-710 -710
+q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" />
+    <glyph glyph-name="step_forward" unicode="&#xf051;" horiz-adv-x="1024" 
+d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19z" />
+    <glyph glyph-name="eject" unicode="&#xf052;" horiz-adv-x="1538" 
+d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
+    <glyph glyph-name="chevron_left" unicode="&#xf053;" horiz-adv-x="1280" 
+d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" />
+    <glyph glyph-name="chevron_right" unicode="&#xf054;" horiz-adv-x="1280" 
+d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" />
+    <glyph glyph-name="plus_sign" unicode="&#xf055;" 
+d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5
+t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="minus_sign" unicode="&#xf056;" 
+d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
+t103 -385.5z" />
+    <glyph glyph-name="remove_sign" unicode="&#xf057;" 
+d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19
+q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ok_sign" unicode="&#xf058;" 
+d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="question_sign" unicode="&#xf059;" 
+d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59
+q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="info_sign" unicode="&#xf05a;" 
+d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23
+t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="screenshot" unicode="&#xf05b;" 
+d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109
+q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143
+q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="remove_circle" unicode="&#xf05c;" 
+d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
+l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5
+t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ok_circle" unicode="&#xf05d;" 
+d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198
+t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ban_circle" unicode="&#xf05e;" 
+d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61
+t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
+    <glyph glyph-name="arrow_left" unicode="&#xf060;" 
+d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5
+t32.5 -90.5z" />
+    <glyph glyph-name="arrow_right" unicode="&#xf061;" 
+d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
+    <glyph glyph-name="arrow_up" unicode="&#xf062;" horiz-adv-x="1664" 
+d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651
+q37 -39 37 -91z" />
+    <glyph glyph-name="arrow_down" unicode="&#xf063;" horiz-adv-x="1664" 
+d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
+    <glyph glyph-name="share_alt" unicode="&#xf064;" horiz-adv-x="1792" 
+d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22
+t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
+    <glyph glyph-name="resize_full" unicode="&#xf065;" 
+d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332
+q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="resize_small" unicode="&#xf066;" 
+d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45
+t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
+    <glyph glyph-name="plus" unicode="&#xf067;" horiz-adv-x="1408" 
+d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="minus" unicode="&#xf068;" horiz-adv-x="1408" 
+d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="asterisk" unicode="&#xf069;" horiz-adv-x="1664" 
+d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154
+q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
+    <glyph glyph-name="exclamation_sign" unicode="&#xf06a;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192
+q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
+    <glyph glyph-name="gift" unicode="&#xf06b;" 
+d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320
+q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5
+t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="leaf" unicode="&#xf06c;" horiz-adv-x="1792" 
+d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268
+q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-43 0 -63.5 17.5t-45.5 59.5q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5
+t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
+    <glyph glyph-name="fire" unicode="&#xf06d;" horiz-adv-x="1408" 
+d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1
+q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
+    <glyph glyph-name="eye_open" unicode="&#xf06e;" horiz-adv-x="1792" 
+d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5
+t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
+    <glyph glyph-name="eye_close" unicode="&#xf070;" horiz-adv-x="1792" 
+d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9
+q-106 -189 -316 -567t-315 -566l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5
+q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z
+" />
+    <glyph glyph-name="warning_sign" unicode="&#xf071;" horiz-adv-x="1792" 
+d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185
+q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
+    <glyph glyph-name="plane" unicode="&#xf072;" horiz-adv-x="1408" 
+d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9
+q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
+    <glyph glyph-name="calendar" unicode="&#xf073;" horiz-adv-x="1664" 
+d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z
+M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64
+q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47
+h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="random" unicode="&#xf074;" horiz-adv-x="1792" 
+d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1
+t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5
+v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111
+t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
+    <glyph glyph-name="comment" unicode="&#xf075;" horiz-adv-x="1792" 
+d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281
+q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
+    <glyph glyph-name="magnet" unicode="&#xf076;" 
+d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384
+q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="chevron_up" unicode="&#xf077;" horiz-adv-x="1792" 
+d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" />
+    <glyph glyph-name="chevron_down" unicode="&#xf078;" horiz-adv-x="1792" 
+d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" />
+    <glyph glyph-name="retweet" unicode="&#xf079;" horiz-adv-x="1920" 
+d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -10 7 -21
+zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z
+" />
+    <glyph glyph-name="shopping_cart" unicode="&#xf07a;" horiz-adv-x="1664" 
+d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45
+t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="folder_close" unicode="&#xf07b;" horiz-adv-x="1664" 
+d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="folder_open" unicode="&#xf07c;" horiz-adv-x="1920" 
+d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5
+t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="resize_vertical" unicode="&#xf07d;" horiz-adv-x="768" 
+d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
+    <glyph glyph-name="resize_horizontal" unicode="&#xf07e;" horiz-adv-x="1792" 
+d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
+    <glyph glyph-name="bar_chart" unicode="&#xf080;" horiz-adv-x="2048" 
+d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />
+    <glyph glyph-name="twitter_sign" unicode="&#xf081;" 
+d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4
+q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5
+t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="facebook_sign" unicode="&#xf082;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960
+q0 119 84.5 203.5t203.5 84.5h960z" />
+    <glyph glyph-name="camera_retro" unicode="&#xf083;" horiz-adv-x="1792" 
+d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5
+t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280
+q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="key" unicode="&#xf084;" horiz-adv-x="1792" 
+d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26
+l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5
+t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
+    <glyph glyph-name="cogs" unicode="&#xf085;" horiz-adv-x="1920" 
+d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -11 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5
+l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7
+l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -8 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31
+q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20
+t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68
+q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70
+q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
+    <glyph glyph-name="comments" unicode="&#xf086;" horiz-adv-x="1792" 
+d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224
+q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7
+q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
+    <glyph glyph-name="thumbs_up_alt" unicode="&#xf087;" 
+d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5
+t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769
+q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128
+q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
+    <glyph glyph-name="thumbs_down_alt" unicode="&#xf088;" 
+d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 31 18 69q0 37 -17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5
+t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z
+M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5
+h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -73 49 -163z" />
+    <glyph glyph-name="star_half" unicode="&#xf089;" horiz-adv-x="896" 
+d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
+    <glyph glyph-name="heart_empty" unicode="&#xf08a;" horiz-adv-x="1792" 
+d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559
+q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5
+q224 0 351 -124t127 -344z" />
+    <glyph glyph-name="signout" unicode="&#xf08b;" horiz-adv-x="1664" 
+d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704
+q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
+    <glyph glyph-name="linkedin_sign" unicode="&#xf08c;" 
+d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5
+q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="pushpin" unicode="&#xf08d;" horiz-adv-x="1152" 
+d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38
+t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
+    <glyph glyph-name="external_link" unicode="&#xf08e;" horiz-adv-x="1792" 
+d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320
+q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="signin" unicode="&#xf090;" 
+d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5
+q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="trophy" unicode="&#xf091;" horiz-adv-x="1664" 
+d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91
+t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96
+q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="github_sign" unicode="&#xf092;" 
+d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4
+q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 95q-6 -1 -15.5 -2.5t-35.5 -2t-48 4
+t-43.5 20t-29.5 41.5q-23 59 -57 74q-2 1 -4.5 3.5l-8 8t-7 9.5t4 7.5t19.5 3.5q6 0 15 -2t30 -15.5t33 -35.5q16 -28 37.5 -42t43.5 -14t38 3.5t30 9.5q7 47 33 69q-49 6 -86 18.5t-73 39t-55.5 76t-19.5 119.5q0 79 53 137q-24 62 5 136q19 6 54.5 -7.5t60.5 -29.5l26 -16
+q58 17 128 17t128 -17q11 7 28.5 18t55.5 26t57 9q29 -74 5 -136q53 -58 53 -137q0 -57 -14 -100.5t-35.5 -70t-53.5 -44.5t-62.5 -26t-68.5 -12q35 -31 35 -95q0 -40 -0.5 -89t-0.5 -51q0 -12 8.5 -20t26.5 -5q154 52 252 185.5t98 300.5zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="upload_alt" unicode="&#xf093;" horiz-adv-x="1664" 
+d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92
+t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
+    <glyph glyph-name="lemon" unicode="&#xf094;" 
+d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5
+q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44
+q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5
+q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -13 2 -25t3.5 -16.5t7.5 -20.5t8 -20q16 -40 25 -118.5t9 -136.5z" />
+    <glyph glyph-name="phone" unicode="&#xf095;" horiz-adv-x="1408" 
+d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -53 3.5t-57.5 12.5t-47 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-127 79 -264 216t-216 264q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47t-12.5 57.5t-3.5 53q0 92 51 186
+q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174q2 -1 19 -11.5t24 -14
+t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
+    <glyph glyph-name="check_empty" unicode="&#xf096;" horiz-adv-x="1408" 
+d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832
+q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="bookmark_empty" unicode="&#xf097;" horiz-adv-x="1280" 
+d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289
+q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
+    <glyph glyph-name="phone_sign" unicode="&#xf098;" 
+d="M1280 343q0 11 -2 16t-18 16.5t-40.5 25t-47.5 26.5t-45.5 25t-28.5 15q-5 3 -19 13t-25 15t-21 5q-15 0 -36.5 -20.5t-39.5 -45t-38.5 -45t-33.5 -20.5q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170 126.5t-127 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5
+t-3.5 16.5q0 13 20.5 33.5t45 38.5t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5
+t320.5 -216.5q6 -2 30 -11t33 -12.5t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z
+" />
+    <glyph glyph-name="twitter" unicode="&#xf099;" horiz-adv-x="1664" 
+d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41
+q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
+    <glyph glyph-name="facebook" unicode="&#xf09a;" horiz-adv-x="1024" 
+d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" />
+    <glyph glyph-name="github" unicode="&#xf09b;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24
+q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5
+t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -88.5t0.5 -54.5q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103zM291 305q3 7 -7 12
+q-10 3 -13 -2q-3 -7 7 -12q9 -6 13 2zM322 271q7 5 -2 16q-10 9 -16 3q-7 -5 2 -16q10 -10 16 -3zM352 226q9 7 0 19q-8 13 -17 6q-9 -5 0 -18t17 -7zM394 184q8 8 -4 19q-12 12 -20 3q-9 -8 4 -19q12 -12 20 -3zM451 159q3 11 -13 16q-15 4 -19 -7t13 -15q15 -6 19 6z
+M514 154q0 13 -17 11q-16 0 -16 -11q0 -13 17 -11q16 0 16 11zM572 164q-2 11 -18 9q-16 -3 -14 -15t18 -8t14 14z" />
+    <glyph glyph-name="unlock" unicode="&#xf09c;" horiz-adv-x="1664" 
+d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5
+t316.5 -131.5t131.5 -316.5z" />
+    <glyph glyph-name="credit_card" unicode="&#xf09d;" horiz-adv-x="1920" 
+d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608
+q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
+    <glyph glyph-name="rss" unicode="&#xf09e;" horiz-adv-x="1408" 
+d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5
+t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294
+q187 -186 294 -425.5t120 -501.5z" />
+    <glyph glyph-name="hdd" unicode="&#xf0a0;" 
+d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5
+h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75
+l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
+    <glyph glyph-name="bullhorn" unicode="&#xf0a1;" horiz-adv-x="1792" 
+d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5
+t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
+    <glyph glyph-name="bell" unicode="&#xf0a2;" horiz-adv-x="1792" 
+d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z
+M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5
+t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
+    <glyph glyph-name="certificate" unicode="&#xf0a3;" 
+d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70
+l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70
+l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
+    <glyph glyph-name="hand_right" unicode="&#xf0a4;" horiz-adv-x="1792" 
+d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106
+q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43
+q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5
+t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
+    <glyph glyph-name="hand_left" unicode="&#xf0a5;" horiz-adv-x="1792" 
+d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-8 9 -12 14q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576q-50 0 -89 -38.5
+t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45z
+M1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128q0 122 81.5 189t206.5 67
+q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="hand_up" unicode="&#xf0a6;" 
+d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576
+q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5
+t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76
+q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
+    <glyph glyph-name="hand_down" unicode="&#xf0a7;" 
+d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33
+t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580
+q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100
+q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
+    <glyph glyph-name="circle_arrow_left" unicode="&#xf0a8;" 
+d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="circle_arrow_right" unicode="&#xf0a9;" 
+d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="circle_arrow_up" unicode="&#xf0aa;" 
+d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="circle_arrow_down" unicode="&#xf0ab;" 
+d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="globe" unicode="&#xf0ac;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11
+q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 11t-9.5 10q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5
+q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5
+q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5
+t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-4 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3
+q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25
+q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5
+t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5
+t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10.5t17 -19.5q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21
+q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5
+q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3
+q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5
+t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q8 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5
+q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7
+q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
+    <glyph glyph-name="wrench" unicode="&#xf0ad;" horiz-adv-x="1664" 
+d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5
+t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
+    <glyph glyph-name="tasks" unicode="&#xf0ae;" horiz-adv-x="1792" 
+d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19
+t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="filter" unicode="&#xf0b0;" horiz-adv-x="1408" 
+d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
+    <glyph glyph-name="briefcase" unicode="&#xf0b1;" horiz-adv-x="1792" 
+d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68
+t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="fullscreen" unicode="&#xf0b2;" 
+d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144
+l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z
+" />
+    <glyph glyph-name="group" unicode="&#xf0c0;" horiz-adv-x="1920" 
+d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5
+t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75
+t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5
+t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
+    <glyph glyph-name="link" unicode="&#xf0c1;" horiz-adv-x="1664" 
+d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26
+l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15
+t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207
+q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
+    <glyph glyph-name="cloud" unicode="&#xf0c2;" horiz-adv-x="1920" 
+d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z
+" />
+    <glyph glyph-name="beaker" unicode="&#xf0c3;" horiz-adv-x="1664" 
+d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
+    <glyph glyph-name="cut" unicode="&#xf0c4;" horiz-adv-x="1792" 
+d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84
+q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148
+q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108
+q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6
+q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
+    <glyph glyph-name="copy" unicode="&#xf0c5;" horiz-adv-x="1792" 
+d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299
+h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
+    <glyph glyph-name="paper_clip" unicode="&#xf0c6;" horiz-adv-x="1408" 
+d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181
+l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235
+z" />
+    <glyph glyph-name="save" unicode="&#xf0c7;" 
+d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5
+h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
+    <glyph glyph-name="sign_blank" unicode="&#xf0c8;" 
+d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="reorder" unicode="&#xf0c9;" 
+d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45
+t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="ul" unicode="&#xf0ca;" horiz-adv-x="1792" 
+d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5
+t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z
+M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="ol" unicode="&#xf0cb;" horiz-adv-x="1792" 
+d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362
+q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5
+t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 121.5t0.5 121.5v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216
+q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
+    <glyph glyph-name="strikethrough" unicode="&#xf0cc;" horiz-adv-x="1792" 
+d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 98 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6
+l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -56 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23
+l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
+    <glyph glyph-name="underline" unicode="&#xf0cd;" 
+d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47
+q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41
+q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472
+q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
+    <glyph glyph-name="table" unicode="&#xf0ce;" horiz-adv-x="1664" 
+d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23
+v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192
+q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192
+q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113
+z" />
+    <glyph glyph-name="magic" unicode="&#xf0d0;" horiz-adv-x="1664" 
+d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276
+l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
+    <glyph glyph-name="truck" unicode="&#xf0d1;" horiz-adv-x="1792" 
+d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5
+t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38
+t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="pinterest" unicode="&#xf0d2;" 
+d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134
+q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33
+q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="pinterest_sign" unicode="&#xf0d3;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5
+t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5
+t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
+    <glyph glyph-name="google_plus_sign" unicode="&#xf0d4;" 
+d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585
+h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="google_plus" unicode="&#xf0d5;" horiz-adv-x="2304" 
+d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62
+q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" />
+    <glyph glyph-name="money" unicode="&#xf0d6;" horiz-adv-x="1920" 
+d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384
+v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="caret_down" unicode="&#xf0d7;" horiz-adv-x="1024" 
+d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="caret_up" unicode="&#xf0d8;" horiz-adv-x="1024" 
+d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="caret_left" unicode="&#xf0d9;" horiz-adv-x="640" 
+d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
+    <glyph glyph-name="caret_right" unicode="&#xf0da;" horiz-adv-x="640" 
+d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="columns" unicode="&#xf0db;" horiz-adv-x="1664" 
+d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="sort" unicode="&#xf0dc;" horiz-adv-x="1024" 
+d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="sort_down" unicode="&#xf0dd;" horiz-adv-x="1024" 
+d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="sort_up" unicode="&#xf0de;" horiz-adv-x="1024" 
+d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
+    <glyph glyph-name="envelope_alt" unicode="&#xf0e0;" horiz-adv-x="1792" 
+d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123
+q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
+    <glyph glyph-name="linkedin" unicode="&#xf0e1;" 
+d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329
+q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
+    <glyph glyph-name="undo" unicode="&#xf0e2;" 
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
+t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
+    <glyph glyph-name="legal" unicode="&#xf0e3;" horiz-adv-x="1792" 
+d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5
+t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14
+q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28
+q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
+    <glyph glyph-name="dashboard" unicode="&#xf0e4;" horiz-adv-x="1792" 
+d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5
+t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5
+t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29
+q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="comment_alt" unicode="&#xf0e5;" horiz-adv-x="1792" 
+d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640
+q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5
+t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
+    <glyph glyph-name="comments_alt" unicode="&#xf0e6;" horiz-adv-x="1792" 
+d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257
+t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5
+t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129
+q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
+    <glyph glyph-name="bolt" unicode="&#xf0e7;" horiz-adv-x="896" 
+d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
+    <glyph glyph-name="sitemap" unicode="&#xf0e8;" horiz-adv-x="1792" 
+d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320
+q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68
+z" />
+    <glyph glyph-name="umbrella" unicode="&#xf0e9;" horiz-adv-x="1664" 
+d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97
+q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69
+q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
+    <glyph glyph-name="paste" unicode="&#xf0ea;" horiz-adv-x="1792" 
+d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28
+h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
+    <glyph glyph-name="light_bulb" unicode="&#xf0eb;" horiz-adv-x="1024" 
+d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134
+q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47
+q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5
+t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
+    <glyph glyph-name="exchange" unicode="&#xf0ec;" horiz-adv-x="1792" 
+d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9
+q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
+    <glyph glyph-name="cloud_download" unicode="&#xf0ed;" horiz-adv-x="1920" 
+d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
+q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
+    <glyph glyph-name="cloud_upload" unicode="&#xf0ee;" horiz-adv-x="1920" 
+d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088
+q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
+    <glyph glyph-name="user_md" unicode="&#xf0f0;" horiz-adv-x="1408" 
+d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56
+t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68
+t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
+t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="stethoscope" unicode="&#xf0f1;" horiz-adv-x="1408" 
+d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48
+t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252
+t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
+    <glyph glyph-name="suitcase" unicode="&#xf0f2;" horiz-adv-x="1792" 
+d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66
+t66 -158z" />
+    <glyph glyph-name="bell_alt" unicode="&#xf0f3;" horiz-adv-x="1792" 
+d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5
+t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
+    <glyph glyph-name="coffee" unicode="&#xf0f4;" horiz-adv-x="1920" 
+d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45
+t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="food" unicode="&#xf0f5;" horiz-adv-x="1408" 
+d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45
+t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="file_text_alt" unicode="&#xf0f6;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704
+q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" />
+    <glyph glyph-name="building" unicode="&#xf0f7;" horiz-adv-x="1408" 
+d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="hospital" unicode="&#xf0f8;" horiz-adv-x="1408" 
+d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z
+M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5
+t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320
+v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="ambulance" unicode="&#xf0f9;" horiz-adv-x="1920" 
+d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152
+q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="medkit" unicode="&#xf0fa;" horiz-adv-x="1792" 
+d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32
+q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="fighter_jet" unicode="&#xf0fb;" horiz-adv-x="1920" 
+d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96
+q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q128 -28 200 -52t80 -34z" />
+    <glyph glyph-name="beer" unicode="&#xf0fc;" horiz-adv-x="1664" 
+d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
+    <glyph glyph-name="h_sign" unicode="&#xf0fd;" 
+d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="f0fe" unicode="&#xf0fe;" 
+d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="double_angle_left" unicode="&#xf100;" horiz-adv-x="1024" 
+d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
+t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_right" unicode="&#xf101;" horiz-adv-x="1024" 
+d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23
+l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_up" unicode="&#xf102;" horiz-adv-x="1152" 
+d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393
+q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="double_angle_down" unicode="&#xf103;" horiz-adv-x="1152" 
+d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23
+t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="angle_left" unicode="&#xf104;" horiz-adv-x="640" 
+d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="angle_right" unicode="&#xf105;" horiz-adv-x="640" 
+d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="angle_up" unicode="&#xf106;" horiz-adv-x="1152" 
+d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
+    <glyph glyph-name="angle_down" unicode="&#xf107;" horiz-adv-x="1152" 
+d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
+    <glyph glyph-name="desktop" unicode="&#xf108;" horiz-adv-x="1920" 
+d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19
+t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="laptop" unicode="&#xf109;" horiz-adv-x="1920" 
+d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z
+M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
+    <glyph glyph-name="tablet" unicode="&#xf10a;" horiz-adv-x="1152" 
+d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832
+q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="mobile_phone" unicode="&#xf10b;" horiz-adv-x="768" 
+d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136
+q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="circle_blank" unicode="&#xf10c;" 
+d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103
+t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="quote_left" unicode="&#xf10d;" horiz-adv-x="1664" 
+d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z
+M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
+    <glyph glyph-name="quote_right" unicode="&#xf10e;" horiz-adv-x="1664" 
+d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216
+v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
+    <glyph glyph-name="spinner" unicode="&#xf110;" horiz-adv-x="1792" 
+d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5
+t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-113 -47t-113 47t-47 113t47 113t113 47t113 -47t47 -113z
+M1728 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1088 1344q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1618 1138q0 -93 -66 -158.5t-158 -65.5q-93 0 -158.5 65.5t-65.5 158.5
+q0 92 65.5 158t158.5 66q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="circle" unicode="&#xf111;" 
+d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="reply" unicode="&#xf112;" horiz-adv-x="1792" 
+d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19
+l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
+    <glyph glyph-name="github_alt" unicode="&#xf113;" horiz-adv-x="1664" 
+d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320
+q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86
+t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218
+q0 -87 -27 -168q136 -160 136 -398z" />
+    <glyph glyph-name="folder_close_alt" unicode="&#xf114;" horiz-adv-x="1664" 
+d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320
+q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
+    <glyph glyph-name="folder_open_alt" unicode="&#xf115;" horiz-adv-x="1920" 
+d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68
+v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z
+" />
+    <glyph glyph-name="expand_alt" unicode="&#xf116;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="collapse_alt" unicode="&#xf117;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="smile" unicode="&#xf118;" 
+d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5
+t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="frown" unicode="&#xf119;" 
+d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204
+t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="meh" unicode="&#xf11a;" 
+d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="gamepad" unicode="&#xf11b;" horiz-adv-x="1920" 
+d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5
+t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150
+t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
+    <glyph glyph-name="keyboard" unicode="&#xf11c;" horiz-adv-x="1920" 
+d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16
+h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16
+h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96
+q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896
+h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="flag_alt" unicode="&#xf11d;" horiz-adv-x="1792" 
+d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9
+h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102
+q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
+    <glyph glyph-name="flag_checkered" unicode="&#xf11e;" horiz-adv-x="1792" 
+d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2
+q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266
+q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8
+q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
+    <glyph glyph-name="terminal" unicode="&#xf120;" horiz-adv-x="1664" 
+d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9
+t9 -23z" />
+    <glyph glyph-name="code" unicode="&#xf121;" horiz-adv-x="1920" 
+d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5
+l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
+    <glyph glyph-name="reply_all" unicode="&#xf122;" horiz-adv-x="1792" 
+d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1
+q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
+    <glyph glyph-name="star_half_empty" unicode="&#xf123;" horiz-adv-x="1664" 
+d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5
+l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
+    <glyph glyph-name="location_arrow" unicode="&#xf124;" horiz-adv-x="1408" 
+d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
+    <glyph glyph-name="crop" unicode="&#xf125;" horiz-adv-x="1664" 
+d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23
+v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="code_fork" unicode="&#xf126;" horiz-adv-x="1024" 
+d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5
+q-2 -287 -226 -414q-67 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497
+q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
+    <glyph glyph-name="unlink" unicode="&#xf127;" horiz-adv-x="1664" 
+d="M439 265l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320
+q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18
+l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9
+t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
+    <glyph glyph-name="question" unicode="&#xf128;" horiz-adv-x="1024" 
+d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5
+t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
+    <glyph glyph-name="_279" unicode="&#xf129;" horiz-adv-x="640" 
+d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192
+q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="exclamation" unicode="&#xf12a;" horiz-adv-x="640" 
+d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
+    <glyph glyph-name="superscript" unicode="&#xf12b;" 
+d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
+M1534 846v-206h-514l-3 27q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5
+t-65.5 -51.5t-30.5 -63h232v80h126z" />
+    <glyph glyph-name="subscript" unicode="&#xf12c;" 
+d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z
+M1536 -50v-206h-514l-4 27q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73
+h232v80h126z" />
+    <glyph glyph-name="_283" unicode="&#xf12d;" horiz-adv-x="1920" 
+d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
+    <glyph glyph-name="puzzle_piece" unicode="&#xf12e;" horiz-adv-x="1664" 
+d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5
+t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89
+q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117
+q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
+    <glyph glyph-name="microphone" unicode="&#xf130;" horiz-adv-x="1152" 
+d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5
+t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
+    <glyph glyph-name="microphone_off" unicode="&#xf131;" horiz-adv-x="1408" 
+d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128
+q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23
+t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
+    <glyph glyph-name="shield" unicode="&#xf132;" horiz-adv-x="1280" 
+d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150
+t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="calendar_empty" unicode="&#xf133;" horiz-adv-x="1664" 
+d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280
+q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="fire_extinguisher" unicode="&#xf134;" horiz-adv-x="1408" 
+d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800
+q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113
+q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
+    <glyph glyph-name="rocket" unicode="&#xf135;" horiz-adv-x="1664" 
+d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1
+q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
+    <glyph glyph-name="maxcdn" unicode="&#xf136;" horiz-adv-x="1792" 
+d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
+    <glyph glyph-name="chevron_sign_left" unicode="&#xf137;" 
+d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="chevron_sign_right" unicode="&#xf138;" 
+d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="chevron_sign_up" unicode="&#xf139;" 
+d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="chevron_sign_down" unicode="&#xf13a;" 
+d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5
+t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="html5" unicode="&#xf13b;" horiz-adv-x="1408" 
+d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
+    <glyph glyph-name="css3" unicode="&#xf13c;" horiz-adv-x="1792" 
+d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
+    <glyph glyph-name="anchor" unicode="&#xf13d;" horiz-adv-x="1792" 
+d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352
+q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19
+t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="unlock_alt" unicode="&#xf13e;" horiz-adv-x="1152" 
+d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181
+v-320h736z" />
+    <glyph glyph-name="bullseye" unicode="&#xf140;" 
+d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150
+t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640
+q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="ellipsis_horizontal" unicode="&#xf141;" horiz-adv-x="1408" 
+d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="ellipsis_vertical" unicode="&#xf142;" horiz-adv-x="384" 
+d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192
+q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
+    <glyph glyph-name="_303" unicode="&#xf143;" 
+d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 233 -176.5 396.5t-396.5 176.5q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128
+q13 0 23 10t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="play_sign" unicode="&#xf144;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56
+q16 -8 32 -8q17 0 32 9z" />
+    <glyph glyph-name="ticket" unicode="&#xf145;" horiz-adv-x="1792" 
+d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136
+t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
+    <glyph glyph-name="minus_sign_alt" unicode="&#xf146;" 
+d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
+t84.5 -203.5z" />
+    <glyph glyph-name="check_minus" unicode="&#xf147;" horiz-adv-x="1408" 
+d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5
+t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="level_up" unicode="&#xf148;" horiz-adv-x="1024" 
+d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
+    <glyph glyph-name="level_down" unicode="&#xf149;" horiz-adv-x="1024" 
+d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
+    <glyph glyph-name="check_sign" unicode="&#xf14a;" 
+d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5
+t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="edit_sign" unicode="&#xf14b;" 
+d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120
+v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_312" unicode="&#xf14c;" 
+d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960
+q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="share_sign" unicode="&#xf14d;" 
+d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q11 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5
+t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="compass" unicode="&#xf14e;" 
+d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="collapse" unicode="&#xf150;" 
+d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120
+v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="collapse_top" unicode="&#xf151;" 
+d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_317" unicode="&#xf152;" 
+d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5
+t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="eur" unicode="&#xf153;" horiz-adv-x="1024" 
+d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9
+t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26
+l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
+    <glyph glyph-name="gbp" unicode="&#xf154;" horiz-adv-x="1024" 
+d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7
+q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
+    <glyph glyph-name="usd" unicode="&#xf155;" horiz-adv-x="1024" 
+d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43
+t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5
+t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50
+t53 -63.5t31.5 -76.5t13 -94z" />
+    <glyph glyph-name="inr" unicode="&#xf156;" horiz-adv-x="898" 
+d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102
+q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="jpy" unicode="&#xf157;" horiz-adv-x="1027" 
+d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61
+l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
+    <glyph glyph-name="rub" unicode="&#xf158;" horiz-adv-x="1280" 
+d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128
+q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
+    <glyph glyph-name="krw" unicode="&#xf159;" horiz-adv-x="1792" 
+d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23
+t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28
+q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="btc" unicode="&#xf15a;" horiz-adv-x="1280" 
+d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164
+l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30
+t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
+    <glyph glyph-name="file" unicode="&#xf15b;" 
+d="M1024 1024v472q22 -14 36 -28l408 -408q14 -14 28 -36h-472zM896 992q0 -40 28 -68t68 -28h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544z" />
+    <glyph glyph-name="file_text" unicode="&#xf15c;" 
+d="M1468 1060q14 -14 28 -36h-472v472q22 -14 36 -28zM992 896h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544q0 -40 28 -68t68 -28zM1152 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704
+q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23z" />
+    <glyph glyph-name="sort_by_alphabet" unicode="&#xf15d;" horiz-adv-x="1664" 
+d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23
+v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162
+l230 -662h70z" />
+    <glyph glyph-name="_329" unicode="&#xf15e;" horiz-adv-x="1664" 
+d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150
+v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248
+v119h121z" />
+    <glyph glyph-name="sort_by_attributes" unicode="&#xf160;" horiz-adv-x="1792" 
+d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832
+q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256
+q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="sort_by_attributes_alt" unicode="&#xf161;" horiz-adv-x="1792" 
+d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192
+q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832
+q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="sort_by_order" unicode="&#xf162;" 
+d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23
+zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5
+t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
+    <glyph glyph-name="sort_by_order_alt" unicode="&#xf163;" 
+d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9
+t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13
+q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
+    <glyph glyph-name="_334" unicode="&#xf164;" horiz-adv-x="1664" 
+d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76
+q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5
+t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
+    <glyph glyph-name="_335" unicode="&#xf165;" horiz-adv-x="1664" 
+d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135
+t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121
+t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
+    <glyph glyph-name="youtube_sign" unicode="&#xf166;" 
+d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 17 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15
+q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38
+q21 -29 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5
+q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78q7 -23 23 -69l24 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38
+q-51 0 -78 -38q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5
+h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="youtube" unicode="&#xf167;" 
+d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73
+q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51
+q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99
+q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-38 -51 -106 -51q-67 0 -105 51
+q-28 38 -28 118v175q0 80 28 117q38 51 105 51q68 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
+    <glyph glyph-name="xing" unicode="&#xf168;" horiz-adv-x="1408" 
+d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942
+q25 45 64 45h241q22 0 31 -15z" />
+    <glyph glyph-name="xing_sign" unicode="&#xf169;" 
+d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1
+l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="youtube_play" unicode="&#xf16a;" horiz-adv-x="1792" 
+d="M711 408l484 250l-484 253v-503zM896 1270q168 0 324.5 -4.5t229.5 -9.5l73 -4q1 0 17 -1.5t23 -3t23.5 -4.5t28.5 -8t28 -13t31 -19.5t29 -26.5q6 -6 15.5 -18.5t29 -58.5t26.5 -101q8 -64 12.5 -136.5t5.5 -113.5v-40v-136q1 -145 -18 -290q-7 -55 -25 -99.5t-32 -61.5
+l-14 -17q-14 -15 -29 -26.5t-31 -19t-28 -12.5t-28.5 -8t-24 -4.5t-23 -3t-16.5 -1.5q-251 -19 -627 -19q-207 2 -359.5 6.5t-200.5 7.5l-49 4l-36 4q-36 5 -54.5 10t-51 21t-56.5 41q-6 6 -15.5 18.5t-29 58.5t-26.5 101q-8 64 -12.5 136.5t-5.5 113.5v40v136
+q-1 145 18 290q7 55 25 99.5t32 61.5l14 17q14 15 29 26.5t31 19.5t28 13t28.5 8t23.5 4.5t23 3t17 1.5q251 18 627 18z" />
+    <glyph glyph-name="dropbox" unicode="&#xf16b;" horiz-adv-x="1792" 
+d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
+    <glyph glyph-name="stackexchange" unicode="&#xf16c;" 
+d="M1289 -96h-1118v480h-160v-640h1438v640h-160v-480zM347 428l33 157l783 -165l-33 -156zM450 802l67 146l725 -339l-67 -145zM651 1158l102 123l614 -513l-102 -123zM1048 1536l477 -641l-128 -96l-477 641zM330 65v159h800v-159h-800z" />
+    <glyph glyph-name="instagram" unicode="&#xf16d;" 
+d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1162 640q0 -164 -115 -279t-279 -115t-279 115t-115 279t115 279t279 115t279 -115t115 -279zM1270 1050q0 -38 -27 -65t-65 -27t-65 27t-27 65t27 65t65 27t65 -27t27 -65zM768 1270
+q-7 0 -76.5 0.5t-105.5 0t-96.5 -3t-103 -10t-71.5 -18.5q-50 -20 -88 -58t-58 -88q-11 -29 -18.5 -71.5t-10 -103t-3 -96.5t0 -105.5t0.5 -76.5t-0.5 -76.5t0 -105.5t3 -96.5t10 -103t18.5 -71.5q20 -50 58 -88t88 -58q29 -11 71.5 -18.5t103 -10t96.5 -3t105.5 0t76.5 0.5
+t76.5 -0.5t105.5 0t96.5 3t103 10t71.5 18.5q50 20 88 58t58 88q11 29 18.5 71.5t10 103t3 96.5t0 105.5t-0.5 76.5t0.5 76.5t0 105.5t-3 96.5t-10 103t-18.5 71.5q-20 50 -58 88t-88 58q-29 11 -71.5 18.5t-103 10t-96.5 3t-105.5 0t-76.5 -0.5zM1536 640q0 -229 -5 -317
+q-10 -208 -124 -322t-322 -124q-88 -5 -317 -5t-317 5q-208 10 -322 124t-124 322q-5 88 -5 317t5 317q10 208 124 322t322 124q88 5 317 5t317 -5q208 -10 322 -124t124 -322q5 -88 5 -317z" />
+    <glyph glyph-name="flickr" unicode="&#xf16e;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150
+t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
+    <glyph glyph-name="adn" unicode="&#xf170;" 
+d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="f171" unicode="&#xf171;" horiz-adv-x="1408" 
+d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22
+t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18
+t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5
+t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
+    <glyph glyph-name="bitbucket_sign" unicode="&#xf172;" 
+d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5
+t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z
+M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120
+v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="tumblr" unicode="&#xf173;" horiz-adv-x="1024" 
+d="M944 207l80 -237q-23 -35 -111 -66t-177 -32q-104 -2 -190.5 26t-142.5 74t-95 106t-55.5 120t-16.5 118v544h-168v215q72 26 129 69.5t91 90t58 102t34 99t15 88.5q1 5 4.5 8.5t7.5 3.5h244v-424h333v-252h-334v-518q0 -30 6.5 -56t22.5 -52.5t49.5 -41.5t81.5 -14
+q78 2 134 29z" />
+    <glyph glyph-name="tumblr_sign" unicode="&#xf174;" 
+d="M1136 75l-62 183q-44 -22 -103 -22q-36 -1 -62 10.5t-38.5 31.5t-17.5 40.5t-5 43.5v398h257v194h-256v326h-188q-8 0 -9 -10q-5 -44 -17.5 -87t-39 -95t-77 -95t-118.5 -68v-165h130v-418q0 -57 21.5 -115t65 -111t121 -85.5t176.5 -30.5q69 1 136.5 25t85.5 50z
+M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="long_arrow_down" unicode="&#xf175;" horiz-adv-x="768" 
+d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
+    <glyph glyph-name="long_arrow_up" unicode="&#xf176;" horiz-adv-x="768" 
+d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
+    <glyph glyph-name="long_arrow_left" unicode="&#xf177;" horiz-adv-x="1792" 
+d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="long_arrow_right" unicode="&#xf178;" horiz-adv-x="1792" 
+d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
+    <glyph glyph-name="apple" unicode="&#xf179;" horiz-adv-x="1408" 
+d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q113 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65
+q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
+    <glyph glyph-name="windows" unicode="&#xf17a;" horiz-adv-x="1664" 
+d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
+    <glyph glyph-name="android" unicode="&#xf17b;" horiz-adv-x="1408" 
+d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30
+t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5
+h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
+    <glyph glyph-name="linux" unicode="&#xf17c;" 
+d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-10 -11 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z
+M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7
+q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15
+q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5
+t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19
+q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63
+q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18q-2 -1 -4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92
+q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152
+q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-6 0 -8 -2t0 -4
+t5 -3q14 -4 18 -31q0 -3 8 2q2 2 2 3zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5
+t-30 -18.5t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43
+q-19 4 -51 9.5t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49
+t-14 -48q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54
+q110 143 124 195q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5
+t-40.5 -33.5t-61 -14q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5
+t15.5 47.5q1 -31 8 -56.5t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
+    <glyph glyph-name="dribble" unicode="&#xf17d;" 
+d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81
+t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19
+q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -5 6.5 -17t7.5 -17q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6
+t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="skype" unicode="&#xf17e;" 
+d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5
+t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5
+q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80
+q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
+    <glyph glyph-name="foursquare" unicode="&#xf180;" horiz-adv-x="1280" 
+d="M1000 1102l37 194q5 23 -9 40t-35 17h-712q-23 0 -38.5 -17t-15.5 -37v-1101q0 -7 6 -1l291 352q23 26 38 33.5t48 7.5h239q22 0 37 14.5t18 29.5q24 130 37 191q4 21 -11.5 40t-36.5 19h-294q-29 0 -48 19t-19 48v42q0 29 19 47.5t48 18.5h346q18 0 35 13.5t20 29.5z
+M1227 1324q-15 -73 -53.5 -266.5t-69.5 -350t-35 -173.5q-6 -22 -9 -32.5t-14 -32.5t-24.5 -33t-38.5 -21t-58 -10h-271q-13 0 -22 -10q-8 -9 -426 -494q-22 -25 -58.5 -28.5t-48.5 5.5q-55 22 -55 98v1410q0 55 38 102.5t120 47.5h888q95 0 127 -53t10 -159zM1227 1324
+l-158 -790q4 17 35 173.5t69.5 350t53.5 266.5z" />
+    <glyph glyph-name="trello" unicode="&#xf181;" 
+d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408
+q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="female" unicode="&#xf182;" horiz-adv-x="1280" 
+d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43
+q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="male" unicode="&#xf183;" horiz-adv-x="1024" 
+d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z
+M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="gittip" unicode="&#xf184;" 
+d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="sun" unicode="&#xf185;" horiz-adv-x="1792" 
+d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4
+l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94
+q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
+    <glyph glyph-name="_366" unicode="&#xf186;" 
+d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61
+t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
+    <glyph glyph-name="archive" unicode="&#xf187;" horiz-adv-x="1792" 
+d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536
+q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="bug" unicode="&#xf188;" horiz-adv-x="1664" 
+d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207
+q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19
+t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
+    <glyph glyph-name="vk" unicode="&#xf189;" horiz-adv-x="1920" 
+d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-40 -51 -55 -72t-30.5 -49.5t-12 -42t13 -34.5t32.5 -43t57 -53q4 -2 5 -4q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58
+t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6
+q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q16 19 38 30q53 26 239 24
+q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2
+q39 5 64 -2.5t31 -16.5z" />
+    <glyph glyph-name="weibo" unicode="&#xf18a;" horiz-adv-x="1792" 
+d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12
+q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422
+q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178
+q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z
+M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
+    <glyph glyph-name="renren" unicode="&#xf18b;" 
+d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495
+q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
+    <glyph glyph-name="_372" unicode="&#xf18c;" horiz-adv-x="1408" 
+d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5
+t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56
+t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -4 1 -50t-1 -72q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5
+t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
+    <glyph glyph-name="stack_exchange" unicode="&#xf18d;" horiz-adv-x="1280" 
+d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z
+" />
+    <glyph glyph-name="_374" unicode="&#xf18e;" 
+d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198
+t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="arrow_circle_alt_left" unicode="&#xf190;" 
+d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198
+t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_376" unicode="&#xf191;" 
+d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z
+M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="dot_circle_alt" unicode="&#xf192;" 
+d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5
+t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_378" unicode="&#xf193;" horiz-adv-x="1664" 
+d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128
+q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 17 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
+    <glyph glyph-name="vimeo_square" unicode="&#xf194;" 
+d="M1292 898q10 216 -161 222q-231 8 -312 -261q44 19 82 19q85 0 74 -96q-4 -57 -74 -167t-105 -110q-43 0 -82 169q-13 54 -45 255q-30 189 -160 177q-59 -7 -164 -100l-81 -72l-81 -72l52 -67q76 52 87 52q57 0 107 -179q15 -55 45 -164.5t45 -164.5q68 -179 164 -179
+q157 0 383 294q220 283 226 444zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_380" unicode="&#xf195;" horiz-adv-x="1152" 
+d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160
+q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="plus_square_o" unicode="&#xf196;" horiz-adv-x="1408" 
+d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832
+q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_382" unicode="&#xf197;" horiz-adv-x="2176" 
+d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40
+t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-288 -288q-26 -26 -70.5 -45t-89.5 -19h-96l-93 464h29
+q157 0 273 64zM352 816h-29l93 464h96q46 0 90 -19t70 -45l288 -288q4 -4 11 -10.5t30.5 -23t48.5 -29t61.5 -23t72.5 -10.5l456 -80h-1015q-116 64 -273 64z" />
+    <glyph glyph-name="_383" unicode="&#xf198;" horiz-adv-x="1664" 
+d="M1519 760q62 0 103.5 -40.5t41.5 -101.5q0 -97 -93 -130l-172 -59l56 -167q7 -21 7 -47q0 -59 -42 -102t-101 -43q-47 0 -85.5 27t-53.5 72l-55 165l-310 -106l55 -164q8 -24 8 -47q0 -59 -42 -102t-102 -43q-47 0 -85 27t-53 72l-55 163l-153 -53q-29 -9 -50 -9
+q-61 0 -101.5 40t-40.5 101q0 47 27.5 85t71.5 53l156 53l-105 313l-156 -54q-26 -8 -48 -8q-60 0 -101 40.5t-41 100.5q0 47 27.5 85t71.5 53l157 53l-53 159q-8 24 -8 47q0 60 42 102.5t102 42.5q47 0 85 -27t53 -72l54 -160l310 105l-54 160q-8 24 -8 47q0 59 42.5 102
+t101.5 43q47 0 85.5 -27.5t53.5 -71.5l53 -161l162 55q21 6 43 6q60 0 102.5 -39.5t42.5 -98.5q0 -45 -30 -81.5t-74 -51.5l-157 -54l105 -316l164 56q24 8 46 8zM725 498l310 105l-105 315l-310 -107z" />
+    <glyph glyph-name="_384" unicode="&#xf199;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM1280 352v436q-31 -35 -64 -55q-34 -22 -132.5 -85t-151.5 -99q-98 -69 -164 -69v0v0q-66 0 -164 69
+q-47 32 -142 92.5t-142 92.5q-12 8 -33 27t-31 27v-436q0 -40 28 -68t68 -28h832q40 0 68 28t28 68zM1280 925q0 41 -27.5 70t-68.5 29h-832q-40 0 -68 -28t-28 -68q0 -37 30.5 -76.5t67.5 -64.5q47 -32 137.5 -89t129.5 -83q3 -2 17 -11.5t21 -14t21 -13t23.5 -13
+t21.5 -9.5t22.5 -7.5t20.5 -2.5t20.5 2.5t22.5 7.5t21.5 9.5t23.5 13t21 13t21 14t17 11.5l267 174q35 23 66.5 62.5t31.5 73.5z" />
+    <glyph glyph-name="_385" unicode="&#xf19a;" horiz-adv-x="1792" 
+d="M127 640q0 163 67 313l367 -1005q-196 95 -315 281t-119 411zM1415 679q0 -19 -2.5 -38.5t-10 -49.5t-11.5 -44t-17.5 -59t-17.5 -58l-76 -256l-278 826q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-75 1 -202 10q-12 1 -20.5 -5t-11.5 -15t-1.5 -18.5t9 -16.5
+t19.5 -8l80 -8l120 -328l-168 -504l-280 832q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-7 0 -23 0.5t-26 0.5q105 160 274.5 253.5t367.5 93.5q147 0 280.5 -53t238.5 -149h-10q-55 0 -92 -40.5t-37 -95.5q0 -12 2 -24t4 -21.5t8 -23t9 -21t12 -22.5t12.5 -21
+t14.5 -24t14 -23q63 -107 63 -212zM909 573l237 -647q1 -6 5 -11q-126 -44 -255 -44q-112 0 -217 32zM1570 1009q95 -174 95 -369q0 -209 -104 -385.5t-279 -278.5l235 678q59 169 59 276q0 42 -6 79zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286
+t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 -215q173 0 331.5 68t273 182.5t182.5 273t68 331.5t-68 331.5t-182.5 273t-273 182.5t-331.5 68t-331.5 -68t-273 -182.5t-182.5 -273t-68 -331.5t68 -331.5t182.5 -273
+t273 -182.5t331.5 -68z" />
+    <glyph glyph-name="_386" unicode="&#xf19b;" horiz-adv-x="1792" 
+d="M1086 1536v-1536l-272 -128q-228 20 -414 102t-293 208.5t-107 272.5q0 140 100.5 263.5t275 205.5t391.5 108v-172q-217 -38 -356.5 -150t-139.5 -255q0 -152 154.5 -267t388.5 -145v1360zM1755 954l37 -390l-525 114l147 83q-119 70 -280 99v172q277 -33 481 -157z" />
+    <glyph glyph-name="_387" unicode="&#xf19c;" horiz-adv-x="2048" 
+d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64
+q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" />
+    <glyph glyph-name="_388" unicode="&#xf19d;" horiz-adv-x="2304" 
+d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433
+q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" />
+    <glyph glyph-name="_389" unicode="&#xf19e;" 
+d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q44 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0
+q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" />
+    <glyph glyph-name="uniF1A0" unicode="&#xf1a0;" 
+d="M768 750h725q12 -67 12 -128q0 -217 -91 -387.5t-259.5 -266.5t-386.5 -96q-157 0 -299 60.5t-245 163.5t-163.5 245t-60.5 299t60.5 299t163.5 245t245 163.5t299 60.5q300 0 515 -201l-209 -201q-123 119 -306 119q-129 0 -238.5 -65t-173.5 -176.5t-64 -243.5
+t64 -243.5t173.5 -176.5t238.5 -65q87 0 160 24t120 60t82 82t51.5 87t22.5 78h-436v264z" />
+    <glyph glyph-name="f1a1" unicode="&#xf1a1;" horiz-adv-x="1792" 
+d="M1095 369q16 -16 0 -31q-62 -62 -199 -62t-199 62q-16 15 0 31q6 6 15 6t15 -6q48 -49 169 -49q120 0 169 49q6 6 15 6t15 -6zM788 550q0 -37 -26 -63t-63 -26t-63.5 26t-26.5 63q0 38 26.5 64t63.5 26t63 -26.5t26 -63.5zM1183 550q0 -37 -26.5 -63t-63.5 -26t-63 26
+t-26 63t26 63.5t63 26.5t63.5 -26t26.5 -64zM1434 670q0 49 -35 84t-85 35t-86 -36q-130 90 -311 96l63 283l200 -45q0 -37 26 -63t63 -26t63.5 26.5t26.5 63.5t-26.5 63.5t-63.5 26.5q-54 0 -80 -50l-221 49q-19 5 -25 -16l-69 -312q-180 -7 -309 -97q-35 37 -87 37
+q-50 0 -85 -35t-35 -84q0 -35 18.5 -64t49.5 -44q-6 -27 -6 -56q0 -142 140 -243t337 -101q198 0 338 101t140 243q0 32 -7 57q30 15 48 43.5t18 63.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191
+t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_392" unicode="&#xf1a2;" 
+d="M939 407q13 -13 0 -26q-53 -53 -171 -53t-171 53q-13 13 0 26q5 6 13 6t13 -6q42 -42 145 -42t145 42q5 6 13 6t13 -6zM676 563q0 -31 -23 -54t-54 -23t-54 23t-23 54q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1014 563q0 -31 -23 -54t-54 -23t-54 23t-23 54
+q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1229 666q0 42 -30 72t-73 30q-42 0 -73 -31q-113 78 -267 82l54 243l171 -39q1 -32 23.5 -54t53.5 -22q32 0 54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5q-48 0 -69 -43l-189 42q-17 5 -21 -13l-60 -268q-154 -6 -265 -83
+q-30 32 -74 32q-43 0 -73 -30t-30 -72q0 -30 16 -55t42 -38q-5 -25 -5 -48q0 -122 120 -208.5t289 -86.5q170 0 290 86.5t120 208.5q0 25 -6 49q25 13 40.5 37.5t15.5 54.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960
+q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_393" unicode="&#xf1a3;" 
+d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150
+v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103
+t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="f1a4" unicode="&#xf1a4;" horiz-adv-x="1920" 
+d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328
+v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" />
+    <glyph glyph-name="_395" unicode="&#xf1a5;" 
+d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
+t84.5 -203.5z" />
+    <glyph glyph-name="_396" unicode="&#xf1a6;" horiz-adv-x="2048" 
+d="M328 1254h204v-983h-532v697h328v286zM328 435v369h-123v-369h123zM614 968v-697h205v697h-205zM614 1254v-204h205v204h-205zM901 968h533v-942h-533v163h328v82h-328v697zM1229 435v369h-123v-369h123zM1516 968h532v-942h-532v163h327v82h-327v697zM1843 435v369h-123
+v-369h123z" />
+    <glyph glyph-name="_397" unicode="&#xf1a7;" 
+d="M1046 516q0 -64 -38 -109t-91 -45q-43 0 -70 15v277q28 17 70 17q53 0 91 -45.5t38 -109.5zM703 944q0 -64 -38 -109.5t-91 -45.5q-43 0 -70 15v277q28 17 70 17q53 0 91 -45t38 -109zM1265 513q0 134 -88 229t-213 95q-20 0 -39 -3q-23 -78 -78 -136q-87 -95 -211 -101
+v-636l211 41v206q51 -19 117 -19q125 0 213 95t88 229zM922 940q0 134 -88.5 229t-213.5 95q-74 0 -141 -36h-186v-840l211 41v206q55 -19 116 -19q125 0 213.5 95t88.5 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960
+q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_398" unicode="&#xf1a8;" horiz-adv-x="2038" 
+d="M1222 607q75 3 143.5 -20.5t118 -58.5t101 -94.5t84 -108t75.5 -120.5q33 -56 78.5 -109t75.5 -80.5t99 -88.5q-48 -30 -108.5 -57.5t-138.5 -59t-114 -47.5q-44 37 -74 115t-43.5 164.5t-33 180.5t-42.5 168.5t-72.5 123t-122.5 48.5l-10 -2l-6 -4q4 -5 13 -14
+q6 -5 28 -23.5t25.5 -22t19 -18t18 -20.5t11.5 -21t10.5 -27.5t4.5 -31t4 -40.5l1 -33q1 -26 -2.5 -57.5t-7.5 -52t-12.5 -58.5t-11.5 -53q-35 1 -101 -9.5t-98 -10.5q-39 0 -72 10q-2 16 -2 47q0 74 3 96q2 13 31.5 41.5t57 59t26.5 51.5q-24 2 -43 -24
+q-36 -53 -111.5 -99.5t-136.5 -46.5q-25 0 -75.5 63t-106.5 139.5t-84 96.5q-6 4 -27 30q-482 -112 -513 -112q-16 0 -28 11t-12 27q0 15 8.5 26.5t22.5 14.5l486 106q-8 14 -8 25t5.5 17.5t16 11.5t20 7t23 4.5t18.5 4.5q4 1 15.5 7.5t17.5 6.5q15 0 28 -16t20 -33
+q163 37 172 37q17 0 29.5 -11t12.5 -28q0 -15 -8.5 -26t-23.5 -14l-182 -40l-1 -16q-1 -26 81.5 -117.5t104.5 -91.5q47 0 119 80t72 129q0 36 -23.5 53t-51 18.5t-51 11.5t-23.5 34q0 16 10 34l-68 19q43 44 43 117q0 26 -5 58q82 16 144 16q44 0 71.5 -1.5t48.5 -8.5
+t31 -13.5t20.5 -24.5t15.5 -33.5t17 -47.5t24 -60l50 25q-3 -40 -23 -60t-42.5 -21t-40 -6.5t-16.5 -20.5zM1282 842q-5 5 -13.5 15.5t-12 14.5t-10.5 11.5t-10 10.5l-8 8t-8.5 7.5t-8 5t-8.5 4.5q-7 3 -14.5 5t-20.5 2.5t-22 0.5h-32.5h-37.5q-126 0 -217 -43
+q16 30 36 46.5t54 29.5t65.5 36t46 36.5t50 55t43.5 50.5q12 -9 28 -31.5t32 -36.5t38 -13l12 1v-76l22 -1q247 95 371 190q28 21 50 39t42.5 37.5t33 31t29.5 34t24 31t24.5 37t23 38t27 47.5t29.5 53l7 9q-2 -53 -43 -139q-79 -165 -205 -264t-306 -142q-14 -3 -42 -7.5
+t-50 -9.5t-39 -14q3 -19 24.5 -46t21.5 -34q0 -11 -26 -30zM1061 -79q39 26 131.5 47.5t146.5 21.5q9 0 22.5 -15.5t28 -42.5t26 -50t24 -51t14.5 -33q-121 -45 -244 -45q-61 0 -125 11zM822 568l48 12l109 -177l-73 -48zM1323 51q3 -15 3 -16q0 -7 -17.5 -14.5t-46 -13
+t-54 -9.5t-53.5 -7.5t-32 -4.5l-7 43q21 2 60.5 8.5t72 10t60.5 3.5h14zM866 679l-96 -20l-6 17q10 1 32.5 7t34.5 6q19 0 35 -10zM1061 45h31l10 -83l-41 -12v95zM1950 1535v1v-1zM1950 1535l-1 -5l-2 -2l1 3zM1950 1535l1 1z" />
+    <glyph glyph-name="_399" unicode="&#xf1a9;" 
+d="M1167 -50q-5 19 -24 5q-30 -22 -87 -39t-131 -17q-129 0 -193 49q-5 4 -13 4q-11 0 -26 -12q-7 -6 -7.5 -16t7.5 -20q34 -32 87.5 -46t102.5 -12.5t99 4.5q41 4 84.5 20.5t65 30t28.5 20.5q12 12 7 29zM1128 65q-19 47 -39 61q-23 15 -76 15q-47 0 -71 -10
+q-29 -12 -78 -56q-26 -24 -12 -44q9 -8 17.5 -4.5t31.5 23.5q3 2 10.5 8.5t10.5 8.5t10 7t11.5 7t12.5 5t15 4.5t16.5 2.5t20.5 1q27 0 44.5 -7.5t23 -14.5t13.5 -22q10 -17 12.5 -20t12.5 1q23 12 14 34zM1483 346q0 22 -5 44.5t-16.5 45t-34 36.5t-52.5 14
+q-33 0 -97 -41.5t-129 -83.5t-101 -42q-27 -1 -63.5 19t-76 49t-83.5 58t-100 49t-111 19q-115 -1 -197 -78.5t-84 -178.5q-2 -112 74 -164q29 -20 62.5 -28.5t103.5 -8.5q57 0 132 32.5t134 71t120 70.5t93 31q26 -1 65 -31.5t71.5 -67t68 -67.5t55.5 -32q35 -3 58.5 14
+t55.5 63q28 41 42.5 101t14.5 106zM1536 506q0 -164 -62 -304.5t-166 -236t-242.5 -149.5t-290.5 -54t-293 57.5t-247.5 157t-170.5 241.5t-64 302q0 89 19.5 172.5t49 145.5t70.5 118.5t78.5 94t78.5 69.5t64.5 46.5t42.5 24.5q14 8 51 26.5t54.5 28.5t48 30t60.5 44
+q36 28 58 72.5t30 125.5q129 -155 186 -193q44 -29 130 -68t129 -66q21 -13 39 -25t60.5 -46.5t76 -70.5t75 -95t69 -122t47 -148.5t19.5 -177.5z" />
+    <glyph glyph-name="_400" unicode="&#xf1aa;" 
+d="M1070 463l-160 -160l-151 -152l-30 -30q-65 -64 -151.5 -87t-171.5 -2q-16 -70 -72 -115t-129 -45q-85 0 -145 60.5t-60 145.5q0 72 44.5 128t113.5 72q-22 86 1 173t88 152l12 12l151 -152l-11 -11q-37 -37 -37 -89t37 -90q37 -37 89 -37t89 37l30 30l151 152l161 160z
+M729 1145l12 -12l-152 -152l-12 12q-37 37 -89 37t-89 -37t-37 -89.5t37 -89.5l29 -29l152 -152l160 -160l-151 -152l-161 160l-151 152l-30 30q-68 67 -90 159.5t5 179.5q-70 15 -115 71t-45 129q0 85 60 145.5t145 60.5q76 0 133.5 -49t69.5 -123q84 20 169.5 -3.5
+t149.5 -87.5zM1536 78q0 -85 -60 -145.5t-145 -60.5q-74 0 -131 47t-71 118q-86 -28 -179.5 -6t-161.5 90l-11 12l151 152l12 -12q37 -37 89 -37t89 37t37 89t-37 89l-30 30l-152 152l-160 160l152 152l160 -160l152 -152l29 -30q64 -64 87.5 -150.5t2.5 -171.5
+q76 -11 126.5 -68.5t50.5 -134.5zM1534 1202q0 -77 -51 -135t-127 -69q26 -85 3 -176.5t-90 -158.5l-12 -12l-151 152l12 12q37 37 37 89t-37 89t-89 37t-89 -37l-30 -30l-152 -152l-160 -160l-152 152l161 160l152 152l29 30q67 67 159 89.5t178 -3.5q11 75 68.5 126
+t135.5 51q85 0 145 -60.5t60 -145.5z" />
+    <glyph glyph-name="f1ab" unicode="&#xf1ab;" 
+d="M654 458q-1 -3 -12.5 0.5t-31.5 11.5l-20 9q-44 20 -87 49q-7 5 -41 31.5t-38 28.5q-67 -103 -134 -181q-81 -95 -105 -110q-4 -2 -19.5 -4t-18.5 0q6 4 82 92q21 24 85.5 115t78.5 118q17 30 51 98.5t36 77.5q-8 1 -110 -33q-8 -2 -27.5 -7.5t-34.5 -9.5t-17 -5
+q-2 -2 -2 -10.5t-1 -9.5q-5 -10 -31 -15q-23 -7 -47 0q-18 4 -28 21q-4 6 -5 23q6 2 24.5 5t29.5 6q58 16 105 32q100 35 102 35q10 2 43 19.5t44 21.5q9 3 21.5 8t14.5 5.5t6 -0.5q2 -12 -1 -33q0 -2 -12.5 -27t-26.5 -53.5t-17 -33.5q-25 -50 -77 -131l64 -28
+q12 -6 74.5 -32t67.5 -28q4 -1 10.5 -25.5t4.5 -30.5zM449 944q3 -15 -4 -28q-12 -23 -50 -38q-30 -12 -60 -12q-26 3 -49 26q-14 15 -18 41l1 3q3 -3 19.5 -5t26.5 0t58 16q36 12 55 14q17 0 21 -17zM1147 815l63 -227l-139 42zM39 15l694 232v1032l-694 -233v-1031z
+M1280 332l102 -31l-181 657l-100 31l-216 -536l102 -31l45 110l211 -65zM777 1294l573 -184v380zM1088 -29l158 -13l-54 -160l-40 66q-130 -83 -276 -108q-58 -12 -91 -12h-84q-79 0 -199.5 39t-183.5 85q-8 7 -8 16q0 8 5 13.5t13 5.5q4 0 18 -7.5t30.5 -16.5t20.5 -11
+q73 -37 159.5 -61.5t157.5 -24.5q95 0 167 14.5t157 50.5q15 7 30.5 15.5t34 19t28.5 16.5zM1536 1050v-1079l-774 246q-14 -6 -375 -127.5t-368 -121.5q-13 0 -18 13q0 1 -1 3v1078q3 9 4 10q5 6 20 11q107 36 149 50v384l558 -198q2 0 160.5 55t316 108.5t161.5 53.5
+q20 0 20 -21v-418z" />
+    <glyph glyph-name="_402" unicode="&#xf1ac;" horiz-adv-x="1792" 
+d="M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48
+l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23
+t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128
+q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128
+q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z" />
+    <glyph glyph-name="_403" unicode="&#xf1ad;" 
+d="M1344 1536q26 0 45 -19t19 -45v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280zM512 1248v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 992v-64q0 -14 9 -23t23 -9h64q14 0 23 9
+t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 736v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 480v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 160v64
+q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64
+q14 0 23 9t9 23zM384 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 -96v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9
+t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM896 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 928v64
+q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 160v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64
+q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9
+t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23z" />
+    <glyph glyph-name="_404" unicode="&#xf1ae;" horiz-adv-x="1280" 
+d="M1188 988l-292 -292v-824q0 -46 -33 -79t-79 -33t-79 33t-33 79v384h-64v-384q0 -46 -33 -79t-79 -33t-79 33t-33 79v824l-292 292q-28 28 -28 68t28 68q29 28 68.5 28t67.5 -28l228 -228h368l228 228q28 28 68 28t68 -28q28 -29 28 -68.5t-28 -67.5zM864 1152
+q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="uniF1B1" unicode="&#xf1b0;" horiz-adv-x="1664" 
+d="M780 1064q0 -60 -19 -113.5t-63 -92.5t-105 -39q-76 0 -138 57.5t-92 135.5t-30 151q0 60 19 113.5t63 92.5t105 39q77 0 138.5 -57.5t91.5 -135t30 -151.5zM438 581q0 -80 -42 -139t-119 -59q-76 0 -141.5 55.5t-100.5 133.5t-35 152q0 80 42 139.5t119 59.5
+q76 0 141.5 -55.5t100.5 -134t35 -152.5zM832 608q118 0 255 -97.5t229 -237t92 -254.5q0 -46 -17 -76.5t-48.5 -45t-64.5 -20t-76 -5.5q-68 0 -187.5 45t-182.5 45q-66 0 -192.5 -44.5t-200.5 -44.5q-183 0 -183 146q0 86 56 191.5t139.5 192.5t187.5 146t193 59zM1071 819
+q-61 0 -105 39t-63 92.5t-19 113.5q0 74 30 151.5t91.5 135t138.5 57.5q61 0 105 -39t63 -92.5t19 -113.5q0 -73 -30 -151t-92 -135.5t-138 -57.5zM1503 923q77 0 119 -59.5t42 -139.5q0 -74 -35 -152t-100.5 -133.5t-141.5 -55.5q-77 0 -119 59t-42 139q0 74 35 152.5
+t100.5 134t141.5 55.5z" />
+    <glyph glyph-name="_406" unicode="&#xf1b1;" horiz-adv-x="768" 
+d="M704 1008q0 -145 -57 -243.5t-152 -135.5l45 -821q2 -26 -16 -45t-44 -19h-192q-26 0 -44 19t-16 45l45 821q-95 37 -152 135.5t-57 243.5q0 128 42.5 249.5t117.5 200t160 78.5t160 -78.5t117.5 -200t42.5 -249.5z" />
+    <glyph glyph-name="_407" unicode="&#xf1b2;" horiz-adv-x="1792" 
+d="M896 -93l640 349v636l-640 -233v-752zM832 772l698 254l-698 254l-698 -254zM1664 1024v-768q0 -35 -18 -65t-49 -47l-704 -384q-28 -16 -61 -16t-61 16l-704 384q-31 17 -49 47t-18 65v768q0 40 23 73t61 47l704 256q22 8 44 8t44 -8l704 -256q38 -14 61 -47t23 -73z
+" />
+    <glyph glyph-name="_408" unicode="&#xf1b3;" horiz-adv-x="2304" 
+d="M640 -96l384 192v314l-384 -164v-342zM576 358l404 173l-404 173l-404 -173zM1664 -96l384 192v314l-384 -164v-342zM1600 358l404 173l-404 173l-404 -173zM1152 651l384 165v266l-384 -164v-267zM1088 1030l441 189l-441 189l-441 -189zM2176 512v-416q0 -36 -19 -67
+t-52 -47l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-4 2 -7 4q-2 -2 -7 -4l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-33 16 -52 47t-19 67v416q0 38 21.5 70t56.5 48l434 186v400q0 38 21.5 70t56.5 48l448 192q23 10 50 10t50 -10l448 -192q35 -16 56.5 -48t21.5 -70
+v-400l434 -186q36 -16 57 -48t21 -70z" />
+    <glyph glyph-name="_409" unicode="&#xf1b4;" horiz-adv-x="2048" 
+d="M1848 1197h-511v-124h511v124zM1596 771q-90 0 -146 -52.5t-62 -142.5h408q-18 195 -200 195zM1612 186q63 0 122 32t76 87h221q-100 -307 -427 -307q-214 0 -340.5 132t-126.5 347q0 208 130.5 345.5t336.5 137.5q138 0 240.5 -68t153 -179t50.5 -248q0 -17 -2 -47h-658
+q0 -111 57.5 -171.5t166.5 -60.5zM277 236h296q205 0 205 167q0 180 -199 180h-302v-347zM277 773h281q78 0 123.5 36.5t45.5 113.5q0 144 -190 144h-260v-294zM0 1282h594q87 0 155 -14t126.5 -47.5t90 -96.5t31.5 -154q0 -181 -172 -263q114 -32 172 -115t58 -204
+q0 -75 -24.5 -136.5t-66 -103.5t-98.5 -71t-121 -42t-134 -13h-611v1260z" />
+    <glyph glyph-name="_410" unicode="&#xf1b5;" 
+d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM499 1041h-371v-787h382q117 0 197 57.5t80 170.5q0 158 -143 200q107 52 107 164q0 57 -19.5 96.5
+t-56.5 60.5t-79 29.5t-97 8.5zM477 723h-176v184h163q119 0 119 -90q0 -94 -106 -94zM486 388h-185v217h189q124 0 124 -113q0 -104 -128 -104zM1136 356q-68 0 -104 38t-36 107h411q1 10 1 30q0 132 -74.5 220.5t-203.5 88.5q-128 0 -210 -86t-82 -216q0 -135 79 -217
+t213 -82q205 0 267 191h-138q-11 -34 -47.5 -54t-75.5 -20zM1126 722q113 0 124 -122h-254q4 56 39 89t91 33zM964 988h319v-77h-319v77z" />
+    <glyph glyph-name="_411" unicode="&#xf1b6;" horiz-adv-x="1792" 
+d="M1582 954q0 -101 -71.5 -172.5t-172.5 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172.5 -71.5t71.5 -172.5zM812 212q0 104 -73 177t-177 73q-27 0 -54 -6l104 -42q77 -31 109.5 -106.5t1.5 -151.5q-31 -77 -107 -109t-152 -1q-21 8 -62 24.5t-61 24.5
+q32 -60 91 -96.5t130 -36.5q104 0 177 73t73 177zM1642 953q0 126 -89.5 215.5t-215.5 89.5q-127 0 -216.5 -89.5t-89.5 -215.5q0 -127 89.5 -216t216.5 -89q126 0 215.5 89t89.5 216zM1792 953q0 -189 -133.5 -322t-321.5 -133l-437 -319q-12 -129 -109 -218t-229 -89
+q-121 0 -214 76t-118 192l-230 92v429l389 -157q79 48 173 48q13 0 35 -2l284 407q2 187 135.5 319t320.5 132q188 0 321.5 -133.5t133.5 -321.5z" />
+    <glyph glyph-name="_412" unicode="&#xf1b7;" 
+d="M1242 889q0 80 -57 136.5t-137 56.5t-136.5 -57t-56.5 -136q0 -80 56.5 -136.5t136.5 -56.5t137 56.5t57 136.5zM632 301q0 -83 -58 -140.5t-140 -57.5q-56 0 -103 29t-72 77q52 -20 98 -40q60 -24 120 1.5t85 86.5q24 60 -1.5 120t-86.5 84l-82 33q22 5 42 5
+q82 0 140 -57.5t58 -140.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v153l172 -69q20 -92 93.5 -152t168.5 -60q104 0 181 70t87 173l345 252q150 0 255.5 105.5t105.5 254.5q0 150 -105.5 255.5t-255.5 105.5
+q-148 0 -253 -104.5t-107 -252.5l-225 -322q-9 1 -28 1q-75 0 -137 -37l-297 119v468q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5zM1289 887q0 -100 -71 -170.5t-171 -70.5t-170.5 70.5t-70.5 170.5t70.5 171t170.5 71q101 0 171.5 -70.5t70.5 -171.5z
+" />
+    <glyph glyph-name="_413" unicode="&#xf1b8;" horiz-adv-x="1792" 
+d="M836 367l-15 -368l-2 -22l-420 29q-36 3 -67 31.5t-47 65.5q-11 27 -14.5 55t4 65t12 55t21.5 64t19 53q78 -12 509 -28zM449 953l180 -379l-147 92q-63 -72 -111.5 -144.5t-72.5 -125t-39.5 -94.5t-18.5 -63l-4 -21l-190 357q-17 26 -18 56t6 47l8 18q35 63 114 188
+l-140 86zM1680 436l-188 -359q-12 -29 -36.5 -46.5t-43.5 -20.5l-18 -4q-71 -7 -219 -12l8 -164l-230 367l211 362l7 -173q170 -16 283 -5t170 33zM895 1360q-47 -63 -265 -435l-317 187l-19 12l225 356q20 31 60 45t80 10q24 -2 48.5 -12t42 -21t41.5 -33t36 -34.5
+t36 -39.5t32 -35zM1550 1053l212 -363q18 -37 12.5 -76t-27.5 -74q-13 -20 -33 -37t-38 -28t-48.5 -22t-47 -16t-51.5 -14t-46 -12q-34 72 -265 436l313 195zM1407 1279l142 83l-220 -373l-419 20l151 86q-34 89 -75 166t-75.5 123.5t-64.5 80t-47 46.5l-17 13l405 -1
+q31 3 58 -10.5t39 -28.5l11 -15q39 -61 112 -190z" />
+    <glyph glyph-name="_414" unicode="&#xf1b9;" horiz-adv-x="2048" 
+d="M480 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM516 768h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5zM1888 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM2048 544v-384
+q0 -14 -9 -23t-23 -9h-96v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-1024v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5t179 63.5h768q98 0 179 -63.5t104 -157.5
+l105 -419h28q93 0 158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="_415" unicode="&#xf1ba;" horiz-adv-x="2048" 
+d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5
+t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5z
+M1728 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47z" />
+    <glyph glyph-name="_416" unicode="&#xf1bb;" 
+d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384
+q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" />
+    <glyph glyph-name="_417" unicode="&#xf1bc;" 
+d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64
+q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t51.5 -21q11 0 40 8q133 37 307 37
+q159 0 309.5 -34t253.5 -95q21 -12 40 -12q29 0 50.5 20.5t21.5 51.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_418" unicode="&#xf1bd;" horiz-adv-x="1024" 
+d="M1024 1233l-303 -582l24 -31h279v-415h-507l-44 -30l-142 -273l-30 -30h-301v303l303 583l-24 30h-279v415h507l44 30l142 273l30 30h301v-303z" />
+    <glyph glyph-name="_419" unicode="&#xf1be;" horiz-adv-x="2304" 
+d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11
+q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l-25 -237q0 -11 -11 -11q-10 0 -12 11l-21 237l21 245
+q2 12 12 12q11 0 11 -12zM307 657l23 -252l-23 -244q-2 -13 -14 -13q-13 0 -13 13l-21 244l21 252q0 13 13 13q12 0 14 -13zM401 639l21 -234l-21 -246q-2 -16 -16 -16q-6 0 -10.5 4.5t-4.5 11.5l-20 246l20 234q0 6 4.5 10.5t10.5 4.5q14 0 16 -15zM784 164zM495 785
+l21 -380l-21 -246q0 -7 -5 -12.5t-12 -5.5q-16 0 -18 18l-18 246l18 380q2 18 18 18q7 0 12 -5.5t5 -12.5zM589 871l19 -468l-19 -244q0 -8 -5.5 -13.5t-13.5 -5.5q-18 0 -20 19l-16 244l16 468q2 19 20 19q8 0 13.5 -5.5t5.5 -13.5zM687 911l18 -506l-18 -242
+q-2 -21 -22 -21q-19 0 -21 21l-16 242l16 506q0 9 6.5 15.5t14.5 6.5q9 0 15 -6.5t7 -15.5zM1079 169v0v0v0zM881 915l15 -510l-15 -239q0 -10 -7.5 -17.5t-17.5 -7.5t-17 7t-8 18l-14 239l14 510q0 11 7.5 18t17.5 7t17.5 -7t7.5 -18zM980 896l14 -492l-14 -236
+q0 -11 -8 -19t-19 -8t-19 8t-9 19l-12 236l12 492q1 12 9 20t19 8t18.5 -8t8.5 -20zM1192 404l-14 -231v0q0 -13 -9 -22t-22 -9t-22 9t-10 22l-6 114l-6 117l12 636v3q2 15 12 24q9 7 20 7q8 0 15 -5q14 -8 16 -26zM2304 423q0 -117 -83 -199.5t-200 -82.5h-786
+q-13 2 -22 11t-9 22v899q0 23 28 33q85 34 181 34q195 0 338 -131.5t160 -323.5q53 22 110 22q117 0 200 -83t83 -201z" />
+    <glyph glyph-name="uniF1C0" unicode="&#xf1c0;" 
+d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127
+t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5
+t-103 128v128q0 69 103 128t280 93.5t385 34.5z" />
+    <glyph glyph-name="uniF1C1" unicode="&#xf1c1;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t132 96.5q14 9 23 -6q2 -2 2 -4q52 85 107 197
+q68 136 104 262q-24 82 -30.5 159.5t6.5 127.5q11 40 42 40h21h1q23 0 35 -15q18 -21 9 -68q-2 -6 -4 -8q1 -3 1 -8v-30q-2 -123 -14 -192q55 -164 146 -238zM318 54q52 24 137 158q-51 -40 -87.5 -84t-49.5 -74zM716 974q-15 -42 -2 -132q1 7 7 44q0 3 7 43q1 4 4 8
+q-1 1 -1 2q-1 2 -1 3q-1 22 -13 36q0 -1 -1 -2v-2zM592 313q135 54 284 81q-2 1 -13 9.5t-16 13.5q-76 67 -127 176q-27 -86 -83 -197q-30 -56 -45 -83zM1238 329q-24 24 -140 24q76 -28 124 -28q14 0 18 1q0 1 -2 3z" />
+    <glyph glyph-name="_422" unicode="&#xf1c2;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M233 768v-107h70l164 -661h159l128 485q7 20 10 46q2 16 2 24h4l3 -24q1 -3 3.5 -20t5.5 -26l128 -485h159l164 661h70v107h-300v-107h90l-99 -438q-5 -20 -7 -46l-2 -21h-4q0 3 -0.5 6.5t-1.5 8t-1 6.5q-1 5 -4 21t-5 25l-144 545h-114l-144 -545q-2 -9 -4.5 -24.5
+t-3.5 -21.5l-4 -21h-4l-2 21q-2 26 -7 46l-99 438h90v107h-300z" />
+    <glyph glyph-name="_423" unicode="&#xf1c3;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M429 106v-106h281v106h-75l103 161q5 7 10 16.5t7.5 13.5t3.5 4h2q1 -4 5 -10q2 -4 4.5 -7.5t6 -8t6.5 -8.5l107 -161h-76v-106h291v106h-68l-192 273l195 282h67v107h-279v-107h74l-103 -159q-4 -7 -10 -16.5t-9 -13.5l-2 -3h-2q-1 4 -5 10q-6 11 -17 23l-106 159h76v107
+h-290v-107h68l189 -272l-194 -283h-68z" />
+    <glyph glyph-name="_424" unicode="&#xf1c4;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M416 106v-106h327v106h-93v167h137q76 0 118 15q67 23 106.5 87t39.5 146q0 81 -37 141t-100 87q-48 19 -130 19h-368v-107h92v-555h-92zM769 386h-119v268h120q52 0 83 -18q56 -33 56 -115q0 -89 -62 -120q-31 -15 -78 -15z" />
+    <glyph glyph-name="_425" unicode="&#xf1c5;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M1280 320v-320h-1024v192l192 192l128 -128l384 384zM448 512q-80 0 -136 56t-56 136t56 136t136 56t136 -56t56 -136t-56 -136t-136 -56z" />
+    <glyph glyph-name="_426" unicode="&#xf1c6;" 
+d="M640 1152v128h-128v-128h128zM768 1024v128h-128v-128h128zM640 896v128h-128v-128h128zM768 768v128h-128v-128h128zM1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400
+v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-128v-128h-128v128h-512v-1536h1280zM781 593l107 -349q8 -27 8 -52q0 -83 -72.5 -137.5t-183.5 -54.5t-183.5 54.5t-72.5 137.5q0 25 8 52q21 63 120 396v128h128v-128h79
+q22 0 39 -13t23 -34zM640 128q53 0 90.5 19t37.5 45t-37.5 45t-90.5 19t-90.5 -19t-37.5 -45t37.5 -45t90.5 -19z" />
+    <glyph glyph-name="_427" unicode="&#xf1c7;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M620 686q20 -8 20 -30v-544q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-166 167h-131q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h131l166 167q16 15 35 7zM1037 -3q31 0 50 24q129 159 129 363t-129 363q-16 21 -43 24t-47 -14q-21 -17 -23.5 -43.5t14.5 -47.5
+q100 -123 100 -282t-100 -282q-17 -21 -14.5 -47.5t23.5 -42.5q18 -15 40 -15zM826 145q27 0 47 20q87 93 87 219t-87 219q-18 19 -45 20t-46 -17t-20 -44.5t18 -46.5q52 -57 52 -131t-52 -131q-19 -20 -18 -46.5t20 -44.5q20 -17 44 -17z" />
+    <glyph glyph-name="_428" unicode="&#xf1c8;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M768 768q52 0 90 -38t38 -90v-384q0 -52 -38 -90t-90 -38h-384q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h384zM1260 766q20 -8 20 -30v-576q0 -22 -20 -30q-8 -2 -12 -2q-14 0 -23 9l-265 266v90l265 266q9 9 23 9q4 0 12 -2z" />
+    <glyph glyph-name="_429" unicode="&#xf1c9;" 
+d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z
+M480 768q8 11 21 12.5t24 -6.5l51 -38q11 -8 12.5 -21t-6.5 -24l-182 -243l182 -243q8 -11 6.5 -24t-12.5 -21l-51 -38q-11 -8 -24 -6.5t-21 12.5l-226 301q-14 19 0 38zM1282 467q14 -19 0 -38l-226 -301q-8 -11 -21 -12.5t-24 6.5l-51 38q-11 8 -12.5 21t6.5 24l182 243
+l-182 243q-8 11 -6.5 24t12.5 21l51 38q11 8 24 6.5t21 -12.5zM662 6q-13 2 -20.5 13t-5.5 24l138 831q2 13 13 20.5t24 5.5l63 -10q13 -2 20.5 -13t5.5 -24l-138 -831q-2 -13 -13 -20.5t-24 -5.5z" />
+    <glyph glyph-name="_430" unicode="&#xf1ca;" 
+d="M1497 709v-198q-101 -23 -198 -23q-65 -136 -165.5 -271t-181.5 -215.5t-128 -106.5q-80 -45 -162 3q-28 17 -60.5 43.5t-85 83.5t-102.5 128.5t-107.5 184t-105.5 244t-91.5 314.5t-70.5 390h283q26 -218 70 -398.5t104.5 -317t121.5 -235.5t140 -195q169 169 287 406
+q-142 72 -223 220t-81 333q0 192 104 314.5t284 122.5q178 0 273 -105.5t95 -297.5q0 -159 -58 -286q-7 -1 -19.5 -3t-46 -2t-63 6t-62 25.5t-50.5 51.5q31 103 31 184q0 87 -29 132t-79 45q-53 0 -85 -49.5t-32 -140.5q0 -186 105 -293.5t267 -107.5q62 0 121 14z" />
+    <glyph glyph-name="_431" unicode="&#xf1cb;" horiz-adv-x="1792" 
+d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546
+q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" />
+    <glyph glyph-name="_432" unicode="&#xf1cc;" horiz-adv-x="2048" 
+d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94
+q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44 0 84.5 -21t73 -55t65 -75t69 -82t77 -75t97 -55
+t121.5 -21q121 0 204.5 71.5t83.5 190.5q0 121 -84 192t-207 71q-143 0 -241 -97l93 -108q66 64 142 64q52 0 92 -33t40 -84q0 -57 -37 -91.5t-94 -34.5q-43 0 -82.5 21t-72 55t-65.5 75t-69.5 82t-77.5 75t-96.5 55t-118.5 21q-122 0 -207 -70.5t-85 -189.5z" />
+    <glyph glyph-name="_433" unicode="&#xf1cd;" horiz-adv-x="1792" 
+d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194
+q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5
+t271.5 -112.5zM1380 473l194 -194q90 171 90 361t-90 361l-194 -194q28 -82 28 -167t-28 -167z" />
+    <glyph glyph-name="_434" unicode="&#xf1ce;" horiz-adv-x="1792" 
+d="M1760 640q0 -176 -68.5 -336t-184 -275.5t-275.5 -184t-336 -68.5t-336 68.5t-275.5 184t-184 275.5t-68.5 336q0 213 97 398.5t265 305.5t374 151v-228q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5
+t136.5 204t51 248.5q0 230 -145.5 406t-366.5 221v228q206 -31 374 -151t265 -305.5t97 -398.5z" />
+    <glyph glyph-name="uniF1D0" unicode="&#xf1d0;" horiz-adv-x="1792" 
+d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41
+t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115q-44 -14 -85 -50t-60 -65l-19 -29q-31 -56 -48 -133.5t-7 -170
+t57 -156.5q33 -45 77.5 -60.5t85 -5.5t76 26.5t57.5 33.5l21 16q60 53 96.5 115t48.5 121.5t10 121.5t-18 118t-37 107.5t-45.5 93t-45 72t-34.5 47.5l-13 17q-14 13 -7 13l10 -3q40 -29 62.5 -46t62 -50t64 -58t58.5 -65t55.5 -77t45.5 -88t38 -103t23.5 -117t10.5 -136
+q3 -259 -108 -465t-312 -321t-456 -115q-185 0 -351 74t-283.5 198t-184 293t-60.5 353z" />
+    <glyph glyph-name="uniF1D1" unicode="&#xf1d1;" horiz-adv-x="1792" 
+d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251
+l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241q-52 -10 -98 -10t-98 10l48 241q-90 18 -147 85l-185 -162
+q-67 77 -98 169l232 80q-14 42 -14 85t14 85l-233 80q33 93 99 169l185 -162q59 68 147 86l-48 240q44 10 98 10t98 -10l-48 -240q88 -18 147 -86l185 162q66 -76 99 -169zM874 1448v-66q-65 -2 -121 -13l17 -86q-220 -42 -368 -211l-65 56q-38 -42 -73 -98l-57 33
+q106 172 282 275.5t385 109.5zM1705 640q0 -205 -98 -385l-57 33q27 52 49 112l-83 28q36 103 36 212q0 112 -35 212l82 28q-19 56 -49 112l57 33q98 -180 98 -385zM1585 1063l-57 -33q-35 56 -73 98l-65 -56q-148 169 -368 211l17 86q-56 11 -121 13v66q209 -6 385 -109.5
+t282 -275.5zM1748 640q0 173 -67.5 331t-181.5 272t-272 181.5t-331 67.5t-331 -67.5t-272 -181.5t-181.5 -272t-67.5 -331t67.5 -331t181.5 -272t272 -181.5t331 -67.5t331 67.5t272 181.5t181.5 272t67.5 331zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71
+t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF1D2" unicode="&#xf1d2;" 
+d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85
+q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387q0 46 2 69h-137q3 -23 3 -71v-392
+q0 -50 -3 -75zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q3 0 11 -0.5t12 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072
+q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_438" unicode="&#xf1d3;" horiz-adv-x="1792" 
+d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58
+q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 108.5t-47.5 165.5q0 139 95 231.5t235 92.5q96 0 178 -47
+q98 0 218 47zM1123 220h-222q4 45 4 134v609q0 94 -4 128h222q-4 -33 -4 -124v-613q0 -89 4 -134zM1724 442v-196q-71 -39 -174 -39q-62 0 -107 20t-70 50t-39.5 78t-18.5 92t-4 103v351h2v4q-7 0 -19 1t-18 1q-21 0 -59 -6v190h96v76q0 54 -6 89h227q-6 -41 -6 -165h171
+v-190q-15 0 -43.5 2t-42.5 2h-85v-365q0 -131 87 -131q61 0 109 33zM1148 1389q0 -58 -39 -101.5t-96 -43.5q-58 0 -98 43.5t-40 101.5q0 59 39.5 103t98.5 44q58 0 96.5 -44.5t38.5 -102.5z" />
+    <glyph glyph-name="_439" unicode="&#xf1d4;" 
+d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="uniF1D5" unicode="&#xf1d5;" horiz-adv-x="1280" 
+d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5
+t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186t-102 153t-153 102t-186 38t-186 -38t-153 -102t-102 -153
+t-38 -186q0 -114 52 -218q10 -20 3.5 -40t-25.5 -30t-39.5 -3t-30.5 26q-64 123 -64 265q0 119 46.5 227t124.5 186t186 124t226 46q158 0 292.5 -78t212.5 -212.5t78 -292.5z" />
+    <glyph glyph-name="uniF1D6" unicode="&#xf1d6;" horiz-adv-x="1792" 
+d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5
+q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 -4 -16t-7 -18q-64 -97 -302 -97q-53 0 -110.5 9t-98 20
+t-104.5 30q-15 5 -23 7q-14 4 -46 4.5t-40 1.5q-41 -45 -127.5 -65t-168.5 -20q-35 0 -69 1.5t-93 9t-101 20.5t-74.5 40t-32.5 64q0 40 10 59.5t41 48.5q11 2 40.5 13t49.5 12q4 0 14 2q2 2 2 4l-2 3q-48 11 -108 105.5t-73 156.5l-5 3q-4 0 -12 -20q-18 -41 -54.5 -74.5
+t-77.5 -37.5h-1q-4 0 -6 4.5t-5 5.5q-23 54 -23 100q0 275 252 466z" />
+    <glyph glyph-name="uniF1D7" unicode="&#xf1d7;" horiz-adv-x="2048" 
+d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25
+q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -70 4q-169 0 -311 -77t-223.5 -208.5t-81.5 -287.5
+q0 -78 23 -152q-35 -3 -68 -3q-26 0 -50 1.5t-55 6.5t-44.5 7t-54.5 10.5t-50 10.5l-253 -127l72 218q-290 203 -290 490q0 169 97.5 311t264 223.5t363.5 81.5q176 0 332.5 -66t262 -182.5t136.5 -260.5zM2048 404q0 -117 -68.5 -223.5t-185.5 -193.5l55 -181l-199 109
+q-150 -37 -218 -37q-169 0 -311 70.5t-223.5 191.5t-81.5 264t81.5 264t223.5 191.5t311 70.5q161 0 303 -70.5t227.5 -192t85.5 -263.5z" />
+    <glyph glyph-name="_443" unicode="&#xf1d8;" horiz-adv-x="1792" 
+d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-453 185l-242 -295q-18 -23 -49 -23q-13 0 -22 4q-19 7 -30.5 23.5t-11.5 36.5v349l864 1059l-1069 -925l-395 162q-37 14 -40 55q-2 40 32 59l1664 960q15 9 32 9q20 0 36 -11z" />
+    <glyph glyph-name="_444" unicode="&#xf1d9;" horiz-adv-x="1792" 
+d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-527 215l-298 -327q-18 -21 -47 -21q-14 0 -23 4q-19 7 -30 23.5t-11 36.5v452l-472 193q-37 14 -40 55q-3 39 32 59l1664 960q35 21 68 -2zM1422 26l221 1323l-1434 -827l336 -137
+l863 639l-478 -797z" />
+    <glyph glyph-name="_445" unicode="&#xf1da;" 
+d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5
+t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298zM896 928v-448q0 -14 -9 -23
+t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_446" unicode="&#xf1db;" 
+d="M768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103
+t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_447" unicode="&#xf1dc;" horiz-adv-x="1792" 
+d="M1682 -128q-44 0 -132.5 3.5t-133.5 3.5q-44 0 -132 -3.5t-132 -3.5q-24 0 -37 20.5t-13 45.5q0 31 17 46t39 17t51 7t45 15q33 21 33 140l-1 391q0 21 -1 31q-13 4 -50 4h-675q-38 0 -51 -4q-1 -10 -1 -31l-1 -371q0 -142 37 -164q16 -10 48 -13t57 -3.5t45 -15
+t20 -45.5q0 -26 -12.5 -48t-36.5 -22q-47 0 -139.5 3.5t-138.5 3.5q-43 0 -128 -3.5t-127 -3.5q-23 0 -35.5 21t-12.5 45q0 30 15.5 45t36 17.5t47.5 7.5t42 15q33 23 33 143l-1 57v813q0 3 0.5 26t0 36.5t-1.5 38.5t-3.5 42t-6.5 36.5t-11 31.5t-16 18q-15 10 -45 12t-53 2
+t-41 14t-18 45q0 26 12 48t36 22q46 0 138.5 -3.5t138.5 -3.5q42 0 126.5 3.5t126.5 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17 -43.5t-38.5 -14.5t-49.5 -4t-43 -13q-35 -21 -35 -160l1 -320q0 -21 1 -32q13 -3 39 -3h699q25 0 38 3q1 11 1 32l1 320q0 139 -35 160
+q-18 11 -58.5 12.5t-66 13t-25.5 49.5q0 26 12.5 48t37.5 22q44 0 132 -3.5t132 -3.5q43 0 129 3.5t129 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17.5 -44t-40 -14.5t-51.5 -3t-44 -12.5q-35 -23 -35 -161l1 -943q0 -119 34 -140q16 -10 46 -13.5t53.5 -4.5t41.5 -15.5t18 -44.5
+q0 -26 -12 -48t-36 -22z" />
+    <glyph glyph-name="_448" unicode="&#xf1dd;" horiz-adv-x="1280" 
+d="M1278 1347v-73q0 -29 -18.5 -61t-42.5 -32q-50 0 -54 -1q-26 -6 -32 -31q-3 -11 -3 -64v-1152q0 -25 -18 -43t-43 -18h-108q-25 0 -43 18t-18 43v1218h-143v-1218q0 -25 -17.5 -43t-43.5 -18h-108q-26 0 -43.5 18t-17.5 43v496q-147 12 -245 59q-126 58 -192 179
+q-64 117 -64 259q0 166 88 286q88 118 209 159q111 37 417 37h479q25 0 43 -18t18 -43z" />
+    <glyph glyph-name="_449" unicode="&#xf1de;" 
+d="M352 128v-128h-352v128h352zM704 256q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM864 640v-128h-864v128h864zM224 1152v-128h-224v128h224zM1536 128v-128h-736v128h736zM576 1280q26 0 45 -19t19 -45v-256
+q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1216 768q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1536 640v-128h-224v128h224zM1536 1152v-128h-864v128h864z" />
+    <glyph glyph-name="uniF1E0" unicode="&#xf1e0;" 
+d="M1216 512q133 0 226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5q0 12 2 34l-360 180q-92 -86 -218 -86q-133 0 -226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5q126 0 218 -86l360 180q-2 22 -2 34q0 133 93.5 226.5t226.5 93.5
+t226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5q-126 0 -218 86l-360 -180q2 -22 2 -34t-2 -34l360 -180q92 86 218 86z" />
+    <glyph glyph-name="_451" unicode="&#xf1e1;" 
+d="M1280 341q0 88 -62.5 151t-150.5 63q-84 0 -145 -58l-241 120q2 16 2 23t-2 23l241 120q61 -58 145 -58q88 0 150.5 63t62.5 151t-62.5 150.5t-150.5 62.5t-151 -62.5t-63 -150.5q0 -7 2 -23l-241 -120q-62 57 -145 57q-88 0 -150.5 -62.5t-62.5 -150.5t62.5 -150.5
+t150.5 -62.5q83 0 145 57l241 -120q-2 -16 -2 -23q0 -88 63 -150.5t151 -62.5t150.5 62.5t62.5 150.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_452" unicode="&#xf1e2;" horiz-adv-x="1792" 
+d="M571 947q-10 25 -34 35t-49 0q-108 -44 -191 -127t-127 -191q-10 -25 0 -49t35 -34q13 -5 24 -5q42 0 60 40q34 84 98.5 148.5t148.5 98.5q25 11 35 35t0 49zM1513 1303l46 -46l-244 -243l68 -68q19 -19 19 -45.5t-19 -45.5l-64 -64q89 -161 89 -343q0 -143 -55.5 -273.5
+t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5q182 0 343 -89l64 64q19 19 45.5 19t45.5 -19l68 -68zM1521 1359q-10 -10 -22 -10q-13 0 -23 10l-91 90q-9 10 -9 23t9 23q10 9 23 9t23 -9l90 -91
+q10 -9 10 -22.5t-10 -22.5zM1751 1129q-11 -9 -23 -9t-23 9l-90 91q-10 9 -10 22.5t10 22.5q9 10 22.5 10t22.5 -10l91 -90q9 -10 9 -23t-9 -23zM1792 1312q0 -14 -9 -23t-23 -9h-96q-14 0 -23 9t-9 23t9 23t23 9h96q14 0 23 -9t9 -23zM1600 1504v-96q0 -14 -9 -23t-23 -9
+t-23 9t-9 23v96q0 14 9 23t23 9t23 -9t9 -23zM1751 1449l-91 -90q-10 -10 -22 -10q-13 0 -23 10q-10 9 -10 22.5t10 22.5l90 91q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
+    <glyph glyph-name="_453" unicode="&#xf1e3;" horiz-adv-x="1792" 
+d="M609 720l287 208l287 -208l-109 -336h-355zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1515 186q149 203 149 454v3l-102 -89l-240 224l63 323
+l134 -12q-150 206 -389 282l53 -124l-287 -159l-287 159l53 124q-239 -76 -389 -282l135 12l62 -323l-240 -224l-102 89v-3q0 -251 149 -454l30 132l326 -40l139 -298l-116 -69q117 -39 240 -39t240 39l-116 69l139 298l326 40z" />
+    <glyph glyph-name="_454" unicode="&#xf1e4;" horiz-adv-x="1792" 
+d="M448 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM256 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM832 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23
+v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM66 768q-28 0 -47 19t-19 46v129h514v-129q0 -27 -19 -46t-46 -19h-383zM1216 224v-192q0 -14 -9 -23t-23 -9h-192
+q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1600 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23
+zM1408 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1016v-13h-514v10q0 104 -382 102q-382 -1 -382 -102v-10h-514v13q0 17 8.5 43t34 64t65.5 75.5t110.5 76t160 67.5t224 47.5t293.5 18.5t293 -18.5t224 -47.5
+t160.5 -67.5t110.5 -76t65.5 -75.5t34 -64t8.5 -43zM1792 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 962v-129q0 -27 -19 -46t-46 -19h-384q-27 0 -46 19t-19 46v129h514z" />
+    <glyph glyph-name="_455" unicode="&#xf1e5;" horiz-adv-x="1792" 
+d="M704 1216v-768q0 -26 -19 -45t-45 -19v-576q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v512l249 873q7 23 31 23h424zM1024 1216v-704h-256v704h256zM1792 320v-512q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v576q-26 0 -45 19t-19 45v768h424q24 0 31 -23z
+M736 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23zM1408 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_456" unicode="&#xf1e6;" horiz-adv-x="1792" 
+d="M1755 1083q37 -38 37 -90.5t-37 -90.5l-401 -400l150 -150l-160 -160q-163 -163 -389.5 -186.5t-411.5 100.5l-362 -362h-181v181l362 362q-124 185 -100.5 411.5t186.5 389.5l160 160l150 -150l400 401q38 37 91 37t90 -37t37 -90.5t-37 -90.5l-400 -401l234 -234
+l401 400q38 37 91 37t90 -37z" />
+    <glyph glyph-name="_457" unicode="&#xf1e7;" horiz-adv-x="1792" 
+d="M873 796q0 -83 -63.5 -142.5t-152.5 -59.5t-152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59t152.5 -59t63.5 -143zM1375 796q0 -83 -63 -142.5t-153 -59.5q-89 0 -152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59q90 0 153 -59t63 -143zM1600 616v667q0 87 -32 123.5
+t-111 36.5h-1112q-83 0 -112.5 -34t-29.5 -126v-673q43 -23 88.5 -40t81 -28t81 -18.5t71 -11t70 -4t58.5 -0.5t56.5 2t44.5 2q68 1 95 -27q6 -6 10 -9q26 -25 61 -51q7 91 118 87q5 0 36.5 -1.5t43 -2t45.5 -1t53 1t54.5 4.5t61 8.5t62 13.5t67 19.5t67.5 27t72 34.5z
+M1763 621q-121 -149 -372 -252q84 -285 -23 -465q-66 -113 -183 -148q-104 -32 -182 15q-86 51 -82 164l-1 326v1q-8 2 -24.5 6t-23.5 5l-1 -338q4 -114 -83 -164q-79 -47 -183 -15q-117 36 -182 150q-105 180 -22 463q-251 103 -372 252q-25 37 -4 63t60 -1q4 -2 11.5 -7
+t10.5 -8v694q0 72 47 123t114 51h1257q67 0 114 -51t47 -123v-694l21 15q39 27 60 1t-4 -63z" />
+    <glyph glyph-name="_458" unicode="&#xf1e8;" horiz-adv-x="1792" 
+d="M896 1102v-434h-145v434h145zM1294 1102v-434h-145v434h145zM1294 342l253 254v795h-1194v-1049h326v-217l217 217h398zM1692 1536v-1013l-434 -434h-326l-217 -217h-217v217h-398v1158l109 289h1483z" />
+    <glyph glyph-name="_459" unicode="&#xf1e9;" 
+d="M773 217v-127q-1 -292 -6 -305q-12 -32 -51 -40q-54 -9 -181.5 38t-162.5 89q-13 15 -17 36q-1 12 4 26q4 10 34 47t181 216q1 0 60 70q15 19 39.5 24.5t49.5 -3.5q24 -10 37.5 -29t12.5 -42zM624 468q-3 -55 -52 -70l-120 -39q-275 -88 -292 -88q-35 2 -54 36
+q-12 25 -17 75q-8 76 1 166.5t30 124.5t56 32q13 0 202 -77q71 -29 115 -47l84 -34q23 -9 35.5 -30.5t11.5 -48.5zM1450 171q-7 -54 -91.5 -161t-135.5 -127q-37 -14 -63 7q-14 10 -184 287l-47 77q-14 21 -11.5 46t19.5 46q35 43 83 26q1 -1 119 -40q203 -66 242 -79.5
+t47 -20.5q28 -22 22 -61zM778 803q5 -102 -54 -122q-58 -17 -114 71l-378 598q-8 35 19 62q41 43 207.5 89.5t224.5 31.5q40 -10 49 -45q3 -18 22 -305.5t24 -379.5zM1440 695q3 -39 -26 -59q-15 -10 -329 -86q-67 -15 -91 -23l1 2q-23 -6 -46 4t-37 32q-30 47 0 87
+q1 1 75 102q125 171 150 204t34 39q28 19 65 2q48 -23 123 -133.5t81 -167.5v-3z" />
+    <glyph glyph-name="_460" unicode="&#xf1ea;" horiz-adv-x="2048" 
+d="M1024 1024h-384v-384h384v384zM1152 384v-128h-640v128h640zM1152 1152v-640h-640v640h640zM1792 384v-128h-512v128h512zM1792 640v-128h-512v128h512zM1792 896v-128h-512v128h512zM1792 1152v-128h-512v128h512zM256 192v960h-128v-960q0 -26 19 -45t45 -19t45 19
+t19 45zM1920 192v1088h-1536v-1088q0 -33 -11 -64h1483q26 0 45 19t19 45zM2048 1408v-1216q0 -80 -56 -136t-136 -56h-1664q-80 0 -136 56t-56 136v1088h256v128h1792z" />
+    <glyph glyph-name="_461" unicode="&#xf1eb;" horiz-adv-x="2048" 
+d="M1024 13q-20 0 -93 73.5t-73 93.5q0 32 62.5 54t103.5 22t103.5 -22t62.5 -54q0 -20 -73 -93.5t-93 -73.5zM1294 284q-2 0 -40 25t-101.5 50t-128.5 25t-128.5 -25t-101 -50t-40.5 -25q-18 0 -93.5 75t-75.5 93q0 13 10 23q78 77 196 121t233 44t233 -44t196 -121
+q10 -10 10 -23q0 -18 -75.5 -93t-93.5 -75zM1567 556q-11 0 -23 8q-136 105 -252 154.5t-268 49.5q-85 0 -170.5 -22t-149 -53t-113.5 -62t-79 -53t-31 -22q-17 0 -92 75t-75 93q0 12 10 22q132 132 320 205t380 73t380 -73t320 -205q10 -10 10 -22q0 -18 -75 -93t-92 -75z
+M1838 827q-11 0 -22 9q-179 157 -371.5 236.5t-420.5 79.5t-420.5 -79.5t-371.5 -236.5q-11 -9 -22 -9q-17 0 -92.5 75t-75.5 93q0 13 10 23q187 186 445 288t527 102t527 -102t445 -288q10 -10 10 -23q0 -18 -75.5 -93t-92.5 -75z" />
+    <glyph glyph-name="_462" unicode="&#xf1ec;" horiz-adv-x="1792" 
+d="M384 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5
+t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5
+t37.5 90.5zM384 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 768q0 53 -37.5 90.5t-90.5 37.5
+t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1536 0v384q0 52 -38 90t-90 38t-90 -38t-38 -90v-384q0 -52 38 -90t90 -38t90 38t38 90zM1152 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z
+M1536 1088v256q0 26 -19 45t-45 19h-1280q-26 0 -45 -19t-19 -45v-256q0 -26 19 -45t45 -19h1280q26 0 45 19t19 45zM1536 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1408v-1536q0 -52 -38 -90t-90 -38
+h-1408q-52 0 -90 38t-38 90v1536q0 52 38 90t90 38h1408q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_463" unicode="&#xf1ed;" 
+d="M1519 890q18 -84 -4 -204q-87 -444 -565 -444h-44q-25 0 -44 -16.5t-24 -42.5l-4 -19l-55 -346l-2 -15q-5 -26 -24.5 -42.5t-44.5 -16.5h-251q-21 0 -33 15t-9 36q9 56 26.5 168t26.5 168t27 167.5t27 167.5q5 37 43 37h131q133 -2 236 21q175 39 287 144q102 95 155 246
+q24 70 35 133q1 6 2.5 7.5t3.5 1t6 -3.5q79 -59 98 -162zM1347 1172q0 -107 -46 -236q-80 -233 -302 -315q-113 -40 -252 -42q0 -1 -90 -1l-90 1q-100 0 -118 -96q-2 -8 -85 -530q-1 -10 -12 -10h-295q-22 0 -36.5 16.5t-11.5 38.5l232 1471q5 29 27.5 48t51.5 19h598
+q34 0 97.5 -13t111.5 -32q107 -41 163.5 -123t56.5 -196z" />
+    <glyph glyph-name="_464" unicode="&#xf1ee;" horiz-adv-x="1792" 
+d="M441 864q33 0 52 -26q266 -364 362 -774h-446q-127 441 -367 749q-12 16 -3 33.5t29 17.5h373zM1000 507q-49 -199 -125 -393q-79 310 -256 594q40 221 44 449q211 -340 337 -650zM1099 1216q235 -324 384.5 -698.5t184.5 -773.5h-451q-41 665 -553 1472h435zM1792 640
+q0 -424 -101 -812q-67 560 -359 1083q-25 301 -106 584q-4 16 5.5 28.5t25.5 12.5h359q21 0 38.5 -13t22.5 -33q115 -409 115 -850z" />
+    <glyph glyph-name="uniF1F0" unicode="&#xf1f0;" horiz-adv-x="2304" 
+d="M1975 546h-138q14 37 66 179l3 9q4 10 10 26t9 26l12 -55zM531 611l-58 295q-11 54 -75 54h-268l-2 -13q311 -79 403 -336zM710 960l-162 -438l-17 89q-26 70 -85 129.5t-131 88.5l135 -510h175l261 641h-176zM849 318h166l104 642h-166zM1617 944q-69 27 -149 27
+q-123 0 -201 -59t-79 -153q-1 -102 145 -174q48 -23 67 -41t19 -39q0 -30 -30 -46t-69 -16q-86 0 -156 33l-22 11l-23 -144q74 -34 185 -34q130 -1 208.5 59t80.5 160q0 106 -140 174q-49 25 -71 42t-22 38q0 22 24.5 38.5t70.5 16.5q70 1 124 -24l15 -8zM2042 960h-128
+q-65 0 -87 -54l-246 -588h174l35 96h212q5 -22 20 -96h154zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_466" unicode="&#xf1f1;" horiz-adv-x="2304" 
+d="M1119 1195q-128 85 -281 85q-103 0 -197.5 -40.5t-162.5 -108.5t-108.5 -162t-40.5 -197q0 -104 40.5 -198t108.5 -162t162 -108.5t198 -40.5q153 0 281 85q-131 107 -178 265.5t0.5 316.5t177.5 265zM1152 1171q-126 -99 -172 -249.5t-0.5 -300.5t172.5 -249
+q127 99 172.5 249t-0.5 300.5t-172 249.5zM1185 1195q130 -107 177.5 -265.5t0.5 -317t-178 -264.5q128 -85 281 -85q104 0 198 40.5t162 108.5t108.5 162t40.5 198q0 103 -40.5 197t-108.5 162t-162.5 108.5t-197.5 40.5q-153 0 -281 -85zM1926 473h7v3h-17v-3h7v-17h3v17z
+M1955 456h4v20h-5l-6 -13l-6 13h-5v-20h3v15l6 -13h4l5 13v-15zM1947 16v-2h-2h-3v3h3h2v-1zM1947 7h3l-4 5h2l1 1q1 1 1 3t-1 3l-1 1h-3h-6v-13h3v5h1zM685 75q0 19 11 31t30 12q18 0 29 -12.5t11 -30.5q0 -19 -11 -31t-29 -12q-19 0 -30 12t-11 31zM1158 119q30 0 35 -32
+h-70q5 32 35 32zM1514 75q0 19 11 31t29 12t29.5 -12.5t11.5 -30.5q0 -19 -11 -31t-30 -12q-18 0 -29 12t-11 31zM1786 75q0 18 11.5 30.5t29.5 12.5t29.5 -12.5t11.5 -30.5q0 -19 -11.5 -31t-29.5 -12t-29.5 12.5t-11.5 30.5zM1944 3q-2 0 -4 1q-1 0 -3 2t-2 3q-1 2 -1 4
+q0 3 1 4q0 2 2 4l1 1q2 0 2 1q2 1 4 1q3 0 4 -1l4 -2l2 -4v-1q1 -2 1 -3l-1 -1v-3t-1 -1l-1 -2q-2 -2 -4 -2q-1 -1 -4 -1zM599 7h30v85q0 24 -14.5 38.5t-39.5 15.5q-32 0 -47 -24q-14 24 -45 24q-24 0 -39 -20v16h-30v-135h30v75q0 36 33 36q30 0 30 -36v-75h29v75
+q0 36 33 36q30 0 30 -36v-75zM765 7h29v68v67h-29v-16q-17 20 -43 20q-29 0 -48 -20t-19 -51t19 -51t48 -20q28 0 43 20v-17zM943 48q0 34 -47 40l-14 2q-23 4 -23 14q0 15 25 15q23 0 43 -11l12 24q-22 14 -55 14q-26 0 -41 -12t-15 -32q0 -33 47 -39l13 -2q24 -4 24 -14
+q0 -17 -31 -17q-25 0 -45 14l-13 -23q25 -17 58 -17q29 0 45.5 12t16.5 32zM1073 14l-8 25q-13 -7 -26 -7q-19 0 -19 22v61h48v27h-48v41h-30v-41h-28v-27h28v-61q0 -50 47 -50q21 0 36 10zM1159 146q-29 0 -48 -20t-19 -51q0 -32 19.5 -51.5t49.5 -19.5q33 0 55 19l-14 22
+q-18 -15 -39 -15q-34 0 -41 33h101v12q0 32 -18 51.5t-46 19.5zM1318 146q-23 0 -35 -20v16h-30v-135h30v76q0 35 29 35q10 0 18 -4l9 28q-9 4 -21 4zM1348 75q0 -31 19.5 -51t52.5 -20q29 0 48 16l-14 24q-18 -13 -35 -12q-18 0 -29.5 12t-11.5 31t11.5 31t29.5 12
+q19 0 35 -12l14 24q-20 16 -48 16q-33 0 -52.5 -20t-19.5 -51zM1593 7h30v68v67h-30v-16q-15 20 -42 20q-29 0 -48.5 -20t-19.5 -51t19.5 -51t48.5 -20q28 0 42 20v-17zM1726 146q-23 0 -35 -20v16h-29v-135h29v76q0 35 29 35q10 0 18 -4l9 28q-8 4 -21 4zM1866 7h29v68v122
+h-29v-71q-15 20 -43 20t-47.5 -20.5t-19.5 -50.5t19.5 -50.5t47.5 -20.5q29 0 43 20v-17zM1944 27l-2 -1h-3q-2 -1 -4 -3q-3 -1 -3 -4q-1 -2 -1 -6q0 -3 1 -5q0 -2 3 -4q2 -2 4 -3t5 -1q4 0 6 1q0 1 2 2l2 1q1 1 3 4q1 2 1 5q0 4 -1 6q-1 1 -3 4q0 1 -2 2l-2 1q-1 0 -3 0.5
+t-3 0.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_467" unicode="&#xf1f2;" horiz-adv-x="2304" 
+d="M313 759q0 -51 -36 -84q-29 -26 -89 -26h-17v220h17q61 0 89 -27q36 -31 36 -83zM2089 824q0 -52 -64 -52h-19v101h20q63 0 63 -49zM380 759q0 74 -50 120.5t-129 46.5h-95v-333h95q74 0 119 38q60 51 60 128zM410 593h65v333h-65v-333zM730 694q0 40 -20.5 62t-75.5 42
+q-29 10 -39.5 19t-10.5 23q0 16 13.5 26.5t34.5 10.5q29 0 53 -27l34 44q-41 37 -98 37q-44 0 -74 -27.5t-30 -67.5q0 -35 18 -55.5t64 -36.5q37 -13 45 -19q19 -12 19 -34q0 -20 -14 -33.5t-36 -13.5q-48 0 -71 44l-42 -40q44 -64 115 -64q51 0 83 30.5t32 79.5zM1008 604
+v77q-37 -37 -78 -37q-49 0 -80.5 32.5t-31.5 82.5q0 48 31.5 81.5t77.5 33.5q43 0 81 -38v77q-40 20 -80 20q-74 0 -125.5 -50.5t-51.5 -123.5t51 -123.5t125 -50.5q42 0 81 19zM2240 0v527q-65 -40 -144.5 -84t-237.5 -117t-329.5 -137.5t-417.5 -134.5t-504 -118h1569
+q26 0 45 19t19 45zM1389 757q0 75 -53 128t-128 53t-128 -53t-53 -128t53 -128t128 -53t128 53t53 128zM1541 584l144 342h-71l-90 -224l-89 224h-71l142 -342h35zM1714 593h184v56h-119v90h115v56h-115v74h119v57h-184v-333zM2105 593h80l-105 140q76 16 76 94q0 47 -31 73
+t-87 26h-97v-333h65v133h9zM2304 1274v-1268q0 -56 -38.5 -95t-93.5 -39h-2040q-55 0 -93.5 39t-38.5 95v1268q0 56 38.5 95t93.5 39h2040q55 0 93.5 -39t38.5 -95z" />
+    <glyph glyph-name="f1f3" unicode="&#xf1f3;" horiz-adv-x="2304" 
+d="M119 854h89l-45 108zM740 328l74 79l-70 79h-163v-49h142v-55h-142v-54h159zM898 406l99 -110v217zM1186 453q0 33 -40 33h-84v-69h83q41 0 41 36zM1475 457q0 29 -42 29h-82v-61h81q43 0 43 32zM1197 923q0 29 -42 29h-82v-60h81q43 0 43 31zM1656 854h89l-44 108z
+M699 1009v-271h-66v212l-94 -212h-57l-94 212v-212h-132l-25 60h-135l-25 -60h-70l116 271h96l110 -257v257h106l85 -184l77 184h108zM1255 453q0 -20 -5.5 -35t-14 -25t-22.5 -16.5t-26 -10t-31.5 -4.5t-31.5 -1t-32.5 0.5t-29.5 0.5v-91h-126l-80 90l-83 -90h-256v271h260
+l80 -89l82 89h207q109 0 109 -89zM964 794v-56h-217v271h217v-57h-152v-49h148v-55h-148v-54h152zM2304 235v-229q0 -55 -38.5 -94.5t-93.5 -39.5h-2040q-55 0 -93.5 39.5t-38.5 94.5v678h111l25 61h55l25 -61h218v46l19 -46h113l20 47v-47h541v99l10 1q10 0 10 -14v-86h279
+v23q23 -12 55 -18t52.5 -6.5t63 0.5t51.5 1l25 61h56l25 -61h227v58l34 -58h182v378h-180v-44l-25 44h-185v-44l-23 44h-249q-69 0 -109 -22v22h-172v-22q-24 22 -73 22h-628l-43 -97l-43 97h-198v-44l-22 44h-169l-78 -179v391q0 55 38.5 94.5t93.5 39.5h2040
+q55 0 93.5 -39.5t38.5 -94.5v-678h-120q-51 0 -81 -22v22h-177q-55 0 -78 -22v22h-316v-22q-31 22 -87 22h-209v-22q-23 22 -91 22h-234l-54 -58l-50 58h-349v-378h343l55 59l52 -59h211v89h21q59 0 90 13v-102h174v99h8q8 0 10 -2t2 -10v-87h529q57 0 88 24v-24h168
+q60 0 95 17zM1546 469q0 -23 -12 -43t-34 -29q25 -9 34 -26t9 -46v-54h-65v45q0 33 -12 43.5t-46 10.5h-69v-99h-65v271h154q48 0 77 -15t29 -58zM1269 936q0 -24 -12.5 -44t-33.5 -29q26 -9 34.5 -25.5t8.5 -46.5v-53h-65q0 9 0.5 26.5t0 25t-3 18.5t-8.5 16t-17.5 8.5
+t-29.5 3.5h-70v-98h-64v271l153 -1q49 0 78 -14.5t29 -57.5zM1798 327v-56h-216v271h216v-56h-151v-49h148v-55h-148v-54zM1372 1009v-271h-66v271h66zM2065 357q0 -86 -102 -86h-126v58h126q34 0 34 25q0 16 -17 21t-41.5 5t-49.5 3.5t-42 22.5t-17 55q0 39 26 60t66 21
+h130v-57h-119q-36 0 -36 -25q0 -16 17.5 -20.5t42 -4t49 -2.5t42 -21.5t17.5 -54.5zM2304 407v-101q-24 -35 -88 -35h-125v58h125q33 0 33 25q0 13 -12.5 19t-31 5.5t-40 2t-40 8t-31 24t-12.5 48.5q0 39 26.5 60t66.5 21h129v-57h-118q-36 0 -36 -25q0 -20 29 -22t68.5 -5
+t56.5 -26zM2139 1008v-270h-92l-122 203v-203h-132l-26 60h-134l-25 -60h-75q-129 0 -129 133q0 138 133 138h63v-59q-7 0 -28 1t-28.5 0.5t-23 -2t-21.5 -6.5t-14.5 -13.5t-11.5 -23t-3 -33.5q0 -38 13.5 -58t49.5 -20h29l92 213h97l109 -256v256h99l114 -188v188h66z" />
+    <glyph glyph-name="_469" unicode="&#xf1f4;" horiz-adv-x="2304" 
+d="M745 630q0 -37 -25.5 -61.5t-62.5 -24.5q-29 0 -46.5 16t-17.5 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM1530 779q0 -42 -22 -57t-66 -15l-32 -1l17 107q2 11 13 11h18q22 0 35 -2t25 -12.5t12 -30.5zM1881 630q0 -36 -25.5 -61t-61.5 -25q-29 0 -47 16
+t-18 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM513 801q0 59 -38.5 85.5t-100.5 26.5h-160q-19 0 -21 -19l-65 -408q-1 -6 3 -11t10 -5h76q20 0 22 19l18 110q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM822 489l41 261q1 6 -3 11t-10 5h-76
+q-14 0 -17 -33q-27 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q28 0 58 12t48 32q-4 -12 -4 -21q0 -16 13 -16h69q19 0 22 19zM1269 752q0 5 -4 9.5t-9 4.5h-77q-11 0 -18 -10l-106 -156l-44 150q-5 16 -22 16h-75q-5 0 -9 -4.5t-4 -9.5q0 -2 19.5 -59
+t42 -123t23.5 -70q-82 -112 -82 -120q0 -13 13 -13h77q11 0 18 10l255 368q2 2 2 7zM1649 801q0 59 -38.5 85.5t-100.5 26.5h-159q-20 0 -22 -19l-65 -408q-1 -6 3 -11t10 -5h82q12 0 16 13l18 116q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM1958 489
+l41 261q1 6 -3 11t-10 5h-76q-14 0 -17 -33q-26 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q29 0 59 12t47 32q0 -1 -2 -9t-2 -12q0 -16 13 -16h69q19 0 22 19zM2176 898v1q0 14 -13 14h-74q-11 0 -13 -11l-65 -416l-1 -2q0 -5 4 -9.5t10 -4.5h66
+q19 0 21 19zM392 764q-5 -35 -26 -46t-60 -11l-33 -1l17 107q2 11 13 11h19q40 0 58 -11.5t12 -48.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_470" unicode="&#xf1f5;" horiz-adv-x="2304" 
+d="M1597 633q0 -69 -21 -106q-19 -35 -52 -35q-23 0 -41 9v224q29 30 57 30q57 0 57 -122zM2035 669h-110q6 98 56 98q51 0 54 -98zM476 534q0 59 -33 91.5t-101 57.5q-36 13 -52 24t-16 25q0 26 38 26q58 0 124 -33l18 112q-67 32 -149 32q-77 0 -123 -38q-48 -39 -48 -109
+q0 -58 32.5 -90.5t99.5 -56.5q39 -14 54.5 -25.5t15.5 -27.5q0 -31 -48 -31q-29 0 -70 12.5t-72 30.5l-18 -113q72 -41 168 -41q81 0 129 37q51 41 51 117zM771 749l19 111h-96v135l-129 -21l-18 -114l-46 -8l-17 -103h62v-219q0 -84 44 -120q38 -30 111 -30q32 0 79 11v118
+q-32 -7 -44 -7q-42 0 -42 50v197h77zM1087 724v139q-15 3 -28 3q-32 0 -55.5 -16t-33.5 -46l-10 56h-131v-471h150v306q26 31 82 31q16 0 26 -2zM1124 389h150v471h-150v-471zM1746 638q0 122 -45 179q-40 52 -111 52q-64 0 -117 -56l-8 47h-132v-645l150 25v151
+q36 -11 68 -11q83 0 134 56q61 65 61 202zM1278 986q0 33 -23 56t-56 23t-56 -23t-23 -56t23 -56.5t56 -23.5t56 23.5t23 56.5zM2176 629q0 113 -48 176q-50 64 -144 64q-96 0 -151.5 -66t-55.5 -180q0 -128 63 -188q55 -55 161 -55q101 0 160 40l-16 103q-57 -31 -128 -31
+q-43 0 -63 19q-23 19 -28 66h248q2 14 2 52zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_471" unicode="&#xf1f6;" horiz-adv-x="2048" 
+d="M1558 684q61 -356 298 -556q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5zM1024 -176q16 0 16 16t-16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5zM2026 1424q8 -10 7.5 -23.5t-10.5 -22.5
+l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5
+l418 363q10 8 23.5 7t21.5 -11z" />
+    <glyph glyph-name="_472" unicode="&#xf1f7;" horiz-adv-x="2048" 
+d="M1040 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM503 315l877 760q-42 88 -132.5 146.5t-223.5 58.5q-93 0 -169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -384 -137 -645zM1856 128
+q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5l149 129h757q-166 187 -227 459l111 97q61 -356 298 -556zM1942 1520l84 -96q8 -10 7.5 -23.5t-10.5 -22.5l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161
+q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5l418 363q10 8 23.5 7t21.5 -11z" />
+    <glyph glyph-name="_473" unicode="&#xf1f8;" horiz-adv-x="1408" 
+d="M512 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM768 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1024 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704
+q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167
+q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_474" unicode="&#xf1f9;" 
+d="M1150 462v-109q0 -50 -36.5 -89t-94 -60.5t-118 -32.5t-117.5 -11q-205 0 -342.5 139t-137.5 346q0 203 136 339t339 136q34 0 75.5 -4.5t93 -18t92.5 -34t69 -56.5t28 -81v-109q0 -16 -16 -16h-118q-16 0 -16 16v70q0 43 -65.5 67.5t-137.5 24.5q-140 0 -228.5 -91.5
+t-88.5 -237.5q0 -151 91.5 -249.5t233.5 -98.5q68 0 138 24t70 66v70q0 7 4.5 11.5t10.5 4.5h119q6 0 11 -4.5t5 -11.5zM768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5
+t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_475" unicode="&#xf1fa;" 
+d="M972 761q0 108 -53.5 169t-147.5 61q-63 0 -124 -30.5t-110 -84.5t-79.5 -137t-30.5 -180q0 -112 53.5 -173t150.5 -61q96 0 176 66.5t122.5 166t42.5 203.5zM1536 640q0 -111 -37 -197t-98.5 -135t-131.5 -74.5t-145 -27.5q-6 0 -15.5 -0.5t-16.5 -0.5q-95 0 -142 53
+q-28 33 -33 83q-52 -66 -131.5 -110t-173.5 -44q-161 0 -249.5 95.5t-88.5 269.5q0 157 66 290t179 210.5t246 77.5q87 0 155 -35.5t106 -99.5l2 19l11 56q1 6 5.5 12t9.5 6h118q5 0 13 -11q5 -5 3 -16l-120 -614q-5 -24 -5 -48q0 -39 12.5 -52t44.5 -13q28 1 57 5.5t73 24
+t77 50t57 89.5t24 137q0 292 -174 466t-466 174q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51q228 0 405 144q11 9 24 8t21 -12l41 -49q8 -12 7 -24q-2 -13 -12 -22q-102 -83 -227.5 -128t-258.5 -45q-156 0 -298 61
+t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q344 0 556 -212t212 -556z" />
+    <glyph glyph-name="_476" unicode="&#xf1fb;" horiz-adv-x="1792" 
+d="M1698 1442q94 -94 94 -226.5t-94 -225.5l-225 -223l104 -104q10 -10 10 -23t-10 -23l-210 -210q-10 -10 -23 -10t-23 10l-105 105l-603 -603q-37 -37 -90 -37h-203l-256 -128l-64 64l128 256v203q0 53 37 90l603 603l-105 105q-10 10 -10 23t10 23l210 210q10 10 23 10
+t23 -10l104 -104l223 225q93 94 225.5 94t226.5 -94zM512 64l576 576l-192 192l-576 -576v-192h192z" />
+    <glyph glyph-name="f1fc" unicode="&#xf1fc;" horiz-adv-x="1792" 
+d="M1615 1536q70 0 122.5 -46.5t52.5 -116.5q0 -63 -45 -151q-332 -629 -465 -752q-97 -91 -218 -91q-126 0 -216.5 92.5t-90.5 219.5q0 128 92 212l638 579q59 54 130 54zM706 502q39 -76 106.5 -130t150.5 -76l1 -71q4 -213 -129.5 -347t-348.5 -134q-123 0 -218 46.5
+t-152.5 127.5t-86.5 183t-29 220q7 -5 41 -30t62 -44.5t59 -36.5t46 -17q41 0 55 37q25 66 57.5 112.5t69.5 76t88 47.5t103 25.5t125 10.5z" />
+    <glyph glyph-name="_478" unicode="&#xf1fd;" horiz-adv-x="1792" 
+d="M1792 128v-384h-1792v384q45 0 85 14t59 27.5t47 37.5q30 27 51.5 38t56.5 11q24 0 44 -7t31 -15t33 -27q29 -25 47 -38t58 -27t86 -14q45 0 85 14.5t58 27t48 37.5q21 19 32.5 27t31 15t43.5 7q35 0 56.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14t85 14t59 27.5
+t47 37.5q30 27 51.5 38t56.5 11q34 0 55.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14zM1792 448v-192q-24 0 -44 7t-31 15t-33 27q-29 25 -47 38t-58 27t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-22 -19 -33 -27t-31 -15t-44 -7q-35 0 -56.5 11t-51.5 38q-29 25 -47 38
+t-58 27t-86 14q-45 0 -85 -14.5t-58 -27t-48 -37.5q-21 -19 -32.5 -27t-31 -15t-43.5 -7q-35 0 -56.5 11t-51.5 38q-28 24 -47 37.5t-59 27.5t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-30 -27 -51.5 -38t-56.5 -11v192q0 80 56 136t136 56h64v448h256v-448h256v448h256v-448
+h256v448h256v-448h64q80 0 136 -56t56 -136zM512 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1024 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5
+q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1536 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150z" />
+    <glyph glyph-name="_479" unicode="&#xf1fe;" horiz-adv-x="2048" 
+d="M2048 0v-128h-2048v1536h128v-1408h1920zM1664 1024l256 -896h-1664v576l448 576l576 -576z" />
+    <glyph glyph-name="_480" unicode="&#xf200;" horiz-adv-x="1792" 
+d="M768 646l546 -546q-106 -108 -247.5 -168t-298.5 -60q-209 0 -385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103v-762zM955 640h773q0 -157 -60 -298.5t-168 -247.5zM1664 768h-768v768q209 0 385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_481" unicode="&#xf201;" horiz-adv-x="2048" 
+d="M2048 0v-128h-2048v1536h128v-1408h1920zM1920 1248v-435q0 -21 -19.5 -29.5t-35.5 7.5l-121 121l-633 -633q-10 -10 -23 -10t-23 10l-233 233l-416 -416l-192 192l585 585q10 10 23 10t23 -10l233 -233l464 464l-121 121q-16 16 -7.5 35.5t29.5 19.5h435q14 0 23 -9
+t9 -23z" />
+    <glyph glyph-name="_482" unicode="&#xf202;" horiz-adv-x="1792" 
+d="M1292 832q0 -6 10 -41q10 -29 25 -49.5t41 -34t44 -20t55 -16.5q325 -91 325 -332q0 -146 -105.5 -242.5t-254.5 -96.5q-59 0 -111.5 18.5t-91.5 45.5t-77 74.5t-63 87.5t-53.5 103.5t-43.5 103t-39.5 106.5t-35.5 95q-32 81 -61.5 133.5t-73.5 96.5t-104 64t-142 20
+q-96 0 -183 -55.5t-138 -144.5t-51 -185q0 -160 106.5 -279.5t263.5 -119.5q177 0 258 95q56 63 83 116l84 -152q-15 -34 -44 -70l1 -1q-131 -152 -388 -152q-147 0 -269.5 79t-190.5 207.5t-68 274.5q0 105 43.5 206t116 176.5t172 121.5t204.5 46q87 0 159 -19t123.5 -50
+t95 -80t72.5 -99t58.5 -117t50.5 -124.5t50 -130.5t55 -127q96 -200 233 -200q81 0 138.5 48.5t57.5 128.5q0 42 -19 72t-50.5 46t-72.5 31.5t-84.5 27t-87.5 34t-81 52t-65 82t-39 122.5q-3 16 -3 33q0 110 87.5 192t198.5 78q78 -3 120.5 -14.5t90.5 -53.5h-1
+q12 -11 23 -24.5t26 -36t19 -27.5l-129 -99q-26 49 -54 70v1q-23 21 -97 21q-49 0 -84 -33t-35 -83z" />
+    <glyph glyph-name="_483" unicode="&#xf203;" 
+d="M1432 484q0 173 -234 239q-35 10 -53 16.5t-38 25t-29 46.5q0 2 -2 8.5t-3 12t-1 7.5q0 36 24.5 59.5t60.5 23.5q54 0 71 -15h-1q20 -15 39 -51l93 71q-39 54 -49 64q-33 29 -67.5 39t-85.5 10q-80 0 -142 -57.5t-62 -137.5q0 -7 2 -23q16 -96 64.5 -140t148.5 -73
+q29 -8 49 -15.5t45 -21.5t38.5 -34.5t13.5 -46.5v-5q1 -58 -40.5 -93t-100.5 -35q-97 0 -167 144q-23 47 -51.5 121.5t-48 125.5t-54 110.5t-74 95.5t-103.5 60.5t-147 24.5q-101 0 -192 -56t-144 -148t-50 -192v-1q4 -108 50.5 -199t133.5 -147.5t196 -56.5q186 0 279 110
+q20 27 31 51l-60 109q-42 -80 -99 -116t-146 -36q-115 0 -191 87t-76 204q0 105 82 189t186 84q112 0 170 -53.5t104 -172.5q8 -21 25.5 -68.5t28.5 -76.5t31.5 -74.5t38.5 -74t45.5 -62.5t55.5 -53.5t66 -33t80 -13.5q107 0 183 69.5t76 174.5zM1536 1120v-960
+q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_484" unicode="&#xf204;" horiz-adv-x="2048" 
+d="M1152 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1920 640q0 104 -40.5 198.5
+t-109.5 163.5t-163.5 109.5t-198.5 40.5h-386q119 -90 188.5 -224t69.5 -288t-69.5 -288t-188.5 -224h386q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM2048 640q0 -130 -51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5
+t-136.5 204t-51 248.5t51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5z" />
+    <glyph glyph-name="_485" unicode="&#xf205;" horiz-adv-x="2048" 
+d="M0 640q0 130 51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5t-51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5t-136.5 204t-51 248.5zM1408 128q104 0 198.5 40.5t163.5 109.5
+t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5z" />
+    <glyph glyph-name="_486" unicode="&#xf206;" horiz-adv-x="2304" 
+d="M762 384h-314q-40 0 -57.5 35t6.5 67l188 251q-65 31 -137 31q-132 0 -226 -94t-94 -226t94 -226t226 -94q115 0 203 72.5t111 183.5zM576 512h186q-18 85 -75 148zM1056 512l288 384h-480l-99 -132q105 -103 126 -252h165zM2176 448q0 132 -94 226t-226 94
+q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94t226 94t94 226zM2304 448q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 97 39.5 183.5t109.5 149.5l-65 98l-353 -469
+q-18 -26 -51 -26h-197q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q114 0 215 -55l137 183h-224q-26 0 -45 19t-19 45t19 45t45 19h384v-128h435l-85 128h-222q-26 0 -45 19t-19 45t19 45t45 19h256q33 0 53 -28l267 -400
+q91 44 192 44q185 0 316.5 -131.5t131.5 -316.5z" />
+    <glyph glyph-name="_487" unicode="&#xf207;" 
+d="M384 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1362 716l-72 384q-5 23 -22.5 37.5t-40.5 14.5
+h-918q-23 0 -40.5 -14.5t-22.5 -37.5l-72 -384q-5 -30 14 -53t49 -23h1062q30 0 49 23t14 53zM1136 1328q0 20 -14 34t-34 14h-640q-20 0 -34 -14t-14 -34t14 -34t34 -14h640q20 0 34 14t14 34zM1536 603v-603h-128v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5
+t-37.5 90.5v128h-768v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5v128h-128v603q0 112 25 223l103 454q9 78 97.5 137t230 89t312.5 30t312.5 -30t230 -89t97.5 -137l105 -454q23 -102 23 -223z" />
+    <glyph glyph-name="_488" unicode="&#xf208;" horiz-adv-x="2048" 
+d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 86 -23 170h-982q-36 0 -61 25t-25 60q0 36 25 61t61 25h908q-88 143 -235 227t-320 84q-177 0 -327.5 -87.5t-238 -237.5t-87.5 -327
+q0 -86 23 -170h982q36 0 61 -25t25 -60q0 -36 -25 -61t-61 -25h-908q88 -143 235.5 -227t320.5 -84q132 0 253 51.5t208 139t139 208t52 253.5zM2048 959q0 -35 -25 -60t-61 -25h-131q17 -85 17 -170q0 -167 -65.5 -319.5t-175.5 -263t-262.5 -176t-319.5 -65.5
+q-246 0 -448.5 133t-301.5 350h-189q-36 0 -61 25t-25 61q0 35 25 60t61 25h132q-17 85 -17 170q0 167 65.5 319.5t175.5 263t262.5 176t320.5 65.5q245 0 447.5 -133t301.5 -350h188q36 0 61 -25t25 -61z" />
+    <glyph glyph-name="_489" unicode="&#xf209;" horiz-adv-x="1280" 
+d="M953 1158l-114 -328l117 -21q165 451 165 518q0 56 -38 56q-57 0 -130 -225zM654 471l33 -88q37 42 71 67l-33 5.5t-38.5 7t-32.5 8.5zM362 1367q0 -98 159 -521q17 10 49 10q15 0 75 -5l-121 351q-75 220 -123 220q-19 0 -29 -17.5t-10 -37.5zM283 608q0 -36 51.5 -119
+t117.5 -153t100 -70q14 0 25.5 13t11.5 27q0 24 -32 102q-13 32 -32 72t-47.5 89t-61.5 81t-62 32q-20 0 -45.5 -27t-25.5 -47zM125 273q0 -41 25 -104q59 -145 183.5 -227t281.5 -82q227 0 382 170q152 169 152 427q0 43 -1 67t-11.5 62t-30.5 56q-56 49 -211.5 75.5
+t-270.5 26.5q-37 0 -49 -11q-12 -5 -12 -35q0 -34 21.5 -60t55.5 -40t77.5 -23.5t87.5 -11.5t85 -4t70 0h23q24 0 40 -19q15 -19 19 -55q-28 -28 -96 -54q-61 -22 -93 -46q-64 -46 -108.5 -114t-44.5 -137q0 -31 18.5 -88.5t18.5 -87.5l-3 -12q-4 -12 -4 -14
+q-137 10 -146 216q-8 -2 -41 -2q2 -7 2 -21q0 -53 -40.5 -89.5t-94.5 -36.5q-82 0 -166.5 78t-84.5 159q0 34 33 67q52 -64 60 -76q77 -104 133 -104q12 0 26.5 8.5t14.5 20.5q0 34 -87.5 145t-116.5 111q-43 0 -70 -44.5t-27 -90.5zM11 264q0 101 42.5 163t136.5 88
+q-28 74 -28 104q0 62 61 123t122 61q29 0 70 -15q-163 462 -163 567q0 80 41 130.5t119 50.5q131 0 325 -581q6 -17 8 -23q6 16 29 79.5t43.5 118.5t54 127.5t64.5 123t70.5 86.5t76.5 36q71 0 112 -49t41 -122q0 -108 -159 -550q61 -15 100.5 -46t58.5 -78t26 -93.5
+t7 -110.5q0 -150 -47 -280t-132 -225t-211 -150t-278 -55q-111 0 -223 42q-149 57 -258 191.5t-109 286.5z" />
+    <glyph glyph-name="_490" unicode="&#xf20a;" horiz-adv-x="2048" 
+d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206
+q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65.5 -18q49 0 76.5 38t33.5 101zM1856 647q0 207 -15.5 307
+t-60.5 161q-6 8 -13.5 14t-21.5 15t-16 11q-86 63 -697 63q-625 0 -710 -63q-5 -4 -17.5 -11.5t-21 -14t-14.5 -14.5q-45 -60 -60 -159.5t-15 -308.5q0 -208 15 -307.5t60 -160.5q6 -8 15 -15t20.5 -14t17.5 -12q44 -33 239.5 -49t470.5 -16q610 0 697 65q5 4 17 11t20.5 14
+t13.5 16q46 60 61 159t15 309zM2048 1408v-1536h-2048v1536h2048z" />
+    <glyph glyph-name="_491" unicode="&#xf20b;" 
+d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5
+t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="_492" unicode="&#xf20c;" 
+d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55
+q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -86 -32.5t-33 -85.5v-410
+q0 -21 22 -21h55q21 0 21 21v180q31 -42 94 -42h191q53 0 86 32.5t33 85.5zM1536 1176v-1072q0 -96 -68 -164t-164 -68h-1072q-96 0 -164 68t-68 164v1072q0 96 68 164t164 68h1072q96 0 164 -68t68 -164z" />
+    <glyph glyph-name="_493" unicode="&#xf20d;" 
+d="M915 450h-294l147 551zM1001 128h311l-324 1024h-440l-324 -1024h311l383 314zM1536 1120v-960q0 -118 -85 -203t-203 -85h-960q-118 0 -203 85t-85 203v960q0 118 85 203t203 85h960q118 0 203 -85t85 -203z" />
+    <glyph glyph-name="_494" unicode="&#xf20e;" horiz-adv-x="2048" 
+d="M2048 641q0 -21 -13 -36.5t-33 -19.5l-205 -356q3 -9 3 -18q0 -20 -12.5 -35.5t-32.5 -19.5l-193 -337q3 -8 3 -16q0 -23 -16.5 -40t-40.5 -17q-25 0 -41 18h-400q-17 -20 -43 -20t-43 20h-399q-17 -20 -43 -20q-23 0 -40 16.5t-17 40.5q0 8 4 20l-193 335
+q-20 4 -32.5 19.5t-12.5 35.5q0 9 3 18l-206 356q-20 5 -32.5 20.5t-12.5 35.5q0 21 13.5 36.5t33.5 19.5l199 344q0 1 -0.5 3t-0.5 3q0 36 34 51l209 363q-4 10 -4 18q0 24 17 40.5t40 16.5q26 0 44 -21h396q16 21 43 21t43 -21h398q18 21 44 21q23 0 40 -16.5t17 -40.5
+q0 -6 -4 -18l207 -358q23 -1 39 -17.5t16 -38.5q0 -13 -7 -27l187 -324q19 -4 31.5 -19.5t12.5 -35.5zM1063 -158h389l-342 354h-143l-342 -354h360q18 16 39 16t39 -16zM112 654q1 -4 1 -13q0 -10 -2 -15l208 -360l15 -6l188 199v347l-187 194q-13 -8 -29 -10zM986 1438
+h-388l190 -200l554 200h-280q-16 -16 -38 -16t-38 16zM1689 226q1 6 5 11l-64 68l-17 -79h76zM1583 226l22 105l-252 266l-296 -307l63 -64h463zM1495 -142l16 28l65 310h-427l333 -343q8 4 13 5zM578 -158h5l342 354h-373v-335l4 -6q14 -5 22 -13zM552 226h402l64 66
+l-309 321l-157 -166v-221zM359 226h163v189l-168 -177q4 -8 5 -12zM358 1051q0 -1 0.5 -2t0.5 -2q0 -16 -8 -29l171 -177v269zM552 1121v-311l153 -157l297 314l-223 236zM556 1425l-4 -8v-264l205 74l-191 201q-6 -2 -10 -3zM1447 1438h-16l-621 -224l213 -225zM1023 946
+l-297 -315l311 -319l296 307zM688 634l-136 141v-284zM1038 270l-42 -44h85zM1374 618l238 -251l132 624l-3 5l-1 1zM1718 1018q-8 13 -8 29v2l-216 376q-5 1 -13 5l-437 -463l310 -327zM522 1142v223l-163 -282zM522 196h-163l163 -283v283zM1607 196l-48 -227l130 227h-82
+zM1729 266l207 361q-2 10 -2 14q0 1 3 16l-171 296l-129 -612l77 -82q5 3 15 7z" />
+    <glyph glyph-name="f210" unicode="&#xf210;" 
+d="M0 856q0 131 91.5 226.5t222.5 95.5h742l352 358v-1470q0 -132 -91.5 -227t-222.5 -95h-780q-131 0 -222.5 95t-91.5 227v790zM1232 102l-176 180v425q0 46 -32 79t-78 33h-484q-46 0 -78 -33t-32 -79v-492q0 -46 32.5 -79.5t77.5 -33.5h770z" />
+    <glyph glyph-name="_496" unicode="&#xf211;" 
+d="M934 1386q-317 -121 -556 -362.5t-358 -560.5q-20 89 -20 176q0 208 102.5 384.5t278.5 279t384 102.5q82 0 169 -19zM1203 1267q93 -65 164 -155q-389 -113 -674.5 -400.5t-396.5 -676.5q-93 72 -155 162q112 386 395 671t667 399zM470 -67q115 356 379.5 622t619.5 384
+q40 -92 54 -195q-292 -120 -516 -345t-343 -518q-103 14 -194 52zM1536 -125q-193 50 -367 115q-135 -84 -290 -107q109 205 274 370.5t369 275.5q-21 -152 -101 -284q65 -175 115 -370z" />
+    <glyph glyph-name="f212" unicode="&#xf212;" horiz-adv-x="2048" 
+d="M1893 1144l155 -1272q-131 0 -257 57q-200 91 -393 91q-226 0 -374 -148q-148 148 -374 148q-193 0 -393 -91q-128 -57 -252 -57h-5l155 1272q224 127 482 127q233 0 387 -106q154 106 387 106q258 0 482 -127zM1398 157q129 0 232 -28.5t260 -93.5l-124 1021
+q-171 78 -368 78q-224 0 -374 -141q-150 141 -374 141q-197 0 -368 -78l-124 -1021q105 43 165.5 65t148.5 39.5t178 17.5q202 0 374 -108q172 108 374 108zM1438 191l-55 907q-211 -4 -359 -155q-152 155 -374 155q-176 0 -336 -66l-114 -941q124 51 228.5 76t221.5 25
+q209 0 374 -102q172 107 374 102z" />
+    <glyph glyph-name="_498" unicode="&#xf213;" horiz-adv-x="2048" 
+d="M1500 165v733q0 21 -15 36t-35 15h-93q-20 0 -35 -15t-15 -36v-733q0 -20 15 -35t35 -15h93q20 0 35 15t15 35zM1216 165v531q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-531q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM924 165v429q0 20 -15 35t-35 15h-101
+q-20 0 -35 -15t-15 -35v-429q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM632 165v362q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-362q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM2048 311q0 -166 -118 -284t-284 -118h-1244q-166 0 -284 118t-118 284
+q0 116 63 214.5t168 148.5q-10 34 -10 73q0 113 80.5 193.5t193.5 80.5q102 0 180 -67q45 183 194 300t338 117q149 0 275 -73.5t199.5 -199.5t73.5 -275q0 -66 -14 -122q135 -33 221 -142.5t86 -247.5z" />
+    <glyph glyph-name="_499" unicode="&#xf214;" 
+d="M0 1536h1536v-1392l-776 -338l-760 338v1392zM1436 209v926h-1336v-926l661 -294zM1436 1235v201h-1336v-201h1336zM181 937v-115h-37v115h37zM181 789v-115h-37v115h37zM181 641v-115h-37v115h37zM181 493v-115h-37v115h37zM181 345v-115h-37v115h37zM207 202l15 34
+l105 -47l-15 -33zM343 142l15 34l105 -46l-15 -34zM478 82l15 34l105 -46l-15 -34zM614 23l15 33l104 -46l-15 -34zM797 10l105 46l15 -33l-105 -47zM932 70l105 46l15 -34l-105 -46zM1068 130l105 46l15 -34l-105 -46zM1203 189l105 47l15 -34l-105 -46zM259 1389v-36h-114
+v36h114zM421 1389v-36h-115v36h115zM583 1389v-36h-115v36h115zM744 1389v-36h-114v36h114zM906 1389v-36h-114v36h114zM1068 1389v-36h-115v36h115zM1230 1389v-36h-115v36h115zM1391 1389v-36h-114v36h114zM181 1049v-79h-37v115h115v-36h-78zM421 1085v-36h-115v36h115z
+M583 1085v-36h-115v36h115zM744 1085v-36h-114v36h114zM906 1085v-36h-114v36h114zM1068 1085v-36h-115v36h115zM1230 1085v-36h-115v36h115zM1355 970v79h-78v36h115v-115h-37zM1355 822v115h37v-115h-37zM1355 674v115h37v-115h-37zM1355 526v115h37v-115h-37zM1355 378
+v115h37v-115h-37zM1355 230v115h37v-115h-37zM760 265q-129 0 -221 91.5t-92 221.5q0 129 92 221t221 92q130 0 221.5 -92t91.5 -221q0 -130 -91.5 -221.5t-221.5 -91.5zM595 646q0 -36 19.5 -56.5t49.5 -25t64 -7t64 -2t49.5 -9t19.5 -30.5q0 -49 -112 -49q-97 0 -123 51
+h-3l-31 -63q67 -42 162 -42q29 0 56.5 5t55.5 16t45.5 33t17.5 53q0 46 -27.5 69.5t-67.5 27t-79.5 3t-67 5t-27.5 25.5q0 21 20.5 33t40.5 15t41 3q34 0 70.5 -11t51.5 -34h3l30 58q-3 1 -21 8.5t-22.5 9t-19.5 7t-22 7t-20 4.5t-24 4t-23 1q-29 0 -56.5 -5t-54 -16.5
+t-43 -34t-16.5 -53.5z" />
+    <glyph glyph-name="_500" unicode="&#xf215;" horiz-adv-x="2048" 
+d="M863 504q0 112 -79.5 191.5t-191.5 79.5t-191 -79.5t-79 -191.5t79 -191t191 -79t191.5 79t79.5 191zM1726 505q0 112 -79 191t-191 79t-191.5 -79t-79.5 -191q0 -113 79.5 -192t191.5 -79t191 79.5t79 191.5zM2048 1314v-1348q0 -44 -31.5 -75.5t-76.5 -31.5h-1832
+q-45 0 -76.5 31.5t-31.5 75.5v1348q0 44 31.5 75.5t76.5 31.5h431q44 0 76 -31.5t32 -75.5v-161h754v161q0 44 32 75.5t76 31.5h431q45 0 76.5 -31.5t31.5 -75.5z" />
+    <glyph glyph-name="_501" unicode="&#xf216;" horiz-adv-x="2048" 
+d="M1430 953zM1690 749q148 0 253 -98.5t105 -244.5q0 -157 -109 -261.5t-267 -104.5q-85 0 -162 27.5t-138 73.5t-118 106t-109 126t-103.5 132.5t-108.5 126.5t-117 106t-136 73.5t-159 27.5q-154 0 -251.5 -91.5t-97.5 -244.5q0 -157 104 -250t263 -93q100 0 208 37.5
+t193 98.5q5 4 21 18.5t30 24t22 9.5q14 0 24.5 -10.5t10.5 -24.5q0 -24 -60 -77q-101 -88 -234.5 -142t-260.5 -54q-133 0 -245.5 58t-180 165t-67.5 241q0 205 141.5 341t347.5 136q120 0 226.5 -43.5t185.5 -113t151.5 -153t139 -167.5t133.5 -153.5t149.5 -113
+t172.5 -43.5q102 0 168.5 61.5t66.5 162.5q0 95 -64.5 159t-159.5 64q-30 0 -81.5 -18.5t-68.5 -18.5q-20 0 -35.5 15t-15.5 35q0 18 8.5 57t8.5 59q0 159 -107.5 263t-266.5 104q-58 0 -111.5 -18.5t-84 -40.5t-55.5 -40.5t-33 -18.5q-15 0 -25.5 10.5t-10.5 25.5
+q0 19 25 46q59 67 147 103.5t182 36.5q191 0 318 -125.5t127 -315.5q0 -37 -4 -66q57 15 115 15z" />
+    <glyph glyph-name="_502" unicode="&#xf217;" horiz-adv-x="1664" 
+d="M1216 832q0 26 -19 45t-45 19h-128v128q0 26 -19 45t-45 19t-45 -19t-19 -45v-128h-128q-26 0 -45 -19t-19 -45t19 -45t45 -19h128v-128q0 -26 19 -45t45 -19t45 19t19 45v128h128q26 0 45 19t19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920
+q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="_503" unicode="&#xf218;" horiz-adv-x="1664" 
+d="M1280 832q0 26 -19 45t-45 19t-45 -19l-147 -146v293q0 26 -19 45t-45 19t-45 -19t-19 -45v-293l-147 146q-19 19 -45 19t-45 -19t-19 -45t19 -45l256 -256q19 -19 45 -19t45 19l256 256q19 19 19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5
+t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920
+q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="_504" unicode="&#xf219;" horiz-adv-x="2048" 
+d="M212 768l623 -665l-300 665h-323zM1024 -4l349 772h-698zM538 896l204 384h-262l-288 -384h346zM1213 103l623 665h-323zM683 896h682l-204 384h-274zM1510 896h346l-288 384h-262zM1651 1382l384 -512q14 -18 13 -41.5t-17 -40.5l-960 -1024q-18 -20 -47 -20t-47 20
+l-960 1024q-16 17 -17 40.5t13 41.5l384 512q18 26 51 26h1152q33 0 51 -26z" />
+    <glyph glyph-name="_505" unicode="&#xf21a;" horiz-adv-x="2048" 
+d="M1811 -19q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83
+q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83
+q19 19 45 19t45 -19l83 -83zM237 19q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -82l83 82q19 19 45 19t45 -19l83 -82l64 64v293l-210 314q-17 26 -7 56.5t40 40.5l177 58v299h128v128h256v128h256v-128h256v-128h128v-299l177 -58q30 -10 40 -40.5t-7 -56.5l-210 -314
+v-293l19 18q19 19 45 19t45 -19l83 -82l83 82q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83
+q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83zM640 1152v-128l384 128l384 -128v128h-128v128h-512v-128h-128z" />
+    <glyph glyph-name="_506" unicode="&#xf21b;" 
+d="M576 0l96 448l-96 128l-128 64zM832 0l128 640l-128 -64l-96 -128zM992 1010q-2 4 -4 6q-10 8 -96 8q-70 0 -167 -19q-7 -2 -21 -2t-21 2q-97 19 -167 19q-86 0 -96 -8q-2 -2 -4 -6q2 -18 4 -27q2 -3 7.5 -6.5t7.5 -10.5q2 -4 7.5 -20.5t7 -20.5t7.5 -17t8.5 -17t9 -14
+t12 -13.5t14 -9.5t17.5 -8t20.5 -4t24.5 -2q36 0 59 12.5t32.5 30t14.5 34.5t11.5 29.5t17.5 12.5h12q11 0 17.5 -12.5t11.5 -29.5t14.5 -34.5t32.5 -30t59 -12.5q13 0 24.5 2t20.5 4t17.5 8t14 9.5t12 13.5t9 14t8.5 17t7.5 17t7 20.5t7.5 20.5q2 7 7.5 10.5t7.5 6.5
+q2 9 4 27zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 61 4.5 118t19 125.5t37.5 123.5t63.5 103.5t93.5 74.5l-90 220h214q-22 64 -22 128q0 12 2 32q-194 40 -194 96q0 57 210 99q17 62 51.5 134t70.5 114q32 37 76 37q30 0 84 -31t84 -31t84 31
+t84 31q44 0 76 -37q36 -42 70.5 -114t51.5 -134q210 -42 210 -99q0 -56 -194 -96q7 -81 -20 -160h214l-82 -225q63 -33 107.5 -96.5t65.5 -143.5t29 -151.5t8 -148.5z" />
+    <glyph glyph-name="_507" unicode="&#xf21c;" horiz-adv-x="2304" 
+d="M2301 500q12 -103 -22 -198.5t-99 -163.5t-158.5 -106t-196.5 -31q-161 11 -279.5 125t-134.5 274q-12 111 27.5 210.5t118.5 170.5l-71 107q-96 -80 -151 -194t-55 -244q0 -27 -18.5 -46.5t-45.5 -19.5h-256h-69q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5
+t-131.5 316.5t131.5 316.5t316.5 131.5q76 0 152 -27l24 45q-123 110 -304 110h-64q-26 0 -45 19t-19 45t19 45t45 19h128q78 0 145 -13.5t116.5 -38.5t71.5 -39.5t51 -36.5h512h115l-85 128h-222q-30 0 -49 22.5t-14 52.5q4 23 23 38t43 15h253q33 0 53 -28l70 -105
+l114 114q19 19 46 19h101q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-179l115 -172q131 63 275 36q143 -26 244 -134.5t118 -253.5zM448 128q115 0 203 72.5t111 183.5h-314q-35 0 -55 31q-18 32 -1 63l147 277q-47 13 -91 13q-132 0 -226 -94t-94 -226t94 -226
+t226 -94zM1856 128q132 0 226 94t94 226t-94 226t-226 94q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94z" />
+    <glyph glyph-name="_508" unicode="&#xf21d;" 
+d="M1408 0q0 -63 -61.5 -113.5t-164 -81t-225 -46t-253.5 -15.5t-253.5 15.5t-225 46t-164 81t-61.5 113.5q0 49 33 88.5t91 66.5t118 44.5t131 29.5q26 5 48 -10.5t26 -41.5q5 -26 -10.5 -48t-41.5 -26q-58 -10 -106 -23.5t-76.5 -25.5t-48.5 -23.5t-27.5 -19.5t-8.5 -12
+q3 -11 27 -26.5t73 -33t114 -32.5t160.5 -25t201.5 -10t201.5 10t160.5 25t114 33t73 33.5t27 27.5q-1 4 -8.5 11t-27.5 19t-48.5 23.5t-76.5 25t-106 23.5q-26 4 -41.5 26t-10.5 48q4 26 26 41.5t48 10.5q71 -12 131 -29.5t118 -44.5t91 -66.5t33 -88.5zM1024 896v-384
+q0 -26 -19 -45t-45 -19h-64v-384q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v384h-64q-26 0 -45 19t-19 45v384q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM928 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5
+t158.5 -65.5t65.5 -158.5z" />
+    <glyph glyph-name="_509" unicode="&#xf21e;" horiz-adv-x="1792" 
+d="M1280 512h305q-5 -6 -10 -10.5t-9 -7.5l-3 -4l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-5 2 -21 20h369q22 0 39.5 13.5t22.5 34.5l70 281l190 -667q6 -20 23 -33t39 -13q21 0 38 13t23 33l146 485l56 -112q18 -35 57 -35zM1792 940q0 -145 -103 -300h-369l-111 221
+q-8 17 -25.5 27t-36.5 8q-45 -5 -56 -46l-129 -430l-196 686q-6 20 -23.5 33t-39.5 13t-39 -13.5t-22 -34.5l-116 -464h-423q-103 155 -103 300q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124
+t127 -344z" />
+    <glyph glyph-name="venus" unicode="&#xf221;" horiz-adv-x="1280" 
+d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292
+q11 134 80.5 249t182 188t245.5 88q170 19 319 -54t236 -212t87 -306zM128 960q0 -185 131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5z" />
+    <glyph glyph-name="_511" unicode="&#xf222;" 
+d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-382 -383q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5
+q203 0 359 -126l382 382h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_512" unicode="&#xf223;" horiz-adv-x="1280" 
+d="M830 1220q145 -72 233.5 -210.5t88.5 -305.5q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5
+t-147.5 384.5q0 167 88.5 305.5t233.5 210.5q-165 96 -228 273q-6 16 3.5 29.5t26.5 13.5h69q21 0 29 -20q44 -106 140 -171t214 -65t214 65t140 171q8 20 37 20h61q17 0 26.5 -13.5t3.5 -29.5q-63 -177 -228 -273zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_513" unicode="&#xf224;" 
+d="M1024 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64
+q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-149 16 -270.5 103t-186.5 223.5t-53 291.5q16 204 160 353.5t347 172.5q118 14 228 -19t198 -103l255 254h-134q-14 0 -23 9t-9 23v64zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_514" unicode="&#xf225;" horiz-adv-x="1792" 
+d="M1280 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64
+q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5t-147.5 384.5q0 201 126 359l-52 53l-101 -111q-9 -10 -22 -10.5t-23 7.5l-48 44q-10 8 -10.5 21.5t8.5 23.5l105 115l-111 112v-134q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9
+t-9 23v288q0 26 19 45t45 19h288q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-133l106 -107l86 94q9 10 22 10.5t23 -7.5l48 -44q10 -8 10.5 -21.5t-8.5 -23.5l-90 -99l57 -56q158 126 359 126t359 -126l255 254h-134q-14 0 -23 9t-9 23v64zM832 256q185 0 316.5 131.5
+t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_515" unicode="&#xf226;" horiz-adv-x="1792" 
+d="M1790 1007q12 -155 -52.5 -292t-186 -224t-271.5 -103v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-512v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23
+t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292q17 206 164.5 356.5t352.5 169.5q206 21 377 -94q171 115 377 94q205 -19 352.5 -169.5t164.5 -356.5zM896 647q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM576 512q115 0 218 57q-154 165 -154 391
+q0 224 154 391q-103 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1152 128v260q-137 15 -256 94q-119 -79 -256 -94v-260h512zM1216 512q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5q-115 0 -218 -57q154 -167 154 -391
+q0 -226 -154 -391q103 -57 218 -57z" />
+    <glyph glyph-name="_516" unicode="&#xf227;" horiz-adv-x="1920" 
+d="M1536 1120q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-31 -182 -166 -312t-318 -156q-210 -29 -384.5 80t-241.5 300q-117 6 -221 57.5t-177.5 133t-113.5 192.5t-32 230
+q9 135 78 252t182 191.5t248 89.5q118 14 227.5 -19t198.5 -103l255 254h-134q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q59 -74 93 -169q182 -9 328 -124l255 254h-134q-14 0 -23 9
+t-9 23v64zM1024 704q0 20 -4 58q-162 -25 -271 -150t-109 -292q0 -20 4 -58q162 25 271 150t109 292zM128 704q0 -168 111 -294t276 -149q-3 29 -3 59q0 210 135 369.5t338 196.5q-53 120 -163.5 193t-245.5 73q-185 0 -316.5 -131.5t-131.5 -316.5zM1088 -128
+q185 0 316.5 131.5t131.5 316.5q0 168 -111 294t-276 149q3 -28 3 -59q0 -210 -135 -369.5t-338 -196.5q53 -120 163.5 -193t245.5 -73z" />
+    <glyph glyph-name="_517" unicode="&#xf228;" horiz-adv-x="2048" 
+d="M1664 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-32 -180 -164.5 -310t-313.5 -157q-223 -34 -409 90q-117 -78 -256 -93v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23
+t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-155 17 -279.5 109.5t-187 237.5t-39.5 307q25 187 159.5 322.5t320.5 164.5q224 34 410 -90q146 97 320 97q201 0 359 -126l255 254h-134q-14 0 -23 9
+t-9 23v64zM896 391q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM128 704q0 -185 131.5 -316.5t316.5 -131.5q117 0 218 57q-154 167 -154 391t154 391q-101 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5zM1216 256q185 0 316.5 131.5t131.5 316.5
+t-131.5 316.5t-316.5 131.5q-117 0 -218 -57q154 -167 154 -391t-154 -391q101 -57 218 -57z" />
+    <glyph glyph-name="_518" unicode="&#xf229;" 
+d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-213 -214l140 -140q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-140 141l-78 -79q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5
+t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5q203 0 359 -126l78 78l-172 172q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l172 -172l213 213h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5
+t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_519" unicode="&#xf22a;" horiz-adv-x="1280" 
+d="M640 892q217 -24 364.5 -187.5t147.5 -384.5q0 -167 -87 -306t-236 -212t-319 -54q-133 15 -245.5 88t-182 188t-80.5 249q-12 155 52.5 292t186 224t271.5 103v132h-160q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h160v165l-92 -92q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22
+t9 23l202 201q19 19 45 19t45 -19l202 -201q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-92 92v-165h160q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-160v-132zM576 -128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5
+t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_520" unicode="&#xf22b;" horiz-adv-x="2048" 
+d="M1901 621q19 -19 19 -45t-19 -45l-294 -294q-9 -10 -22.5 -10t-22.5 10l-45 45q-10 9 -10 22.5t10 22.5l185 185h-294v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-132q-24 -217 -187.5 -364.5t-384.5 -147.5q-167 0 -306 87t-212 236t-54 319q15 133 88 245.5
+t188 182t249 80.5q155 12 292 -52.5t224 -186t103 -271.5h132v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h294l-185 185q-10 9 -10 22.5t10 22.5l45 45q9 10 22.5 10t22.5 -10zM576 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5
+t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_521" unicode="&#xf22c;" horiz-adv-x="1280" 
+d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-612q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v612q-217 24 -364.5 187.5t-147.5 384.5q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM576 512q185 0 316.5 131.5
+t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
+    <glyph glyph-name="_522" unicode="&#xf22d;" horiz-adv-x="1280" 
+d="M1024 576q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1152 576q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123
+t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5z" />
+    <glyph glyph-name="_523" unicode="&#xf22e;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_524" unicode="&#xf22f;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_525" unicode="&#xf230;" 
+d="M1451 1408q35 0 60 -25t25 -60v-1366q0 -35 -25 -60t-60 -25h-391v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-735q-35 0 -60 25t-25 60v1366q0 35 25 60t60 25h1366z" />
+    <glyph glyph-name="_526" unicode="&#xf231;" horiz-adv-x="1280" 
+d="M0 939q0 108 37.5 203.5t103.5 166.5t152 123t185 78t202 26q158 0 294 -66.5t221 -193.5t85 -287q0 -96 -19 -188t-60 -177t-100 -149.5t-145 -103t-189 -38.5q-68 0 -135 32t-96 88q-10 -39 -28 -112.5t-23.5 -95t-20.5 -71t-26 -71t-32 -62.5t-46 -77.5t-62 -86.5
+l-14 -5l-9 10q-15 157 -15 188q0 92 21.5 206.5t66.5 287.5t52 203q-32 65 -32 169q0 83 52 156t132 73q61 0 95 -40.5t34 -102.5q0 -66 -44 -191t-44 -187q0 -63 45 -104.5t109 -41.5q55 0 102 25t78.5 68t56 95t38 110.5t20 111t6.5 99.5q0 173 -109.5 269.5t-285.5 96.5
+q-200 0 -334 -129.5t-134 -328.5q0 -44 12.5 -85t27 -65t27 -45.5t12.5 -30.5q0 -28 -15 -73t-37 -45q-2 0 -17 3q-51 15 -90.5 56t-61 94.5t-32.5 108t-11 106.5z" />
+    <glyph glyph-name="_527" unicode="&#xf232;" 
+d="M985 562q13 0 97.5 -44t89.5 -53q2 -5 2 -15q0 -33 -17 -76q-16 -39 -71 -65.5t-102 -26.5q-57 0 -190 62q-98 45 -170 118t-148 185q-72 107 -71 194v8q3 91 74 158q24 22 52 22q6 0 18 -1.5t19 -1.5q19 0 26.5 -6.5t15.5 -27.5q8 -20 33 -88t25 -75q0 -21 -34.5 -57.5
+t-34.5 -46.5q0 -7 5 -15q34 -73 102 -137q56 -53 151 -101q12 -7 22 -7q15 0 54 48.5t52 48.5zM782 32q127 0 243.5 50t200.5 134t134 200.5t50 243.5t-50 243.5t-134 200.5t-200.5 134t-243.5 50t-243.5 -50t-200.5 -134t-134 -200.5t-50 -243.5q0 -203 120 -368l-79 -233
+l242 77q158 -104 345 -104zM782 1414q153 0 292.5 -60t240.5 -161t161 -240.5t60 -292.5t-60 -292.5t-161 -240.5t-240.5 -161t-292.5 -60q-195 0 -365 94l-417 -134l136 405q-108 178 -108 389q0 153 60 292.5t161 240.5t240.5 161t292.5 60z" />
+    <glyph glyph-name="_528" unicode="&#xf233;" horiz-adv-x="1792" 
+d="M128 128h1024v128h-1024v-128zM128 640h1024v128h-1024v-128zM1696 192q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM128 1152h1024v128h-1024v-128zM1696 704q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1696 1216
+q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1792 384v-384h-1792v384h1792zM1792 896v-384h-1792v384h1792zM1792 1408v-384h-1792v384h1792z" />
+    <glyph glyph-name="_529" unicode="&#xf234;" horiz-adv-x="2048" 
+d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1664 512h352q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-352q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5
+t-9.5 22.5v352h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352zM928 288q0 -52 38 -90t90 -38h256v-238q-68 -50 -171 -50h-874q-121 0 -194 69t-73 190q0 53 3.5 103.5t14 109t26.5 108.5
+t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q79 -61 154.5 -91.5t164.5 -30.5t164.5 30.5t154.5 91.5q20 17 39 17q132 0 217 -96h-223q-52 0 -90 -38t-38 -90v-192z" />
+    <glyph glyph-name="_530" unicode="&#xf235;" horiz-adv-x="2048" 
+d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1781 320l249 -249q9 -9 9 -23q0 -13 -9 -22l-136 -136q-9 -9 -22 -9q-14 0 -23 9l-249 249l-249 -249q-9 -9 -23 -9q-13 0 -22 9l-136 136
+q-9 9 -9 22q0 14 9 23l249 249l-249 249q-9 9 -9 23q0 13 9 22l136 136q9 9 22 9q14 0 23 -9l249 -249l249 249q9 9 23 9q13 0 22 -9l136 -136q9 -9 9 -22q0 -14 -9 -23zM1283 320l-181 -181q-37 -37 -37 -91q0 -53 37 -90l83 -83q-21 -3 -44 -3h-874q-121 0 -194 69
+t-73 190q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q154 -122 319 -122t319 122q20 17 39 17q28 0 57 -6q-28 -27 -41 -50t-13 -56q0 -54 37 -91z" />
+    <glyph glyph-name="_531" unicode="&#xf236;" horiz-adv-x="2048" 
+d="M256 512h1728q26 0 45 -19t19 -45v-448h-256v256h-1536v-256h-256v1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-704zM832 832q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM2048 576v64q0 159 -112.5 271.5t-271.5 112.5h-704
+q-26 0 -45 -19t-19 -45v-384h1152z" />
+    <glyph glyph-name="_532" unicode="&#xf237;" 
+d="M1536 1536l-192 -448h192v-192h-274l-55 -128h329v-192h-411l-357 -832l-357 832h-411v192h329l-55 128h-274v192h192l-192 448h256l323 -768h378l323 768h256zM768 320l108 256h-216z" />
+    <glyph glyph-name="_533" unicode="&#xf238;" 
+d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM768 192q80 0 136 56t56 136t-56 136t-136 56
+t-136 -56t-56 -136t56 -136t136 -56zM1344 768v512h-1152v-512h1152z" />
+    <glyph glyph-name="_534" unicode="&#xf239;" 
+d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM288 224q66 0 113 47t47 113t-47 113t-113 47
+t-113 -47t-47 -113t47 -113t113 -47zM704 768v512h-544v-512h544zM1248 224q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM1408 768v512h-576v-512h576z" />
+    <glyph glyph-name="_535" unicode="&#xf23a;" horiz-adv-x="1792" 
+d="M597 1115v-1173q0 -25 -12.5 -42.5t-36.5 -17.5q-17 0 -33 8l-465 233q-21 10 -35.5 33.5t-14.5 46.5v1140q0 20 10 34t29 14q14 0 44 -15l511 -256q3 -3 3 -5zM661 1014l534 -866l-534 266v600zM1792 996v-1054q0 -25 -14 -40.5t-38 -15.5t-47 13l-441 220zM1789 1116
+q0 -3 -256.5 -419.5t-300.5 -487.5l-390 634l324 527q17 28 52 28q14 0 26 -6l541 -270q4 -2 4 -6z" />
+    <glyph glyph-name="_536" unicode="&#xf23b;" 
+d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1408v-1536h-1536v1536h1536z" />
+    <glyph glyph-name="_537" unicode="&#xf23c;" horiz-adv-x="2296" 
+d="M478 -139q-8 -16 -27 -34.5t-37 -25.5q-25 -9 -51.5 3.5t-28.5 31.5q-1 22 40 55t68 38q23 4 34 -21.5t2 -46.5zM1819 -139q7 -16 26 -34.5t38 -25.5q25 -9 51.5 3.5t27.5 31.5q2 22 -39.5 55t-68.5 38q-22 4 -33 -21.5t-2 -46.5zM1867 -30q13 -27 56.5 -59.5t77.5 -41.5
+q45 -13 82 4.5t37 50.5q0 46 -67.5 100.5t-115.5 59.5q-40 5 -63.5 -37.5t-6.5 -76.5zM428 -30q-13 -27 -56 -59.5t-77 -41.5q-45 -13 -82 4.5t-37 50.5q0 46 67.5 100.5t115.5 59.5q40 5 63 -37.5t6 -76.5zM1158 1094h1q-41 0 -76 -15q27 -8 44 -30.5t17 -49.5
+q0 -35 -27 -60t-65 -25q-52 0 -80 43q-5 -23 -5 -42q0 -74 56 -126.5t135 -52.5q80 0 136 52.5t56 126.5t-56 126.5t-136 52.5zM1462 1312q-99 109 -220.5 131.5t-245.5 -44.5q27 60 82.5 96.5t118 39.5t121.5 -17t99.5 -74.5t44.5 -131.5zM2212 73q8 -11 -11 -42
+q7 -23 7 -40q1 -56 -44.5 -112.5t-109.5 -91.5t-118 -37q-48 -2 -92 21.5t-66 65.5q-687 -25 -1259 0q-23 -41 -66.5 -65t-92.5 -22q-86 3 -179.5 80.5t-92.5 160.5q2 22 7 40q-19 31 -11 42q6 10 31 1q14 22 41 51q-7 29 2 38q11 10 39 -4q29 20 59 34q0 29 13 37
+q23 12 51 -16q35 5 61 -2q18 -4 38 -19v73q-11 0 -18 2q-53 10 -97 44.5t-55 87.5q-9 38 0 81q15 62 93 95q2 17 19 35.5t36 23.5t33 -7.5t19 -30.5h13q46 -5 60 -23q3 -3 5 -7q10 1 30.5 3.5t30.5 3.5q-15 11 -30 17q-23 40 -91 43q0 6 1 10q-62 2 -118.5 18.5t-84.5 47.5
+q-32 36 -42.5 92t-2.5 112q16 126 90 179q23 16 52 4.5t32 -40.5q0 -1 1.5 -14t2.5 -21t3 -20t5.5 -19t8.5 -10q27 -14 76 -12q48 46 98 74q-40 4 -162 -14l47 46q61 58 163 111q145 73 282 86q-20 8 -41 15.5t-47 14t-42.5 10.5t-47.5 11t-43 10q595 126 904 -139
+q98 -84 158 -222q85 -10 121 9h1q5 3 8.5 10t5.5 19t3 19.5t3 21.5l1 14q3 28 32 40t52 -5q73 -52 91 -178q7 -57 -3.5 -113t-42.5 -91q-28 -32 -83.5 -48.5t-115.5 -18.5v-10q-71 -2 -95 -43q-14 -5 -31 -17q11 -1 32 -3.5t30 -3.5q1 5 5 8q16 18 60 23h13q5 18 19 30t33 8
+t36 -23t19 -36q79 -32 93 -95q9 -40 1 -81q-12 -53 -56 -88t-97 -44q-10 -2 -17 -2q0 -49 -1 -73q20 15 38 19q26 7 61 2q28 28 51 16q14 -9 14 -37q33 -16 59 -34q27 13 38 4q10 -10 2 -38q28 -30 41 -51q23 8 31 -1zM1937 1025q0 -29 -9 -54q82 -32 112 -132
+q4 37 -9.5 98.5t-41.5 90.5q-20 19 -36 17t-16 -20zM1859 925q35 -42 47.5 -108.5t-0.5 -124.5q67 13 97 45q13 14 18 28q-3 64 -31 114.5t-79 66.5q-15 -15 -52 -21zM1822 921q-30 0 -44 1q42 -115 53 -239q21 0 43 3q16 68 1 135t-53 100zM258 839q30 100 112 132
+q-9 25 -9 54q0 18 -16.5 20t-35.5 -17q-28 -29 -41.5 -90.5t-9.5 -98.5zM294 737q29 -31 97 -45q-13 58 -0.5 124.5t47.5 108.5v0q-37 6 -52 21q-51 -16 -78.5 -66t-31.5 -115q9 -17 18 -28zM471 683q14 124 73 235q-19 -4 -55 -18l-45 -19v1q-46 -89 -20 -196q25 -3 47 -3z
+M1434 644q8 -38 16.5 -108.5t11.5 -89.5q3 -18 9.5 -21.5t23.5 4.5q40 20 62 85.5t23 125.5q-24 2 -146 4zM1152 1285q-116 0 -199 -82.5t-83 -198.5q0 -117 83 -199.5t199 -82.5t199 82.5t83 199.5q0 116 -83 198.5t-199 82.5zM1380 646q-105 2 -211 0v1q-1 -27 2.5 -86
+t13.5 -66q29 -14 93.5 -14.5t95.5 10.5q9 3 11 39t-0.5 69.5t-4.5 46.5zM1112 447q8 4 9.5 48t-0.5 88t-4 63v1q-212 -3 -214 -3q-4 -20 -7 -62t0 -83t14 -46q34 -15 101 -16t101 10zM718 636q-16 -59 4.5 -118.5t77.5 -84.5q15 -8 24 -5t12 21q3 16 8 90t10 103
+q-69 -2 -136 -6zM591 510q3 -23 -34 -36q132 -141 271.5 -240t305.5 -154q172 49 310.5 146t293.5 250q-33 13 -30 34q0 2 0.5 3.5t1.5 3t1 2.5v1v-1q-17 2 -50 5.5t-48 4.5q-26 -90 -82 -132q-51 -38 -82 1q-5 6 -9 14q-7 13 -17 62q-2 -5 -5 -9t-7.5 -7t-8 -5.5t-9.5 -4
+l-10 -2.5t-12 -2l-12 -1.5t-13.5 -1t-13.5 -0.5q-106 -9 -163 11q-4 -17 -10 -26.5t-21 -15t-23 -7t-36 -3.5q-6 -1 -9 -1q-179 -17 -203 40q-2 -63 -56 -54q-47 8 -91 54q-12 13 -20 26q-17 29 -26 65q-58 -6 -87 -10q1 -2 4 -10zM507 -118q3 14 3 30q-17 71 -51 130
+t-73 70q-41 12 -101.5 -14.5t-104.5 -80t-39 -107.5q35 -53 100 -93t119 -42q51 -2 94 28t53 79zM510 53q23 -63 27 -119q195 113 392 174q-98 52 -180.5 120t-179.5 165q-6 -4 -29 -13q0 -1 -1 -4t-1 -5q31 -18 22 -37q-12 -23 -56 -34q-10 -13 -29 -24h-1q-2 -83 1 -150
+q19 -34 35 -73zM579 -113q532 -21 1145 0q-254 147 -428 196q-76 -35 -156 -57q-8 -3 -16 0q-65 21 -129 49q-208 -60 -416 -188h-1v-1q1 0 1 1zM1763 -67q4 54 28 120q14 38 33 71l-1 -1q3 77 3 153q-15 8 -30 25q-42 9 -56 33q-9 20 22 38q-2 4 -2 9q-16 4 -28 12
+q-204 -190 -383 -284q198 -59 414 -176zM2155 -90q5 54 -39 107.5t-104 80t-102 14.5q-38 -11 -72.5 -70.5t-51.5 -129.5q0 -16 3 -30q10 -49 53 -79t94 -28q54 2 119 42t100 93z" />
+    <glyph glyph-name="_538" unicode="&#xf23d;" horiz-adv-x="2304" 
+d="M1524 -25q0 -68 -48 -116t-116 -48t-116.5 48t-48.5 116t48.5 116.5t116.5 48.5t116 -48.5t48 -116.5zM775 -25q0 -68 -48.5 -116t-116.5 -48t-116 48t-48 116t48 116.5t116 48.5t116.5 -48.5t48.5 -116.5zM0 1469q57 -60 110.5 -104.5t121 -82t136 -63t166 -45.5
+t200 -31.5t250 -18.5t304 -9.5t372.5 -2.5q139 0 244.5 -5t181 -16.5t124 -27.5t71 -39.5t24 -51.5t-19.5 -64t-56.5 -76.5t-89.5 -91t-116 -104.5t-139 -119q-185 -157 -286 -247q29 51 76.5 109t94 105.5t94.5 98.5t83 91.5t54 80.5t13 70t-45.5 55.5t-116.5 41t-204 23.5
+t-304 5q-168 -2 -314 6t-256 23t-204.5 41t-159.5 51.5t-122.5 62.5t-91.5 66.5t-68 71.5t-50.5 69.5t-40 68t-36.5 59.5z" />
+    <glyph glyph-name="_539" unicode="&#xf23e;" horiz-adv-x="1792" 
+d="M896 1472q-169 0 -323 -66t-265.5 -177.5t-177.5 -265.5t-66 -323t66 -323t177.5 -265.5t265.5 -177.5t323 -66t323 66t265.5 177.5t177.5 265.5t66 323t-66 323t-177.5 265.5t-265.5 177.5t-323 66zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348
+t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM496 704q16 0 16 -16v-480q0 -16 -16 -16h-32q-16 0 -16 16v480q0 16 16 16h32zM896 640q53 0 90.5 -37.5t37.5 -90.5q0 -35 -17.5 -64t-46.5 -46v-114q0 -14 -9 -23
+t-23 -9h-64q-14 0 -23 9t-9 23v114q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5zM896 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM544 928v-96
+q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 93 65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5v-96q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 146 -103 249t-249 103t-249 -103t-103 -249zM1408 192v512q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-512
+q0 -26 19 -45t45 -19h896q26 0 45 19t19 45z" />
+    <glyph glyph-name="_540" unicode="&#xf240;" horiz-adv-x="2304" 
+d="M1920 1024v-768h-1664v768h1664zM2048 448h128v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288zM2304 832v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113
+v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160q53 0 90.5 -37.5t37.5 -90.5z" />
+    <glyph glyph-name="_541" unicode="&#xf241;" horiz-adv-x="2304" 
+d="M256 256v768h1280v-768h-1280zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_542" unicode="&#xf242;" horiz-adv-x="2304" 
+d="M256 256v768h896v-768h-896zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_543" unicode="&#xf243;" horiz-adv-x="2304" 
+d="M256 256v768h512v-768h-512zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9
+h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_544" unicode="&#xf244;" horiz-adv-x="2304" 
+d="M2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23
+v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
+    <glyph glyph-name="_545" unicode="&#xf245;" horiz-adv-x="1280" 
+d="M1133 493q31 -30 14 -69q-17 -40 -59 -40h-382l201 -476q10 -25 0 -49t-34 -35l-177 -75q-25 -10 -49 0t-35 34l-191 452l-312 -312q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v1504q0 42 40 59q12 5 24 5q27 0 45 -19z" />
+    <glyph glyph-name="_546" unicode="&#xf246;" horiz-adv-x="1024" 
+d="M832 1408q-320 0 -320 -224v-416h128v-128h-128v-544q0 -224 320 -224h64v-128h-64q-272 0 -384 146q-112 -146 -384 -146h-64v128h64q320 0 320 224v544h-128v128h128v416q0 224 -320 224h-64v128h64q272 0 384 -146q112 146 384 146h64v-128h-64z" />
+    <glyph glyph-name="_547" unicode="&#xf247;" horiz-adv-x="2048" 
+d="M2048 1152h-128v-1024h128v-384h-384v128h-1280v-128h-384v384h128v1024h-128v384h384v-128h1280v128h384v-384zM1792 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 -128v128h-128v-128h128zM1664 0v128h128v1024h-128v128h-1280v-128h-128v-1024h128v-128
+h1280zM1920 -128v128h-128v-128h128zM1280 896h384v-768h-896v256h-384v768h896v-256zM512 512h640v512h-640v-512zM1536 256v512h-256v-384h-384v-128h640z" />
+    <glyph glyph-name="_548" unicode="&#xf248;" horiz-adv-x="2304" 
+d="M2304 768h-128v-640h128v-384h-384v128h-896v-128h-384v384h128v128h-384v-128h-384v384h128v640h-128v384h384v-128h896v128h384v-384h-128v-128h384v128h384v-384zM2048 1024v-128h128v128h-128zM1408 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 256
+v128h-128v-128h128zM1536 384h-128v-128h128v128zM384 384h896v128h128v640h-128v128h-896v-128h-128v-640h128v-128zM896 -128v128h-128v-128h128zM2176 -128v128h-128v-128h128zM2048 128v640h-128v128h-384v-384h128v-384h-384v128h-384v-128h128v-128h896v128h128z" />
+    <glyph glyph-name="_549" unicode="&#xf249;" 
+d="M1024 288v-416h-928q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68v-928h-416q-40 0 -68 -28t-28 -68zM1152 256h381q-15 -82 -65 -132l-184 -184q-50 -50 -132 -65v381z" />
+    <glyph glyph-name="_550" unicode="&#xf24a;" 
+d="M1400 256h-248v-248q29 10 41 22l185 185q12 12 22 41zM1120 384h288v896h-1280v-1280h896v288q0 40 28 68t68 28zM1536 1312v-1024q0 -40 -20 -88t-48 -76l-184 -184q-28 -28 -76 -48t-88 -20h-1024q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68
+z" />
+    <glyph glyph-name="_551" unicode="&#xf24b;" horiz-adv-x="2304" 
+d="M1951 538q0 -26 -15.5 -44.5t-38.5 -23.5q-8 -2 -18 -2h-153v140h153q10 0 18 -2q23 -5 38.5 -23.5t15.5 -44.5zM1933 751q0 -25 -15 -42t-38 -21q-3 -1 -15 -1h-139v129h139q3 0 8.5 -0.5t6.5 -0.5q23 -4 38 -21.5t15 -42.5zM728 587v308h-228v-308q0 -58 -38 -94.5
+t-105 -36.5q-108 0 -229 59v-112q53 -15 121 -23t109 -9l42 -1q328 0 328 217zM1442 403v113q-99 -52 -200 -59q-108 -8 -169 41t-61 142t61 142t169 41q101 -7 200 -58v112q-48 12 -100 19.5t-80 9.5l-28 2q-127 6 -218.5 -14t-140.5 -60t-71 -88t-22 -106t22 -106t71 -88
+t140.5 -60t218.5 -14q101 4 208 31zM2176 518q0 54 -43 88.5t-109 39.5v3q57 8 89 41.5t32 79.5q0 55 -41 88t-107 36q-3 0 -12 0.5t-14 0.5h-455v-510h491q74 0 121.5 36.5t47.5 96.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90
+t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_552" unicode="&#xf24c;" horiz-adv-x="2304" 
+d="M858 295v693q-106 -41 -172 -135.5t-66 -211.5t66 -211.5t172 -134.5zM1362 641q0 117 -66 211.5t-172 135.5v-694q106 41 172 135.5t66 211.5zM1577 641q0 -159 -78.5 -294t-213.5 -213.5t-294 -78.5q-119 0 -227.5 46.5t-187 125t-125 187t-46.5 227.5q0 159 78.5 294
+t213.5 213.5t294 78.5t294 -78.5t213.5 -213.5t78.5 -294zM1960 634q0 139 -55.5 261.5t-147.5 205.5t-213.5 131t-252.5 48h-301q-176 0 -323.5 -81t-235 -230t-87.5 -335q0 -171 87 -317.5t236 -231.5t323 -85h301q129 0 251.5 50.5t214.5 135t147.5 202.5t55.5 246z
+M2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_553" unicode="&#xf24d;" horiz-adv-x="1792" 
+d="M1664 -96v1088q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5zM1792 992v-1088q0 -66 -47 -113t-113 -47h-1088q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113
+zM1408 1376v-160h-128v160q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h160v-128h-160q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="_554" unicode="&#xf24e;" horiz-adv-x="2304" 
+d="M1728 1088l-384 -704h768zM448 1088l-384 -704h768zM1269 1280q-14 -40 -45.5 -71.5t-71.5 -45.5v-1291h608q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1344q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h608v1291q-40 14 -71.5 45.5t-45.5 71.5h-491q-14 0 -23 9t-9 23v64
+q0 14 9 23t23 9h491q21 57 70 92.5t111 35.5t111 -35.5t70 -92.5h491q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-491zM1088 1264q33 0 56.5 23.5t23.5 56.5t-23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5zM2176 384q0 -73 -46.5 -131t-117.5 -91
+t-144.5 -49.5t-139.5 -16.5t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81zM896 384q0 -73 -46.5 -131t-117.5 -91t-144.5 -49.5t-139.5 -16.5
+t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81z" />
+    <glyph glyph-name="_555" unicode="&#xf250;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-77 -29 -149 -92.5
+t-129.5 -152.5t-92.5 -210t-35 -253h1024q0 132 -35 253t-92.5 210t-129.5 152.5t-149 92.5q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
+    <glyph glyph-name="_556" unicode="&#xf251;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -66 9 -128h1006q9 61 9 128zM1280 -128q0 130 -34 249.5t-90.5 208t-126.5 152t-146 94.5h-230q-76 -31 -146 -94.5t-126.5 -152t-90.5 -208t-34 -249.5h1024z" />
+    <glyph glyph-name="_557" unicode="&#xf252;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -206 85 -384h854q85 178 85 384zM1223 192q-54 141 -145.5 241.5t-194.5 142.5h-230q-103 -42 -194.5 -142.5t-145.5 -241.5h910z" />
+    <glyph glyph-name="_558" unicode="&#xf253;" 
+d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9
+t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-137 -51 -244 -196
+h700q-107 145 -244 196q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
+    <glyph glyph-name="_559" unicode="&#xf254;" 
+d="M1504 -64q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472zM130 0q3 55 16 107t30 95t46 87t53.5 76t64.5 69.5t66 60t70.5 55t66.5 47.5t65 43q-43 28 -65 43t-66.5 47.5t-70.5 55t-66 60t-64.5 69.5t-53.5 76t-46 87
+t-30 95t-16 107h1276q-3 -55 -16 -107t-30 -95t-46 -87t-53.5 -76t-64.5 -69.5t-66 -60t-70.5 -55t-66.5 -47.5t-65 -43q43 -28 65 -43t66.5 -47.5t70.5 -55t66 -60t64.5 -69.5t53.5 -76t46 -87t30 -95t16 -107h-1276zM1504 1536q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9
+h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472z" />
+    <glyph glyph-name="_560" unicode="&#xf255;" 
+d="M768 1152q-53 0 -90.5 -37.5t-37.5 -90.5v-128h-32v93q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-429l-32 30v172q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-224q0 -47 35 -82l310 -296q39 -39 39 -102q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v25
+q0 41 10 77l108 436q10 36 10 77v246q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-32h-32v125q0 40 -25 72.5t-64 40.5q-14 2 -23 2q-46 0 -79 -33t-33 -79v-128h-32v122q0 51 -32.5 89.5t-82.5 43.5q-5 1 -13 1zM768 1280q84 0 149 -50q57 34 123 34q59 0 111 -27
+t86 -76q27 7 59 7q100 0 170 -71.5t70 -171.5v-246q0 -51 -13 -108l-109 -436q-6 -24 -6 -71q0 -80 -56 -136t-136 -56h-640q-84 0 -138 58.5t-54 142.5l-308 296q-76 73 -76 175v224q0 99 70.5 169.5t169.5 70.5q11 0 16 -1q6 95 75.5 160t164.5 65q52 0 98 -21
+q72 69 174 69z" />
+    <glyph glyph-name="_561" unicode="&#xf256;" horiz-adv-x="1792" 
+d="M880 1408q-46 0 -79 -33t-33 -79v-656h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528v-256l-154 205q-38 51 -102 51q-53 0 -90.5 -37.5t-37.5 -90.5q0 -43 26 -77l384 -512q38 -51 102 -51h688q34 0 61 22t34 56l76 405q5 32 5 59v498q0 46 -33 79t-79 33t-79 -33
+t-33 -79v-272h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528h-32v656q0 46 -33 79t-79 33zM880 1536q68 0 125.5 -35.5t88.5 -96.5q19 4 42 4q99 0 169.5 -70.5t70.5 -169.5v-17q105 6 180.5 -64t75.5 -175v-498q0 -40 -8 -83l-76 -404q-14 -79 -76.5 -131t-143.5 -52
+h-688q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 106 75 181t181 75q78 0 128 -34v434q0 99 70.5 169.5t169.5 70.5q23 0 42 -4q31 61 88.5 96.5t125.5 35.5z" />
+    <glyph glyph-name="_562" unicode="&#xf257;" horiz-adv-x="1792" 
+d="M1073 -128h-177q-163 0 -226 141q-23 49 -23 102v5q-62 30 -98.5 88.5t-36.5 127.5q0 38 5 48h-261q-106 0 -181 75t-75 181t75 181t181 75h113l-44 17q-74 28 -119.5 93.5t-45.5 145.5q0 106 75 181t181 75q46 0 91 -17l628 -239h401q106 0 181 -75t75 -181v-668
+q0 -88 -54 -157.5t-140 -90.5l-339 -85q-92 -23 -186 -23zM1024 583l-155 -71l-163 -74q-30 -14 -48 -41.5t-18 -60.5q0 -46 33 -79t79 -33q26 0 46 10l338 154q-49 10 -80.5 50t-31.5 90v55zM1344 272q0 46 -33 79t-79 33q-26 0 -46 -10l-290 -132q-28 -13 -37 -17
+t-30.5 -17t-29.5 -23.5t-16 -29t-8 -40.5q0 -50 31.5 -82t81.5 -32q20 0 38 9l352 160q30 14 48 41.5t18 60.5zM1112 1024l-650 248q-24 8 -46 8q-53 0 -90.5 -37.5t-37.5 -90.5q0 -40 22.5 -73t59.5 -47l526 -200v-64h-640q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5
+t90.5 -37.5h535l233 106v198q0 63 46 106l111 102h-69zM1073 0q82 0 155 19l339 85q43 11 70 45.5t27 78.5v668q0 53 -37.5 90.5t-90.5 37.5h-308l-136 -126q-36 -33 -36 -82v-296q0 -46 33 -77t79 -31t79 35t33 81v208h32v-208q0 -70 -57 -114q52 -8 86.5 -48.5t34.5 -93.5
+q0 -42 -23 -78t-61 -53l-310 -141h91z" />
+    <glyph glyph-name="_563" unicode="&#xf258;" horiz-adv-x="2048" 
+d="M1151 1536q61 0 116 -28t91 -77l572 -781q118 -159 118 -359v-355q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v177l-286 143h-546q-80 0 -136 56t-56 136v32q0 119 84.5 203.5t203.5 84.5h420l42 128h-686q-100 0 -173.5 67.5t-81.5 166.5q-65 79 -65 182v32
+q0 80 56 136t136 56h959zM1920 -64v355q0 157 -93 284l-573 781q-39 52 -103 52h-959q-26 0 -45 -19t-19 -45q0 -32 1.5 -49.5t9.5 -40.5t25 -43q10 31 35.5 50t56.5 19h832v-32h-832q-26 0 -45 -19t-19 -45q0 -44 3 -58q8 -44 44 -73t81 -29h640h91q40 0 68 -28t28 -68
+q0 -15 -5 -30l-64 -192q-10 -29 -35 -47.5t-56 -18.5h-443q-66 0 -113 -47t-47 -113v-32q0 -26 19 -45t45 -19h561q16 0 29 -7l317 -158q24 -13 38.5 -36t14.5 -50v-197q0 -26 19 -45t45 -19h384q26 0 45 19t19 45z" />
+    <glyph glyph-name="_564" unicode="&#xf259;" horiz-adv-x="2048" 
+d="M459 -256q-77 0 -137.5 47.5t-79.5 122.5l-101 401q-13 57 -13 108q0 45 -5 67l-116 477q-7 27 -7 57q0 93 62 161t155 78q17 85 82.5 139t152.5 54q83 0 148 -51.5t85 -132.5l83 -348l103 428q20 81 85 132.5t148 51.5q89 0 155.5 -57.5t80.5 -144.5q92 -10 152 -79
+t60 -162q0 -24 -7 -59l-123 -512q10 7 37.5 28.5t38.5 29.5t35 23t41 20.5t41.5 11t49.5 5.5q105 0 180 -74t75 -179q0 -62 -28.5 -118t-78.5 -94l-507 -380q-68 -51 -153 -51h-694zM1104 1408q-38 0 -68.5 -24t-39.5 -62l-164 -682h-127l-145 602q-9 38 -39.5 62t-68.5 24
+q-48 0 -80 -33t-32 -80q0 -15 3 -28l132 -547h-26l-99 408q-9 37 -40 62.5t-69 25.5q-47 0 -80 -33t-33 -79q0 -14 3 -26l116 -478q7 -28 9 -86t10 -88l100 -401q8 -32 34 -52.5t59 -20.5h694q42 0 76 26l507 379q56 43 56 110q0 52 -37.5 88.5t-89.5 36.5q-43 0 -77 -26
+l-307 -230v227q0 4 32 138t68 282t39 161q4 18 4 29q0 47 -32 81t-79 34q-39 0 -69.5 -24t-39.5 -62l-116 -482h-26l150 624q3 14 3 28q0 48 -31.5 82t-79.5 34z" />
+    <glyph glyph-name="_565" unicode="&#xf25a;" horiz-adv-x="1792" 
+d="M640 1408q-53 0 -90.5 -37.5t-37.5 -90.5v-512v-384l-151 202q-41 54 -107 54q-52 0 -89 -38t-37 -90q0 -43 26 -77l384 -512q38 -51 102 -51h718q22 0 39.5 13.5t22.5 34.5l92 368q24 96 24 194v217q0 41 -28 71t-68 30t-68 -28t-28 -68h-32v61q0 48 -32 81.5t-80 33.5
+q-46 0 -79 -33t-33 -79v-64h-32v90q0 55 -37 94.5t-91 39.5q-53 0 -90.5 -37.5t-37.5 -90.5v-96h-32v570q0 55 -37 94.5t-91 39.5zM640 1536q107 0 181.5 -77.5t74.5 -184.5v-220q22 2 32 2q99 0 173 -69q47 21 99 21q113 0 184 -87q27 7 56 7q94 0 159 -67.5t65 -161.5
+v-217q0 -116 -28 -225l-92 -368q-16 -64 -68 -104.5t-118 -40.5h-718q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 105 74.5 180.5t179.5 75.5q71 0 130 -35v547q0 106 75 181t181 75zM768 128v384h-32v-384h32zM1024 128v384h-32v-384h32zM1280 128v384h-32
+v-384h32z" />
+    <glyph glyph-name="_566" unicode="&#xf25b;" 
+d="M1288 889q60 0 107 -23q141 -63 141 -226v-177q0 -94 -23 -186l-85 -339q-21 -86 -90.5 -140t-157.5 -54h-668q-106 0 -181 75t-75 181v401l-239 628q-17 45 -17 91q0 106 75 181t181 75q80 0 145.5 -45.5t93.5 -119.5l17 -44v113q0 106 75 181t181 75t181 -75t75 -181
+v-261q27 5 48 5q69 0 127.5 -36.5t88.5 -98.5zM1072 896q-33 0 -60.5 -18t-41.5 -48l-74 -163l-71 -155h55q50 0 90 -31.5t50 -80.5l154 338q10 20 10 46q0 46 -33 79t-79 33zM1293 761q-22 0 -40.5 -8t-29 -16t-23.5 -29.5t-17 -30.5t-17 -37l-132 -290q-10 -20 -10 -46
+q0 -46 33 -79t79 -33q33 0 60.5 18t41.5 48l160 352q9 18 9 38q0 50 -32 81.5t-82 31.5zM128 1120q0 -22 8 -46l248 -650v-69l102 111q43 46 106 46h198l106 233v535q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-640h-64l-200 526q-14 37 -47 59.5t-73 22.5
+q-53 0 -90.5 -37.5t-37.5 -90.5zM1180 -128q44 0 78.5 27t45.5 70l85 339q19 73 19 155v91l-141 -310q-17 -38 -53 -61t-78 -23q-53 0 -93.5 34.5t-48.5 86.5q-44 -57 -114 -57h-208v32h208q46 0 81 33t35 79t-31 79t-77 33h-296q-49 0 -82 -36l-126 -136v-308
+q0 -53 37.5 -90.5t90.5 -37.5h668z" />
+    <glyph glyph-name="_567" unicode="&#xf25c;" horiz-adv-x="1973" 
+d="M857 992v-117q0 -13 -9.5 -22t-22.5 -9h-298v-812q0 -13 -9 -22.5t-22 -9.5h-135q-13 0 -22.5 9t-9.5 23v812h-297q-13 0 -22.5 9t-9.5 22v117q0 14 9 23t23 9h793q13 0 22.5 -9.5t9.5 -22.5zM1895 995l77 -961q1 -13 -8 -24q-10 -10 -23 -10h-134q-12 0 -21 8.5
+t-10 20.5l-46 588l-189 -425q-8 -19 -29 -19h-120q-20 0 -29 19l-188 427l-45 -590q-1 -12 -10 -20.5t-21 -8.5h-135q-13 0 -23 10q-9 10 -9 24l78 961q1 12 10 20.5t21 8.5h142q20 0 29 -19l220 -520q10 -24 20 -51q3 7 9.5 24.5t10.5 26.5l221 520q9 19 29 19h141
+q13 0 22 -8.5t10 -20.5z" />
+    <glyph glyph-name="_568" unicode="&#xf25d;" horiz-adv-x="1792" 
+d="M1042 833q0 88 -60 121q-33 18 -117 18h-123v-281h162q66 0 102 37t36 105zM1094 548l205 -373q8 -17 -1 -31q-8 -16 -27 -16h-152q-20 0 -28 17l-194 365h-155v-350q0 -14 -9 -23t-23 -9h-134q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h294q128 0 190 -24q85 -31 134 -109
+t49 -180q0 -92 -42.5 -165.5t-115.5 -109.5q6 -10 9 -16zM896 1376q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM1792 640
+q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_569" unicode="&#xf25e;" horiz-adv-x="1792" 
+d="M605 303q153 0 257 104q14 18 3 36l-45 82q-6 13 -24 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78
+q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-148 0 -246 -96.5t-98 -240.5q0 -146 97 -241.5t247 -95.5zM1235 303q153 0 257 104q14 18 4 36l-45 82q-8 14 -25 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5
+t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-147 0 -245.5 -96.5t-98.5 -240.5q0 -146 97 -241.5t247 -95.5zM896 1376
+q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191
+t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71z" />
+    <glyph glyph-name="f260" unicode="&#xf260;" horiz-adv-x="2048" 
+d="M736 736l384 -384l-384 -384l-672 672l672 672l168 -168l-96 -96l-72 72l-480 -480l480 -480l193 193l-289 287zM1312 1312l672 -672l-672 -672l-168 168l96 96l72 -72l480 480l-480 480l-193 -193l289 -287l-96 -96l-384 384z" />
+    <glyph glyph-name="f261" unicode="&#xf261;" horiz-adv-x="1792" 
+d="M717 182l271 271l-279 279l-88 -88l192 -191l-96 -96l-279 279l279 279l40 -40l87 87l-127 128l-454 -454zM1075 190l454 454l-454 454l-271 -271l279 -279l88 88l-192 191l96 96l279 -279l-279 -279l-40 40l-87 -88zM1792 640q0 -182 -71 -348t-191 -286t-286 -191
+t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_572" unicode="&#xf262;" horiz-adv-x="2304" 
+d="M651 539q0 -39 -27.5 -66.5t-65.5 -27.5q-39 0 -66.5 27.5t-27.5 66.5q0 38 27.5 65.5t66.5 27.5q38 0 65.5 -27.5t27.5 -65.5zM1805 540q0 -39 -27.5 -66.5t-66.5 -27.5t-66.5 27.5t-27.5 66.5t27.5 66t66.5 27t66.5 -27t27.5 -66zM765 539q0 79 -56.5 136t-136.5 57
+t-136.5 -56.5t-56.5 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM1918 540q0 80 -56.5 136.5t-136.5 56.5q-79 0 -136 -56.5t-57 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM850 539q0 -116 -81.5 -197.5t-196.5 -81.5q-116 0 -197.5 82t-81.5 197
+t82 196.5t197 81.5t196.5 -81.5t81.5 -196.5zM2004 540q0 -115 -81.5 -196.5t-197.5 -81.5q-115 0 -196.5 81.5t-81.5 196.5t81.5 196.5t196.5 81.5q116 0 197.5 -81.5t81.5 -196.5zM1040 537q0 191 -135.5 326.5t-326.5 135.5q-125 0 -231 -62t-168 -168.5t-62 -231.5
+t62 -231.5t168 -168.5t231 -62q191 0 326.5 135.5t135.5 326.5zM1708 1110q-254 111 -556 111q-319 0 -573 -110q117 0 223 -45.5t182.5 -122.5t122 -183t45.5 -223q0 115 43.5 219.5t118 180.5t177.5 123t217 50zM2187 537q0 191 -135 326.5t-326 135.5t-326.5 -135.5
+t-135.5 -326.5t135.5 -326.5t326.5 -135.5t326 135.5t135 326.5zM1921 1103h383q-44 -51 -75 -114.5t-40 -114.5q110 -151 110 -337q0 -156 -77 -288t-209 -208.5t-287 -76.5q-133 0 -249 56t-196 155q-47 -56 -129 -179q-11 22 -53.5 82.5t-74.5 97.5
+q-80 -99 -196.5 -155.5t-249.5 -56.5q-155 0 -287 76.5t-209 208.5t-77 288q0 186 110 337q-9 51 -40 114.5t-75 114.5h365q149 100 355 156.5t432 56.5q224 0 421 -56t348 -157z" />
+    <glyph glyph-name="f263" unicode="&#xf263;" horiz-adv-x="1280" 
+d="M640 629q-188 0 -321 133t-133 320q0 188 133 321t321 133t321 -133t133 -321q0 -187 -133 -320t-321 -133zM640 1306q-92 0 -157.5 -65.5t-65.5 -158.5q0 -92 65.5 -157.5t157.5 -65.5t157.5 65.5t65.5 157.5q0 93 -65.5 158.5t-157.5 65.5zM1163 574q13 -27 15 -49.5
+t-4.5 -40.5t-26.5 -38.5t-42.5 -37t-61.5 -41.5q-115 -73 -315 -94l73 -72l267 -267q30 -31 30 -74t-30 -73l-12 -13q-31 -30 -74 -30t-74 30q-67 68 -267 268l-267 -268q-31 -30 -74 -30t-73 30l-12 13q-31 30 -31 73t31 74l267 267l72 72q-203 21 -317 94
+q-39 25 -61.5 41.5t-42.5 37t-26.5 38.5t-4.5 40.5t15 49.5q10 20 28 35t42 22t56 -2t65 -35q5 -4 15 -11t43 -24.5t69 -30.5t92 -24t113 -11q91 0 174 25.5t120 50.5l38 25q33 26 65 35t56 2t42 -22t28 -35z" />
+    <glyph glyph-name="_574" unicode="&#xf264;" 
+d="M927 956q0 -66 -46.5 -112.5t-112.5 -46.5t-112.5 46.5t-46.5 112.5t46.5 112.5t112.5 46.5t112.5 -46.5t46.5 -112.5zM1141 593q-10 20 -28 32t-47.5 9.5t-60.5 -27.5q-10 -8 -29 -20t-81 -32t-127 -20t-124 18t-86 36l-27 18q-31 25 -60.5 27.5t-47.5 -9.5t-28 -32
+q-22 -45 -2 -74.5t87 -73.5q83 -53 226 -67l-51 -52q-142 -142 -191 -190q-22 -22 -22 -52.5t22 -52.5l9 -9q22 -22 52.5 -22t52.5 22l191 191q114 -115 191 -191q22 -22 52.5 -22t52.5 22l9 9q22 22 22 52.5t-22 52.5l-191 190l-52 52q141 14 225 67q67 44 87 73.5t-2 74.5
+zM1092 956q0 134 -95 229t-229 95t-229 -95t-95 -229t95 -229t229 -95t229 95t95 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="_575" unicode="&#xf265;" horiz-adv-x="1720" 
+d="M1565 1408q65 0 110 -45.5t45 -110.5v-519q0 -176 -68 -336t-182.5 -275t-274 -182.5t-334.5 -67.5q-176 0 -335.5 67.5t-274.5 182.5t-183 275t-68 336v519q0 64 46 110t110 46h1409zM861 344q47 0 82 33l404 388q37 35 37 85q0 49 -34.5 83.5t-83.5 34.5q-47 0 -82 -33
+l-323 -310l-323 310q-35 33 -81 33q-49 0 -83.5 -34.5t-34.5 -83.5q0 -51 36 -85l405 -388q33 -33 81 -33z" />
+    <glyph glyph-name="_576" unicode="&#xf266;" horiz-adv-x="2304" 
+d="M1494 -103l-295 695q-25 -49 -158.5 -305.5t-198.5 -389.5q-1 -1 -27.5 -0.5t-26.5 1.5q-82 193 -255.5 587t-259.5 596q-21 50 -66.5 107.5t-103.5 100.5t-102 43q0 5 -0.5 24t-0.5 27h583v-50q-39 -2 -79.5 -16t-66.5 -43t-10 -64q26 -59 216.5 -499t235.5 -540
+q31 61 140 266.5t131 247.5q-19 39 -126 281t-136 295q-38 69 -201 71v50l513 -1v-47q-60 -2 -93.5 -25t-12.5 -69q33 -70 87 -189.5t86 -187.5q110 214 173 363q24 55 -10 79.5t-129 26.5q1 7 1 25v24q64 0 170.5 0.5t180 1t92.5 0.5v-49q-62 -2 -119 -33t-90 -81
+l-213 -442q13 -33 127.5 -290t121.5 -274l441 1017q-14 38 -49.5 62.5t-65 31.5t-55.5 8v50l460 -4l1 -2l-1 -44q-139 -4 -201 -145q-526 -1216 -559 -1291h-49z" />
+    <glyph glyph-name="_577" unicode="&#xf267;" horiz-adv-x="1792" 
+d="M949 643q0 -26 -16.5 -45t-41.5 -19q-26 0 -45 16.5t-19 41.5q0 26 17 45t42 19t44 -16.5t19 -41.5zM964 585l350 581q-9 -8 -67.5 -62.5t-125.5 -116.5t-136.5 -127t-117 -110.5t-50.5 -51.5l-349 -580q7 7 67 62t126 116.5t136 127t117 111t50 50.5zM1611 640
+q0 -201 -104 -371q-3 2 -17 11t-26.5 16.5t-16.5 7.5q-13 0 -13 -13q0 -10 59 -44q-74 -112 -184.5 -190.5t-241.5 -110.5l-16 67q-1 10 -15 10q-5 0 -8 -5.5t-2 -9.5l16 -68q-72 -15 -146 -15q-199 0 -372 105q1 2 13 20.5t21.5 33.5t9.5 19q0 13 -13 13q-6 0 -17 -14.5
+t-22.5 -34.5t-13.5 -23q-113 75 -192 187.5t-110 244.5l69 15q10 3 10 15q0 5 -5.5 8t-10.5 2l-68 -15q-14 72 -14 139q0 206 109 379q2 -1 18.5 -12t30 -19t17.5 -8q13 0 13 12q0 6 -12.5 15.5t-32.5 21.5l-20 12q77 112 189 189t244 107l15 -67q2 -10 15 -10q5 0 8 5.5
+t2 10.5l-15 66q71 13 134 13q204 0 379 -109q-39 -56 -39 -65q0 -13 12 -13q11 0 48 64q111 -75 187.5 -186t107.5 -241l-56 -12q-10 -2 -10 -16q0 -5 5.5 -8t9.5 -2l57 13q14 -72 14 -140zM1696 640q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5
+t-255 -170.5t-170.5 -255t-63.5 -311t63.5 -311t170.5 -255t255 -170.5t311 -63.5t311 63.5t255 170.5t170.5 255t63.5 311zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191
+t191 -286t71 -348z" />
+    <glyph glyph-name="_578" unicode="&#xf268;" horiz-adv-x="1792" 
+d="M893 1536q240 2 451 -120q232 -134 352 -372l-742 39q-160 9 -294 -74.5t-185 -229.5l-276 424q128 159 311 245.5t383 87.5zM146 1131l337 -663q72 -143 211 -217t293 -45l-230 -451q-212 33 -385 157.5t-272.5 316t-99.5 411.5q0 267 146 491zM1732 962
+q58 -150 59.5 -310.5t-48.5 -306t-153 -272t-246 -209.5q-230 -133 -498 -119l405 623q88 131 82.5 290.5t-106.5 277.5zM896 942q125 0 213.5 -88.5t88.5 -213.5t-88.5 -213.5t-213.5 -88.5t-213.5 88.5t-88.5 213.5t88.5 213.5t213.5 88.5z" />
+    <glyph glyph-name="_579" unicode="&#xf269;" horiz-adv-x="1792" 
+d="M903 -256q-283 0 -504.5 150.5t-329.5 398.5q-58 131 -67 301t26 332.5t111 312t179 242.5l-11 -281q11 14 68 15.5t70 -15.5q42 81 160.5 138t234.5 59q-54 -45 -119.5 -148.5t-58.5 -163.5q25 -8 62.5 -13.5t63 -7.5t68 -4t50.5 -3q15 -5 9.5 -45.5t-30.5 -75.5
+q-5 -7 -16.5 -18.5t-56.5 -35.5t-101 -34l15 -189l-139 67q-18 -43 -7.5 -81.5t36 -66.5t65.5 -41.5t81 -6.5q51 9 98 34.5t83.5 45t73.5 17.5q61 -4 89.5 -33t19.5 -65q-1 -2 -2.5 -5.5t-8.5 -12.5t-18 -15.5t-31.5 -10.5t-46.5 -1q-60 -95 -144.5 -135.5t-209.5 -29.5
+q74 -61 162.5 -82.5t168.5 -6t154.5 52t128 87.5t80.5 104q43 91 39 192.5t-37.5 188.5t-78.5 125q87 -38 137 -79.5t77 -112.5q15 170 -57.5 343t-209.5 284q265 -77 412 -279.5t151 -517.5q2 -127 -40.5 -255t-123.5 -238t-189 -196t-247.5 -135.5t-288.5 -49.5z" />
+    <glyph glyph-name="_580" unicode="&#xf26a;" horiz-adv-x="1792" 
+d="M1493 1308q-165 110 -359 110q-155 0 -293 -73t-240 -200q-75 -93 -119.5 -218t-48.5 -266v-42q4 -141 48.5 -266t119.5 -218q102 -127 240 -200t293 -73q194 0 359 110q-121 -108 -274.5 -168t-322.5 -60q-29 0 -43 1q-175 8 -333 82t-272 193t-181 281t-67 339
+q0 182 71 348t191 286t286 191t348 71h3q168 -1 320.5 -60.5t273.5 -167.5zM1792 640q0 -192 -77 -362.5t-213 -296.5q-104 -63 -222 -63q-137 0 -255 84q154 56 253.5 233t99.5 405q0 227 -99 404t-253 234q119 83 254 83q119 0 226 -65q135 -125 210.5 -295t75.5 -361z
+" />
+    <glyph glyph-name="_581" unicode="&#xf26b;" horiz-adv-x="1792" 
+d="M1792 599q0 -56 -7 -104h-1151q0 -146 109.5 -244.5t257.5 -98.5q99 0 185.5 46.5t136.5 130.5h423q-56 -159 -170.5 -281t-267.5 -188.5t-321 -66.5q-187 0 -356 83q-228 -116 -394 -116q-237 0 -237 263q0 115 45 275q17 60 109 229q199 360 475 606
+q-184 -79 -427 -354q63 274 283.5 449.5t501.5 175.5q30 0 45 -1q255 117 433 117q64 0 116 -13t94.5 -40.5t66.5 -76.5t24 -115q0 -116 -75 -286q101 -182 101 -390zM1722 1239q0 83 -53 132t-137 49q-108 0 -254 -70q121 -47 222.5 -131.5t170.5 -195.5q51 135 51 216z
+M128 2q0 -86 48.5 -132.5t134.5 -46.5q115 0 266 83q-122 72 -213.5 183t-137.5 245q-98 -205 -98 -332zM632 715h728q-5 142 -113 237t-251 95q-144 0 -251.5 -95t-112.5 -237z" />
+    <glyph glyph-name="_582" unicode="&#xf26c;" horiz-adv-x="2048" 
+d="M1792 288v960q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1248v-960q0 -66 -47 -113t-113 -47h-736v-128h352q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23
+v64q0 14 9 23t23 9h352v128h-736q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="_583" unicode="&#xf26d;" horiz-adv-x="1792" 
+d="M138 1408h197q-70 -64 -126 -149q-36 -56 -59 -115t-30 -125.5t-8.5 -120t10.5 -132t21 -126t28 -136.5q4 -19 6 -28q51 -238 81 -329q57 -171 152 -275h-272q-48 0 -82 34t-34 82v1304q0 48 34 82t82 34zM1346 1408h308q48 0 82 -34t34 -82v-1304q0 -48 -34 -82t-82 -34
+h-178q212 210 196 565l-469 -101q-2 -45 -12 -82t-31 -72t-59.5 -59.5t-93.5 -36.5q-123 -26 -199 40q-32 27 -53 61t-51.5 129t-64.5 258q-35 163 -45.5 263t-5.5 139t23 77q20 41 62.5 73t102.5 45q45 12 83.5 6.5t67 -17t54 -35t43 -48t34.5 -56.5l468 100
+q-68 175 -180 287z" />
+    <glyph glyph-name="_584" unicode="&#xf26e;" 
+d="M1401 -11l-6 -6q-113 -113 -259 -175q-154 -64 -317 -64q-165 0 -317 64q-148 63 -259 175q-113 112 -175 258q-42 103 -54 189q-4 28 48 36q51 8 56 -20q1 -1 1 -4q18 -90 46 -159q50 -124 152 -226q98 -98 226 -152q132 -56 276 -56q143 0 276 56q128 55 225 152l6 6
+q10 10 25 6q12 -3 33 -22q36 -37 17 -58zM929 604l-66 -66l63 -63q21 -21 -7 -49q-17 -17 -32 -17q-10 0 -19 10l-62 61l-66 -66q-5 -5 -15 -5q-15 0 -31 16l-2 2q-18 15 -18 29q0 7 8 17l66 65l-66 66q-16 16 14 45q18 18 31 18q6 0 13 -5l65 -66l65 65q18 17 48 -13
+q27 -27 11 -44zM1400 547q0 -118 -46 -228q-45 -105 -126 -186q-80 -80 -187 -126t-228 -46t-228 46t-187 126q-82 82 -125 186q-15 33 -15 40h-1q-9 27 43 44q50 16 60 -12q37 -99 97 -167h1v339v2q3 136 102 232q105 103 253 103q147 0 251 -103t104 -249
+q0 -147 -104.5 -251t-250.5 -104q-58 0 -112 16q-28 11 -13 61q16 51 44 43l14 -3q14 -3 33 -6t30 -3q104 0 176 71.5t72 174.5q0 101 -72 171q-71 71 -175 71q-107 0 -178 -80q-64 -72 -64 -160v-413q110 -67 242 -67q96 0 185 36.5t156 103.5t103.5 155t36.5 183
+q0 198 -141 339q-140 140 -339 140q-200 0 -340 -140q-53 -53 -77 -87l-2 -2q-8 -11 -13 -15.5t-21.5 -9.5t-38.5 3q-21 5 -36.5 16.5t-15.5 26.5v680q0 15 10.5 26.5t27.5 11.5h877q30 0 30 -55t-30 -55h-811v-483h1q40 42 102 84t108 61q109 46 231 46q121 0 228 -46
+t187 -126q81 -81 126 -186q46 -112 46 -229zM1369 1128q9 -8 9 -18t-5.5 -18t-16.5 -21q-26 -26 -39 -26q-9 0 -16 7q-106 91 -207 133q-128 56 -276 56q-133 0 -262 -49q-27 -10 -45 37q-9 25 -8 38q3 16 16 20q130 57 299 57q164 0 316 -64q137 -58 235 -152z" />
+    <glyph glyph-name="_585" unicode="&#xf270;" horiz-adv-x="1792" 
+d="M1551 60q15 6 26 3t11 -17.5t-15 -33.5q-13 -16 -44 -43.5t-95.5 -68t-141 -74t-188 -58t-229.5 -24.5q-119 0 -238 31t-209 76.5t-172.5 104t-132.5 105t-84 87.5q-8 9 -10 16.5t1 12t8 7t11.5 2t11.5 -4.5q192 -117 300 -166q389 -176 799 -90q190 40 391 135z
+M1758 175q11 -16 2.5 -69.5t-28.5 -102.5q-34 -83 -85 -124q-17 -14 -26 -9t0 24q21 45 44.5 121.5t6.5 98.5q-5 7 -15.5 11.5t-27 6t-29.5 2.5t-35 0t-31.5 -2t-31 -3t-22.5 -2q-6 -1 -13 -1.5t-11 -1t-8.5 -1t-7 -0.5h-5.5h-4.5t-3 0.5t-2 1.5l-1.5 3q-6 16 47 40t103 30
+q46 7 108 1t76 -24zM1364 618q0 -31 13.5 -64t32 -58t37.5 -46t33 -32l13 -11l-227 -224q-40 37 -79 75.5t-58 58.5l-19 20q-11 11 -25 33q-38 -59 -97.5 -102.5t-127.5 -63.5t-140 -23t-137.5 21t-117.5 65.5t-83 113t-31 162.5q0 84 28 154t72 116.5t106.5 83t122.5 57
+t130 34.5t119.5 18.5t99.5 6.5v127q0 65 -21 97q-34 53 -121 53q-6 0 -16.5 -1t-40.5 -12t-56 -29.5t-56 -59.5t-48 -96l-294 27q0 60 22 119t67 113t108 95t151.5 65.5t190.5 24.5q100 0 181 -25t129.5 -61.5t81 -83t45 -86t12.5 -73.5v-589zM692 597q0 -86 70 -133
+q66 -44 139 -22q84 25 114 123q14 45 14 101v162q-59 -2 -111 -12t-106.5 -33.5t-87 -71t-32.5 -114.5z" />
+    <glyph glyph-name="_586" unicode="&#xf271;" horiz-adv-x="1792" 
+d="M1536 1280q52 0 90 -38t38 -90v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128zM1152 1376v-288q0 -14 9 -23t23 -9
+h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 1376v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM1536 -128v1024h-1408v-1024h1408zM896 448h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224
+v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224z" />
+    <glyph glyph-name="_587" unicode="&#xf272;" horiz-adv-x="1792" 
+d="M1152 416v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23
+t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47
+t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_588" unicode="&#xf273;" horiz-adv-x="1792" 
+d="M1111 151l-46 -46q-9 -9 -22 -9t-23 9l-188 189l-188 -189q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22t9 23l189 188l-189 188q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l188 -188l188 188q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23l-188 -188l188 -188q9 -10 9 -23t-9 -22z
+M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280
+q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_589" unicode="&#xf274;" horiz-adv-x="1792" 
+d="M1303 572l-512 -512q-10 -9 -23 -9t-23 9l-288 288q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l220 -220l444 444q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23
+t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47
+t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
+    <glyph glyph-name="_590" unicode="&#xf275;" horiz-adv-x="1792" 
+d="M448 1536q26 0 45 -19t19 -45v-891l536 429q17 14 40 14q26 0 45 -19t19 -45v-379l536 429q17 14 40 14q26 0 45 -19t19 -45v-1152q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h384z" />
+    <glyph glyph-name="_591" unicode="&#xf276;" horiz-adv-x="1024" 
+d="M512 448q66 0 128 15v-655q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v655q62 -15 128 -15zM512 1536q212 0 362 -150t150 -362t-150 -362t-362 -150t-362 150t-150 362t150 362t362 150zM512 1312q14 0 23 9t9 23t-9 23t-23 9q-146 0 -249 -103t-103 -249
+q0 -14 9 -23t23 -9t23 9t9 23q0 119 84.5 203.5t203.5 84.5z" />
+    <glyph glyph-name="_592" unicode="&#xf277;" horiz-adv-x="1792" 
+d="M1745 1239q10 -10 10 -23t-10 -23l-141 -141q-28 -28 -68 -28h-1344q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h576v64q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-64h512q40 0 68 -28zM768 320h256v-512q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v512zM1600 768
+q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-1344q-40 0 -68 28l-141 141q-10 10 -10 23t10 23l141 141q28 28 68 28h512v192h256v-192h576z" />
+    <glyph glyph-name="_593" unicode="&#xf278;" horiz-adv-x="2048" 
+d="M2020 1525q28 -20 28 -53v-1408q0 -20 -11 -36t-29 -23l-640 -256q-24 -11 -48 0l-616 246l-616 -246q-10 -5 -24 -5q-19 0 -36 11q-28 20 -28 53v1408q0 20 11 36t29 23l640 256q24 11 48 0l616 -246l616 246q32 13 60 -6zM736 1390v-1270l576 -230v1270zM128 1173
+v-1270l544 217v1270zM1920 107v1270l-544 -217v-1270z" />
+    <glyph glyph-name="_594" unicode="&#xf279;" horiz-adv-x="1792" 
+d="M512 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472q0 20 17 28l480 256q7 4 15 4zM1760 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472
+q0 20 17 28l480 256q7 4 15 4zM640 1536q8 0 14 -3l512 -256q18 -10 18 -29v-1472q0 -13 -9.5 -22.5t-22.5 -9.5q-8 0 -14 3l-512 256q-18 10 -18 29v1472q0 13 9.5 22.5t22.5 9.5z" />
+    <glyph glyph-name="_595" unicode="&#xf27a;" horiz-adv-x="1792" 
+d="M640 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 640q0 53 -37.5 90.5t-90.5 37.5
+t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-110 0 -211 18q-173 -173 -435 -229q-52 -10 -86 -13q-12 -1 -22 6t-13 18q-4 15 20 37q5 5 23.5 21.5t25.5 23.5t23.5 25.5t24 31.5t20.5 37
+t20 48t14.5 57.5t12.5 72.5q-146 90 -229.5 216.5t-83.5 269.5q0 174 120 321.5t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
+    <glyph glyph-name="_596" unicode="&#xf27b;" horiz-adv-x="1792" 
+d="M640 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 -53 -37.5 -90.5t-90.5 -37.5
+t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5
+t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51
+t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 130 71 248.5t191 204.5t286 136.5t348 50.5t348 -50.5t286 -136.5t191 -204.5t71 -248.5z" />
+    <glyph glyph-name="_597" unicode="&#xf27c;" horiz-adv-x="1024" 
+d="M512 345l512 295v-591l-512 -296v592zM0 640v-591l512 296zM512 1527v-591l-512 -296v591zM512 936l512 295v-591z" />
+    <glyph glyph-name="_598" unicode="&#xf27d;" horiz-adv-x="1792" 
+d="M1709 1018q-10 -236 -332 -651q-333 -431 -562 -431q-142 0 -240 263q-44 160 -132 482q-72 262 -157 262q-18 0 -127 -76l-77 98q24 21 108 96.5t130 115.5q156 138 241 146q95 9 153 -55.5t81 -203.5q44 -287 66 -373q55 -249 120 -249q51 0 154 161q101 161 109 246
+q13 139 -109 139q-57 0 -121 -26q120 393 459 382q251 -8 236 -326z" />
+    <glyph glyph-name="f27e" unicode="&#xf27e;" 
+d="M0 1408h1536v-1536h-1536v1536zM1085 293l-221 631l221 297h-634l221 -297l-221 -631l317 -304z" />
+    <glyph glyph-name="uniF280" unicode="&#xf280;" 
+d="M0 1408h1536v-1536h-1536v1536zM908 1088l-12 -33l75 -83l-31 -114l25 -25l107 57l107 -57l25 25l-31 114l75 83l-12 33h-95l-53 96h-32l-53 -96h-95zM641 925q32 0 44.5 -16t11.5 -63l174 21q0 55 -17.5 92.5t-50.5 56t-69 25.5t-85 7q-133 0 -199 -57.5t-66 -182.5v-72
+h-96v-128h76q20 0 20 -8v-382q0 -14 -5 -20t-18 -7l-73 -7v-88h448v86l-149 14q-6 1 -8.5 1.5t-3.5 2.5t-0.5 4t1 7t0.5 10v387h191l38 128h-231q-6 0 -2 6t4 9v80q0 27 1.5 40.5t7.5 28t19.5 20t36.5 5.5zM1248 96v86l-54 9q-7 1 -9.5 2.5t-2.5 3t1 7.5t1 12v520h-275
+l-23 -101l83 -22q23 -7 23 -27v-370q0 -14 -6 -18.5t-20 -6.5l-70 -9v-86h352z" />
+    <glyph glyph-name="uniF281" unicode="&#xf281;" horiz-adv-x="1792" 
+d="M1792 690q0 -58 -29.5 -105.5t-79.5 -72.5q12 -46 12 -96q0 -155 -106.5 -287t-290.5 -208.5t-400 -76.5t-399.5 76.5t-290 208.5t-106.5 287q0 47 11 94q-51 25 -82 73.5t-31 106.5q0 82 58 140.5t141 58.5q85 0 145 -63q218 152 515 162l116 521q3 13 15 21t26 5
+l369 -81q18 37 54 59.5t79 22.5q62 0 106 -43.5t44 -105.5t-44 -106t-106 -44t-105.5 43.5t-43.5 105.5l-334 74l-104 -472q300 -9 519 -160q58 61 143 61q83 0 141 -58.5t58 -140.5zM418 491q0 -62 43.5 -106t105.5 -44t106 44t44 106t-44 105.5t-106 43.5q-61 0 -105 -44
+t-44 -105zM1228 136q11 11 11 26t-11 26q-10 10 -25 10t-26 -10q-41 -42 -121 -62t-160 -20t-160 20t-121 62q-11 10 -26 10t-25 -10q-11 -10 -11 -25.5t11 -26.5q43 -43 118.5 -68t122.5 -29.5t91 -4.5t91 4.5t122.5 29.5t118.5 68zM1225 341q62 0 105.5 44t43.5 106
+q0 61 -44 105t-105 44q-62 0 -106 -43.5t-44 -105.5t44 -106t106 -44z" />
+    <glyph glyph-name="_602" unicode="&#xf282;" horiz-adv-x="1792" 
+d="M69 741h1q16 126 58.5 241.5t115 217t167.5 176t223.5 117.5t276.5 43q231 0 414 -105.5t294 -303.5q104 -187 104 -442v-188h-1125q1 -111 53.5 -192.5t136.5 -122.5t189.5 -57t213 -3t208 46.5t173.5 84.5v-377q-92 -55 -229.5 -92t-312.5 -38t-316 53
+q-189 73 -311.5 249t-124.5 372q-3 242 111 412t325 268q-48 -60 -78 -125.5t-46 -159.5h635q8 77 -8 140t-47 101.5t-70.5 66.5t-80.5 41t-75 20.5t-56 8.5l-22 1q-135 -5 -259.5 -44.5t-223.5 -104.5t-176 -140.5t-138 -163.5z" />
+    <glyph glyph-name="_603" unicode="&#xf283;" horiz-adv-x="2304" 
+d="M0 32v608h2304v-608q0 -66 -47 -113t-113 -47h-1984q-66 0 -113 47t-47 113zM640 256v-128h384v128h-384zM256 256v-128h256v128h-256zM2144 1408q66 0 113 -47t47 -113v-224h-2304v224q0 66 47 113t113 47h1984z" />
+    <glyph glyph-name="_604" unicode="&#xf284;" horiz-adv-x="1792" 
+d="M1584 246l-218 111q-74 -120 -196.5 -189t-263.5 -69q-147 0 -271 72t-196 196t-72 270q0 110 42.5 209.5t115 172t172 115t209.5 42.5q131 0 247.5 -60.5t192.5 -168.5l215 125q-110 169 -286.5 265t-378.5 96q-161 0 -308 -63t-253 -169t-169 -253t-63 -308t63 -308
+t169 -253t253 -169t308 -63q213 0 397.5 107t290.5 292zM1030 643l693 -352q-116 -253 -334.5 -400t-492.5 -147q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71q260 0 470.5 -133.5t335.5 -366.5zM1543 640h-39v-160h-96v352h136q32 0 54.5 -20
+t28.5 -48t1 -56t-27.5 -48t-57.5 -20z" />
+    <glyph glyph-name="uniF285" unicode="&#xf285;" horiz-adv-x="1792" 
+d="M1427 827l-614 386l92 151h855zM405 562l-184 116v858l1183 -743zM1424 697l147 -95v-858l-532 335zM1387 718l-500 -802h-855l356 571z" />
+    <glyph glyph-name="uniF286" unicode="&#xf286;" horiz-adv-x="1792" 
+d="M640 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1152 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1664 496v-752h-640v320q0 80 -56 136t-136 56t-136 -56t-56 -136v-320h-640v752q0 16 16 16h96
+q16 0 16 -16v-112h128v624q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 6 2.5 9.5t8.5 5t9.5 2t11.5 0t9 -0.5v391q-32 15 -32 50q0 23 16.5 39t38.5 16t38.5 -16t16.5 -39q0 -35 -32 -50v-17q45 10 83 10q21 0 59.5 -7.5t54.5 -7.5
+q17 0 47 7.5t37 7.5q16 0 16 -16v-210q0 -15 -35 -21.5t-62 -6.5q-18 0 -54.5 7.5t-55.5 7.5q-40 0 -90 -12v-133q1 0 9 0.5t11.5 0t9.5 -2t8.5 -5t2.5 -9.5v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-624h128v112q0 16 16 16h96
+q16 0 16 -16z" />
+    <glyph glyph-name="_607" unicode="&#xf287;" horiz-adv-x="2304" 
+d="M2288 731q16 -8 16 -27t-16 -27l-320 -192q-8 -5 -16 -5q-9 0 -16 4q-16 10 -16 28v128h-858q37 -58 83 -165q16 -37 24.5 -55t24 -49t27 -47t27 -34t31.5 -26t33 -8h96v96q0 14 9 23t23 9h320q14 0 23 -9t9 -23v-320q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v96h-96
+q-32 0 -61 10t-51 23.5t-45 40.5t-37 46t-33.5 57t-28.5 57.5t-28 60.5q-23 53 -37 81.5t-36 65t-44.5 53.5t-46.5 17h-360q-22 -84 -91 -138t-157 -54q-106 0 -181 75t-75 181t75 181t181 75q88 0 157 -54t91 -138h104q24 0 46.5 17t44.5 53.5t36 65t37 81.5q19 41 28 60.5
+t28.5 57.5t33.5 57t37 46t45 40.5t51 23.5t61 10h107q21 57 70 92.5t111 35.5q80 0 136 -56t56 -136t-56 -136t-136 -56q-62 0 -111 35.5t-70 92.5h-107q-17 0 -33 -8t-31.5 -26t-27 -34t-27 -47t-24 -49t-24.5 -55q-46 -107 -83 -165h1114v128q0 18 16 28t32 -1z" />
+    <glyph glyph-name="_608" unicode="&#xf288;" horiz-adv-x="1792" 
+d="M1150 774q0 -56 -39.5 -95t-95.5 -39h-253v269h253q56 0 95.5 -39.5t39.5 -95.5zM1329 774q0 130 -91.5 222t-222.5 92h-433v-896h180v269h253q130 0 222 91.5t92 221.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348
+t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_609" unicode="&#xf289;" horiz-adv-x="2304" 
+d="M1645 438q0 59 -34 106.5t-87 68.5q-7 -45 -23 -92q-7 -24 -27.5 -38t-44.5 -14q-12 0 -24 3q-31 10 -45 38.5t-4 58.5q23 71 23 143q0 123 -61 227.5t-166 165.5t-228 61q-134 0 -247 -73t-167 -194q108 -28 188 -106q22 -23 22 -55t-22 -54t-54 -22t-55 22
+q-75 75 -180 75q-106 0 -181 -74.5t-75 -180.5t75 -180.5t181 -74.5h1046q79 0 134.5 55.5t55.5 133.5zM1798 438q0 -142 -100.5 -242t-242.5 -100h-1046q-169 0 -289 119.5t-120 288.5q0 153 100 267t249 136q62 184 221 298t354 114q235 0 408.5 -158.5t196.5 -389.5
+q116 -25 192.5 -118.5t76.5 -214.5zM2048 438q0 -175 -97 -319q-23 -33 -64 -33q-24 0 -43 13q-26 17 -32 48.5t12 57.5q71 104 71 233t-71 233q-18 26 -12 57t32 49t57.5 11.5t49.5 -32.5q97 -142 97 -318zM2304 438q0 -244 -134 -443q-23 -34 -64 -34q-23 0 -42 13
+q-26 18 -32.5 49t11.5 57q108 164 108 358q0 195 -108 357q-18 26 -11.5 57.5t32.5 48.5q26 18 57 12t49 -33q134 -198 134 -442z" />
+    <glyph glyph-name="_610" unicode="&#xf28a;" 
+d="M1500 -13q0 -89 -63 -152.5t-153 -63.5t-153.5 63.5t-63.5 152.5q0 90 63.5 153.5t153.5 63.5t153 -63.5t63 -153.5zM1267 268q-115 -15 -192.5 -102.5t-77.5 -205.5q0 -74 33 -138q-146 -78 -379 -78q-109 0 -201 21t-153.5 54.5t-110.5 76.5t-76 85t-44.5 83
+t-23.5 66.5t-6 39.5q0 19 4.5 42.5t18.5 56t36.5 58t64 43.5t94.5 18t94 -17.5t63 -41t35.5 -53t17.5 -49t4 -33.5q0 -34 -23 -81q28 -27 82 -42t93 -17l40 -1q115 0 190 51t75 133q0 26 -9 48.5t-31.5 44.5t-49.5 41t-74 44t-93.5 47.5t-119.5 56.5q-28 13 -43 20
+q-116 55 -187 100t-122.5 102t-72 125.5t-20.5 162.5q0 78 20.5 150t66 137.5t112.5 114t166.5 77t221.5 28.5q120 0 220 -26t164.5 -67t109.5 -94t64 -105.5t19 -103.5q0 -46 -15 -82.5t-36.5 -58t-48.5 -36t-49 -19.5t-39 -5h-8h-32t-39 5t-44 14t-41 28t-37 46t-24 70.5
+t-10 97.5q-15 16 -59 25.5t-81 10.5l-37 1q-68 0 -117.5 -31t-70.5 -70t-21 -76q0 -24 5 -43t24 -46t53 -51t97 -53.5t150 -58.5q76 -25 138.5 -53.5t109 -55.5t83 -59t60.5 -59.5t41 -62.5t26.5 -62t14.5 -63.5t6 -62t1 -62.5z" />
+    <glyph glyph-name="_611" unicode="&#xf28b;" 
+d="M704 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1152 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103
+t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_612" unicode="&#xf28c;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273
+t73 -273t198 -198t273 -73zM864 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192z" />
+    <glyph glyph-name="_613" unicode="&#xf28d;" 
+d="M1088 352v576q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
+t103 -385.5z" />
+    <glyph glyph-name="_614" unicode="&#xf28e;" 
+d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273
+t73 -273t198 -198t273 -73zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h576q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-576z" />
+    <glyph glyph-name="_615" unicode="&#xf290;" horiz-adv-x="1792" 
+d="M1757 128l35 -313q3 -28 -16 -50q-19 -21 -48 -21h-1664q-29 0 -48 21q-19 22 -16 50l35 313h1722zM1664 967l86 -775h-1708l86 775q3 24 21 40.5t43 16.5h256v-128q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5v128h384v-128q0 -53 37.5 -90.5t90.5 -37.5
+t90.5 37.5t37.5 90.5v128h256q25 0 43 -16.5t21 -40.5zM1280 1152v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="_616" unicode="&#xf291;" horiz-adv-x="2048" 
+d="M1920 768q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-15l-115 -662q-8 -46 -44 -76t-82 -30h-1280q-46 0 -82 30t-44 76l-115 662h-15q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5h1792zM485 -32q26 2 43.5 22.5t15.5 46.5l-32 416q-2 26 -22.5 43.5
+t-46.5 15.5t-43.5 -22.5t-15.5 -46.5l32 -416q2 -25 20.5 -42t43.5 -17h5zM896 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1280 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1632 27l32 416
+q2 26 -15.5 46.5t-43.5 22.5t-46.5 -15.5t-22.5 -43.5l-32 -416q-2 -26 15.5 -46.5t43.5 -22.5h5q25 0 43.5 17t20.5 42zM476 1244l-93 -412h-132l101 441q19 88 89 143.5t160 55.5h167q0 26 19 45t45 19h384q26 0 45 -19t19 -45h167q90 0 160 -55.5t89 -143.5l101 -441
+h-132l-93 412q-11 44 -45.5 72t-79.5 28h-167q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45h-167q-45 0 -79.5 -28t-45.5 -72z" />
+    <glyph glyph-name="_617" unicode="&#xf292;" horiz-adv-x="1792" 
+d="M991 512l64 256h-254l-64 -256h254zM1759 1016l-56 -224q-7 -24 -31 -24h-327l-64 -256h311q15 0 25 -12q10 -14 6 -28l-56 -224q-5 -24 -31 -24h-327l-81 -328q-7 -24 -31 -24h-224q-16 0 -26 12q-9 12 -6 28l78 312h-254l-81 -328q-7 -24 -31 -24h-225q-15 0 -25 12
+q-9 12 -6 28l78 312h-311q-15 0 -25 12q-9 12 -6 28l56 224q7 24 31 24h327l64 256h-311q-15 0 -25 12q-10 14 -6 28l56 224q5 24 31 24h327l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h254l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h311
+q15 0 25 -12q9 -12 6 -28z" />
+    <glyph glyph-name="_618" unicode="&#xf293;" 
+d="M841 483l148 -148l-149 -149zM840 1094l149 -149l-148 -148zM710 -130l464 464l-306 306l306 306l-464 464v-611l-255 255l-93 -93l320 -321l-320 -321l93 -93l255 255v-611zM1429 640q0 -209 -32 -365.5t-87.5 -257t-140.5 -162.5t-181.5 -86.5t-219.5 -24.5
+t-219.5 24.5t-181.5 86.5t-140.5 162.5t-87.5 257t-32 365.5t32 365.5t87.5 257t140.5 162.5t181.5 86.5t219.5 24.5t219.5 -24.5t181.5 -86.5t140.5 -162.5t87.5 -257t32 -365.5z" />
+    <glyph glyph-name="_619" unicode="&#xf294;" horiz-adv-x="1024" 
+d="M596 113l173 172l-173 172v-344zM596 823l173 172l-173 172v-344zM628 640l356 -356l-539 -540v711l-297 -296l-108 108l372 373l-372 373l108 108l297 -296v711l539 -540z" />
+    <glyph glyph-name="_620" unicode="&#xf295;" 
+d="M1280 256q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM512 1024q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5
+t112.5 -271.5zM1440 1344q0 -20 -13 -38l-1056 -1408q-19 -26 -51 -26h-160q-26 0 -45 19t-19 45q0 20 13 38l1056 1408q19 26 51 26h160q26 0 45 -19t19 -45zM768 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5
+t271.5 -112.5t112.5 -271.5z" />
+    <glyph glyph-name="_621" unicode="&#xf296;" horiz-adv-x="1792" 
+d="M104 830l792 -1015l-868 630q-18 13 -25 34.5t0 42.5l101 308v0zM566 830h660l-330 -1015v0zM368 1442l198 -612h-462l198 612q8 23 33 23t33 -23zM1688 830l101 -308q7 -21 0 -42.5t-25 -34.5l-868 -630l792 1015v0zM1688 830h-462l198 612q8 23 33 23t33 -23z" />
+    <glyph glyph-name="_622" unicode="&#xf297;" horiz-adv-x="1792" 
+d="M384 704h160v224h-160v-224zM1221 372v92q-104 -36 -243 -38q-135 -1 -259.5 46.5t-220.5 122.5l1 -96q88 -80 212 -128.5t272 -47.5q129 0 238 49zM640 704h640v224h-640v-224zM1792 736q0 -187 -99 -352q89 -102 89 -229q0 -157 -129.5 -268t-313.5 -111
+q-122 0 -225 52.5t-161 140.5q-19 -1 -57 -1t-57 1q-58 -88 -161 -140.5t-225 -52.5q-184 0 -313.5 111t-129.5 268q0 127 89 229q-99 165 -99 352q0 209 120 385.5t326.5 279.5t449.5 103t449.5 -103t326.5 -279.5t120 -385.5z" />
+    <glyph glyph-name="_623" unicode="&#xf298;" 
+d="M515 625v-128h-252v128h252zM515 880v-127h-252v127h252zM1273 369v-128h-341v128h341zM1273 625v-128h-672v128h672zM1273 880v-127h-672v127h672zM1408 20v1240q0 8 -6 14t-14 6h-32l-378 -256l-210 171l-210 -171l-378 256h-32q-8 0 -14 -6t-6 -14v-1240q0 -8 6 -14
+t14 -6h1240q8 0 14 6t6 14zM553 1130l185 150h-406zM983 1130l221 150h-406zM1536 1260v-1240q0 -62 -43 -105t-105 -43h-1240q-62 0 -105 43t-43 105v1240q0 62 43 105t105 43h1240q62 0 105 -43t43 -105z" />
+    <glyph glyph-name="_624" unicode="&#xf299;" horiz-adv-x="1792" 
+d="M896 720q-104 196 -160 278q-139 202 -347 318q-34 19 -70 36q-89 40 -94 32t34 -38l39 -31q62 -43 112.5 -93.5t94.5 -116.5t70.5 -113t70.5 -131q9 -17 13 -25q44 -84 84 -153t98 -154t115.5 -150t131 -123.5t148.5 -90.5q153 -66 154 -60q1 3 -49 37q-53 36 -81 57
+q-77 58 -179 211t-185 310zM549 177q-76 60 -132.5 125t-98 143.5t-71 154.5t-58.5 186t-52 209t-60.5 252t-76.5 289q273 0 497.5 -36t379 -92t271 -144.5t185.5 -172.5t110 -198.5t56 -199.5t12.5 -198.5t-9.5 -173t-20 -143.5t-13 -107l323 -327h-104l-281 285
+q-22 -2 -91.5 -14t-121.5 -19t-138 -6t-160.5 17t-167.5 59t-179 111z" />
+    <glyph glyph-name="_625" unicode="&#xf29a;" horiz-adv-x="1792" 
+d="M1374 879q-6 26 -28.5 39.5t-48.5 7.5q-261 -62 -401 -62t-401 62q-26 6 -48.5 -7.5t-28.5 -39.5t7.5 -48.5t39.5 -28.5q194 -46 303 -58q-2 -158 -15.5 -269t-26.5 -155.5t-41 -115.5l-9 -21q-10 -25 1 -49t36 -34q9 -4 23 -4q44 0 60 41l8 20q54 139 71 259h42
+q17 -120 71 -259l8 -20q16 -41 60 -41q14 0 23 4q25 10 36 34t1 49l-9 21q-28 71 -41 115.5t-26.5 155.5t-15.5 269q109 12 303 58q26 6 39.5 28.5t7.5 48.5zM1024 1024q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z
+M1600 640q0 -143 -55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5zM896 1408q-156 0 -298 -61t-245 -164t-164 -245t-61 -298t61 -298
+t164 -245t245 -164t298 -61t298 61t245 164t164 245t61 298t-61 298t-164 245t-245 164t-298 61zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="_626" unicode="&#xf29b;" 
+d="M1438 723q34 -35 29 -82l-44 -551q-4 -42 -34.5 -70t-71.5 -28q-6 0 -9 1q-44 3 -72.5 36.5t-25.5 77.5l35 429l-143 -8q55 -113 55 -240q0 -216 -148 -372l-137 137q91 101 91 235q0 145 -102.5 248t-247.5 103q-134 0 -236 -92l-137 138q120 114 284 141l264 300
+l-149 87l-181 -161q-33 -30 -77 -27.5t-73 35.5t-26.5 77t34.5 73l239 213q26 23 60 26.5t64 -14.5l488 -283q36 -21 48 -68q17 -67 -26 -117l-205 -232l371 20q49 3 83 -32zM1240 1180q-74 0 -126 52t-52 126t52 126t126 52t126.5 -52t52.5 -126t-52.5 -126t-126.5 -52z
+M613 -62q106 0 196 61l139 -139q-146 -116 -335 -116q-148 0 -273.5 73t-198.5 198t-73 273q0 188 116 336l139 -139q-60 -88 -60 -197q0 -145 102.5 -247.5t247.5 -102.5z" />
+    <glyph glyph-name="_627" unicode="&#xf29c;" 
+d="M880 336v-160q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h160q14 0 23 -9t9 -23zM1136 832q0 -50 -15 -90t-45.5 -69t-52 -44t-59.5 -36q-32 -18 -46.5 -28t-26 -24t-11.5 -29v-32q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v68q0 35 10.5 64.5
+t24 47.5t39 35.5t41 25.5t44.5 21q53 25 75 43t22 49q0 42 -43.5 71.5t-95.5 29.5q-56 0 -95 -27q-29 -20 -80 -83q-9 -12 -25 -12q-11 0 -19 6l-108 82q-10 7 -12 20t5 23q122 192 349 192q129 0 238.5 -89.5t109.5 -214.5zM768 1280q-130 0 -248.5 -51t-204 -136.5
+t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5
+t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="_628" unicode="&#xf29d;" horiz-adv-x="1408" 
+d="M366 1225q-64 0 -110 45.5t-46 110.5q0 64 46 109.5t110 45.5t109.5 -45.5t45.5 -109.5q0 -65 -45.5 -110.5t-109.5 -45.5zM917 583q0 -50 -30 -67.5t-63.5 -6.5t-47.5 34l-367 438q-7 12 -14 15.5t-11 1.5l-3 -3q-7 -8 4 -21l122 -139l1 -354l-161 -457
+q-67 -192 -92 -234q-15 -26 -28 -32q-50 -26 -103 -1q-29 13 -41.5 43t-9.5 57q2 17 197 618l5 416l-85 -164l35 -222q4 -24 -1 -42t-14 -27.5t-19 -16t-17 -7.5l-7 -2q-19 -3 -34.5 3t-24 16t-14 22t-7.5 19.5t-2 9.5l-46 299l211 381q23 34 113 34q75 0 107 -40l424 -521
+q7 -5 14 -17l3 -3l-1 -1q7 -13 7 -29zM514 433q43 -113 88.5 -225t69.5 -168l24 -55q36 -93 42 -125q11 -70 -36 -97q-35 -22 -66 -16t-51 22t-29 35h-1q-6 16 -8 25l-124 351zM1338 -159q31 -49 31 -57q0 -5 -3 -7q-9 -5 -14.5 0.5t-15.5 26t-16 30.5q-114 172 -423 661
+q3 -1 7 1t7 4l3 2q11 9 11 17z" />
+    <glyph glyph-name="_629" unicode="&#xf29e;" horiz-adv-x="2304" 
+d="M504 542h171l-1 265zM1530 641q0 87 -50.5 140t-146.5 53h-54v-388h52q91 0 145 57t54 138zM956 1018l1 -756q0 -14 -9.5 -24t-23.5 -10h-216q-14 0 -23.5 10t-9.5 24v62h-291l-55 -81q-10 -15 -28 -15h-267q-21 0 -30.5 18t3.5 35l556 757q9 14 27 14h332q14 0 24 -10
+t10 -24zM1783 641q0 -193 -125.5 -303t-324.5 -110h-270q-14 0 -24 10t-10 24v756q0 14 10 24t24 10h268q200 0 326 -109t126 -302zM1939 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5
+t-7.5 60t-20 91.5t-41 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2123 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-45 -108t-74 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5
+h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2304 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66 104.5t41 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96
+t9.5 -70.5z" />
+    <glyph glyph-name="uniF2A0" unicode="&#xf2a0;" horiz-adv-x="1408" 
+d="M617 -153q0 11 -13 58t-31 107t-20 69q-1 4 -5 26.5t-8.5 36t-13.5 21.5q-15 14 -51 14q-23 0 -70 -5.5t-71 -5.5q-34 0 -47 11q-6 5 -11 15.5t-7.5 20t-6.5 24t-5 18.5q-37 128 -37 255t37 255q1 4 5 18.5t6.5 24t7.5 20t11 15.5q13 11 47 11q24 0 71 -5.5t70 -5.5
+q36 0 51 14q9 8 13.5 21.5t8.5 36t5 26.5q2 9 20 69t31 107t13 58q0 22 -43.5 52.5t-75.5 42.5q-20 8 -45 8q-34 0 -98 -18q-57 -17 -96.5 -40.5t-71 -66t-46 -70t-45.5 -94.5q-6 -12 -9 -19q-49 -107 -68 -216t-19 -244t19 -244t68 -216q56 -122 83 -161q63 -91 179 -127
+l6 -2q64 -18 98 -18q25 0 45 8q32 12 75.5 42.5t43.5 52.5zM776 760q-26 0 -45 19t-19 45.5t19 45.5q37 37 37 90q0 52 -37 91q-19 19 -19 45t19 45t45 19t45 -19q75 -75 75 -181t-75 -181q-21 -19 -45 -19zM957 579q-27 0 -45 19q-19 19 -19 45t19 45q112 114 112 272
+t-112 272q-19 19 -19 45t19 45t45 19t45 -19q150 -150 150 -362t-150 -362q-18 -19 -45 -19zM1138 398q-27 0 -45 19q-19 19 -19 45t19 45q90 91 138.5 208t48.5 245t-48.5 245t-138.5 208q-19 19 -19 45t19 45t45 19t45 -19q109 -109 167 -249t58 -294t-58 -294t-167 -249
+q-18 -19 -45 -19z" />
+    <glyph glyph-name="uniF2A1" unicode="&#xf2a1;" horiz-adv-x="2176" 
+d="M192 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 352
+q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 864
+q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 1376q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 192q0 -80 -56 -136
+t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 1216q0 -80 -56 -136t-136 -56
+t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 192q0 -80 -56 -136t-136 -56t-136 56
+t-56 136t56 136t136 56t136 -56t56 -136zM1664 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136
+t56 136t136 56t136 -56t56 -136zM2176 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z" />
+    <glyph glyph-name="uniF2A2" unicode="&#xf2a2;" horiz-adv-x="1792" 
+d="M128 -192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM320 0q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM365 365l256 -256l-90 -90l-256 256zM704 384q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45z
+M1411 704q0 -59 -11.5 -108.5t-37.5 -93.5t-44 -67.5t-53 -64.5q-31 -35 -45.5 -54t-33.5 -50t-26.5 -64t-7.5 -74q0 -159 -112.5 -271.5t-271.5 -112.5q-26 0 -45 19t-19 45t19 45t45 19q106 0 181 75t75 181q0 57 11.5 105.5t37 91t43.5 66.5t52 63q40 46 59.5 72
+t37.5 74.5t18 103.5q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM896 576q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45
+t45 19t45 -19t19 -45zM1184 704q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 93 -65.5 158.5t-158.5 65.5q-92 0 -158 -65.5t-66 -158.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 146 103 249t249 103t249 -103t103 -249zM1578 993q10 -25 -1 -49t-36 -34q-9 -4 -23 -4
+q-19 0 -35.5 11t-23.5 30q-68 178 -224 295q-21 16 -25 42t12 47q17 21 43 25t47 -12q183 -137 266 -351zM1788 1074q9 -25 -1.5 -49t-35.5 -34q-11 -4 -23 -4q-44 0 -60 41q-92 238 -297 393q-22 16 -25.5 42t12.5 47q16 22 42 25.5t47 -12.5q235 -175 341 -449z" />
+    <glyph glyph-name="uniF2A3" unicode="&#xf2a3;" horiz-adv-x="2304" 
+d="M1032 576q-59 2 -84 55q-17 34 -48 53.5t-68 19.5q-53 0 -90.5 -37.5t-37.5 -90.5q0 -56 36 -89l10 -8q34 -31 82 -31q37 0 68 19.5t48 53.5q25 53 84 55zM1600 704q0 56 -36 89l-10 8q-34 31 -82 31q-37 0 -68 -19.5t-48 -53.5q-25 -53 -84 -55q59 -2 84 -55
+q17 -34 48 -53.5t68 -19.5q53 0 90.5 37.5t37.5 90.5zM1174 925q-17 -35 -55 -48t-73 4q-62 31 -134 31q-51 0 -99 -17q3 0 9.5 0.5t9.5 0.5q92 0 170.5 -50t118.5 -133q17 -36 3.5 -73.5t-49.5 -54.5q-18 -9 -39 -9q21 0 39 -9q36 -17 49.5 -54.5t-3.5 -73.5
+q-40 -83 -118.5 -133t-170.5 -50h-6q-16 2 -44 4l-290 27l-239 -120q-14 -7 -29 -7q-40 0 -57 35l-160 320q-11 23 -4 47.5t29 37.5l209 119l148 267q17 155 91.5 291.5t195.5 236.5q31 25 70.5 21.5t64.5 -34.5t21.5 -70t-34.5 -65q-70 -59 -117 -128q123 84 267 101
+q40 5 71.5 -19t35.5 -64q5 -40 -19 -71.5t-64 -35.5q-84 -10 -159 -55q46 10 99 10q115 0 218 -50q36 -18 49 -55.5t-5 -73.5zM2137 1085l160 -320q11 -23 4 -47.5t-29 -37.5l-209 -119l-148 -267q-17 -155 -91.5 -291.5t-195.5 -236.5q-26 -22 -61 -22q-45 0 -74 35
+q-25 31 -21.5 70t34.5 65q70 59 117 128q-123 -84 -267 -101q-4 -1 -12 -1q-36 0 -63.5 24t-31.5 60q-5 40 19 71.5t64 35.5q84 10 159 55q-46 -10 -99 -10q-115 0 -218 50q-36 18 -49 55.5t5 73.5q17 35 55 48t73 -4q62 -31 134 -31q51 0 99 17q-3 0 -9.5 -0.5t-9.5 -0.5
+q-92 0 -170.5 50t-118.5 133q-17 36 -3.5 73.5t49.5 54.5q18 9 39 9q-21 0 -39 9q-36 17 -49.5 54.5t3.5 73.5q40 83 118.5 133t170.5 50h6h1q14 -2 42 -4l291 -27l239 120q14 7 29 7q40 0 57 -35z" />
+    <glyph glyph-name="uniF2A4" unicode="&#xf2a4;" horiz-adv-x="1792" 
+d="M1056 704q0 -26 19 -45t45 -19t45 19t19 45q0 146 -103 249t-249 103t-249 -103t-103 -249q0 -26 19 -45t45 -19t45 19t19 45q0 93 66 158.5t158 65.5t158 -65.5t66 -158.5zM835 1280q-117 0 -223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5q0 -26 19 -45t45 -19t45 19
+t19 45q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -55 -18 -103.5t-37.5 -74.5t-59.5 -72q-34 -39 -52 -63t-43.5 -66.5t-37 -91t-11.5 -105.5q0 -106 -75 -181t-181 -75q-26 0 -45 -19t-19 -45t19 -45t45 -19q159 0 271.5 112.5t112.5 271.5q0 41 7.5 74
+t26.5 64t33.5 50t45.5 54q35 41 53 64.5t44 67.5t37.5 93.5t11.5 108.5q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5zM591 561l226 -226l-579 -579q-12 -12 -29 -12t-29 12l-168 168q-12 12 -12 29t12 29zM1612 1524l168 -168q12 -12 12 -29t-12 -30l-233 -233
+l-26 -25l-71 -71q-66 153 -195 258l91 91l207 207q13 12 30 12t29 -12z" />
+    <glyph glyph-name="uniF2A5" unicode="&#xf2a5;" 
+d="M866 1021q0 -27 -13 -94q-11 -50 -31.5 -150t-30.5 -150q-2 -11 -4.5 -12.5t-13.5 -2.5q-20 -2 -31 -2q-58 0 -84 49.5t-26 113.5q0 88 35 174t103 124q28 14 51 14q28 0 36.5 -16.5t8.5 -47.5zM1352 597q0 14 -39 75.5t-52 66.5q-21 8 -34 8q-91 0 -226 -77l-2 2
+q3 22 27.5 135t24.5 178q0 233 -242 233q-24 0 -68 -6q-94 -17 -168.5 -89.5t-111.5 -166.5t-37 -189q0 -146 80.5 -225t227.5 -79q25 0 25 -3t-1 -5q-4 -34 -26 -117q-14 -52 -51.5 -101t-82.5 -49q-42 0 -42 47q0 24 10.5 47.5t25 39.5t29.5 28.5t26 20t11 8.5q0 3 -7 10
+q-24 22 -58.5 36.5t-65.5 14.5q-35 0 -63.5 -34t-41 -75t-12.5 -75q0 -88 51.5 -142t138.5 -54q82 0 155 53t117.5 126t65.5 153q6 22 15.5 66.5t14.5 66.5q3 12 14 18q118 60 227 60q48 0 127 -18q1 -1 4 -1q5 0 9.5 4.5t4.5 8.5zM1536 1120v-960q0 -119 -84.5 -203.5
+t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="uniF2A6" unicode="&#xf2a6;" horiz-adv-x="1535" 
+d="M744 1231q0 24 -2 38.5t-8.5 30t-21 23t-37.5 7.5q-39 0 -78 -23q-105 -58 -159 -190.5t-54 -269.5q0 -44 8.5 -85.5t26.5 -80.5t52.5 -62.5t81.5 -23.5q4 0 18 -0.5t20 0t16 3t15 8.5t7 16q16 77 48 231.5t48 231.5q19 91 19 146zM1498 575q0 -7 -7.5 -13.5t-15.5 -6.5
+l-6 1q-22 3 -62 11t-72 12.5t-63 4.5q-167 0 -351 -93q-15 -8 -21 -27q-10 -36 -24.5 -105.5t-22.5 -100.5q-23 -91 -70 -179.5t-112.5 -164.5t-154.5 -123t-185 -47q-135 0 -214.5 83.5t-79.5 219.5q0 53 19.5 117t63 116.5t97.5 52.5q38 0 120 -33.5t83 -61.5
+q0 -1 -16.5 -12.5t-39.5 -31t-46 -44.5t-39 -61t-16 -74q0 -33 16.5 -53t48.5 -20q45 0 85 31.5t66.5 78t48 105.5t32.5 107t16 90v9q0 2 -3.5 3.5t-8.5 1.5h-10t-10 -0.5t-6 -0.5q-227 0 -352 122.5t-125 348.5q0 108 34.5 221t96 210t156 167.5t204.5 89.5q52 9 106 9
+q374 0 374 -360q0 -98 -38 -273t-43 -211l3 -3q101 57 182.5 88t167.5 31q22 0 53 -13q19 -7 80 -102.5t61 -116.5z" />
+    <glyph glyph-name="uniF2A7" unicode="&#xf2a7;" horiz-adv-x="1664" 
+d="M831 863q32 0 59 -18l222 -148q61 -40 110 -97l146 -170q40 -46 29 -106l-72 -413q-6 -32 -29.5 -53.5t-55.5 -25.5l-527 -56l-352 -32h-9q-39 0 -67.5 28t-28.5 68q0 37 27 64t65 32l260 32h-448q-41 0 -69.5 30t-26.5 71q2 39 32 65t69 26l442 1l-521 64q-41 5 -66 37
+t-19 73q6 35 34.5 57.5t65.5 22.5h10l481 -60l-351 94q-38 10 -62 41.5t-18 68.5q6 36 33 58.5t62 22.5q6 0 20 -2l448 -96l217 -37q1 0 3 -0.5t3 -0.5q23 0 30.5 23t-12.5 36l-186 125q-35 23 -42 63.5t18 73.5q27 38 76 38zM761 661l186 -125l-218 37l-5 2l-36 38
+l-238 262q-1 1 -2.5 3.5t-2.5 3.5q-24 31 -18.5 70t37.5 64q31 23 68 17.5t64 -33.5l142 -147q-2 -1 -5 -3.5t-4 -4.5q-32 -45 -23 -99t55 -85zM1648 1115l15 -266q4 -73 -11 -147l-48 -219q-12 -59 -67 -87l-106 -54q2 62 -39 109l-146 170q-53 61 -117 103l-222 148
+q-34 23 -76 23q-51 0 -88 -37l-235 312q-25 33 -18 73.5t41 63.5q33 22 71.5 14t62.5 -40l266 -352l-262 455q-21 35 -10.5 75t47.5 59q35 18 72.5 6t57.5 -46l241 -420l-136 337q-15 35 -4.5 74t44.5 56q37 19 76 6t56 -51l193 -415l101 -196q8 -15 23 -17.5t27 7.5t11 26
+l-12 224q-2 41 26 71t69 31q39 0 67 -28.5t30 -67.5z" />
+    <glyph glyph-name="uniF2A8" unicode="&#xf2a8;" horiz-adv-x="1792" 
+d="M335 180q-2 0 -6 2q-86 57 -168.5 145t-139.5 180q-21 30 -21 69q0 9 2 19t4 18t7 18t8.5 16t10.5 17t10 15t12 15.5t11 14.5q184 251 452 365q-110 198 -110 211q0 19 17 29q116 64 128 64q18 0 28 -16l124 -229q92 19 192 19q266 0 497.5 -137.5t378.5 -369.5
+q20 -31 20 -69t-20 -69q-91 -142 -218.5 -253.5t-278.5 -175.5q110 -198 110 -211q0 -20 -17 -29q-116 -64 -127 -64q-19 0 -29 16l-124 229l-64 119l-444 820l7 7q-58 -24 -99 -47q3 -5 127 -234t243 -449t119 -223q0 -7 -9 -9q-13 -3 -72 -3q-57 0 -60 7l-456 841
+q-39 -28 -82 -68q24 -43 214 -393.5t190 -354.5q0 -10 -11 -10q-14 0 -82.5 22t-72.5 28l-106 197l-224 413q-44 -53 -78 -106q2 -3 18 -25t23 -34l176 -327q0 -10 -10 -10zM1165 282l49 -91q273 111 450 385q-180 277 -459 389q67 -64 103 -148.5t36 -176.5
+q0 -106 -47 -200.5t-132 -157.5zM848 896q0 -20 14 -34t34 -14q86 0 147 -61t61 -147q0 -20 14 -34t34 -14t34 14t14 34q0 126 -89 215t-215 89q-20 0 -34 -14t-14 -34zM1214 961l-9 4l7 -7z" />
+    <glyph glyph-name="uniF2A9" unicode="&#xf2a9;" horiz-adv-x="1280" 
+d="M1050 430q0 -215 -147 -374q-148 -161 -378 -161q-232 0 -378 161q-147 159 -147 374q0 147 68 270.5t189 196.5t268 73q96 0 182 -31q-32 -62 -39 -126q-66 28 -143 28q-167 0 -280.5 -123t-113.5 -291q0 -170 112.5 -288.5t281.5 -118.5t281 118.5t112 288.5
+q0 89 -32 166q66 13 123 49q41 -98 41 -212zM846 619q0 -192 -79.5 -345t-238.5 -253l-14 -1q-29 0 -62 5q83 32 146.5 102.5t99.5 154.5t58.5 189t30 192.5t7.5 178.5q0 69 -3 103q55 -160 55 -326zM791 947v-2q-73 214 -206 440q88 -59 142.5 -186.5t63.5 -251.5z
+M1035 744q-83 0 -160 75q218 120 290 247q19 37 21 56q-42 -94 -139.5 -166.5t-204.5 -97.5q-35 54 -35 113q0 37 17 79t43 68q46 44 157 74q59 16 106 58.5t74 100.5q74 -105 74 -253q0 -109 -24 -170q-32 -77 -88.5 -130.5t-130.5 -53.5z" />
+    <glyph glyph-name="uniF2AA" unicode="&#xf2aa;" 
+d="M1050 495q0 78 -28 147q-41 -25 -85 -34q22 -50 22 -114q0 -117 -77 -198.5t-193 -81.5t-193.5 81.5t-77.5 198.5q0 115 78 199.5t193 84.5q53 0 98 -19q4 43 27 87q-60 21 -125 21q-154 0 -257.5 -108.5t-103.5 -263.5t103.5 -261t257.5 -106t257.5 106.5t103.5 260.5z
+M872 850q2 -24 2 -71q0 -63 -5 -123t-20.5 -132.5t-40.5 -130t-68.5 -106t-100.5 -70.5q21 -3 42 -3h10q219 139 219 411q0 116 -38 225zM872 850q-4 80 -44 171.5t-98 130.5q92 -156 142 -302zM1207 955q0 102 -51 174q-41 -86 -124 -109q-69 -19 -109 -53.5t-40 -99.5
+q0 -40 24 -77q74 17 140.5 67t95.5 115q-4 -52 -74.5 -111.5t-138.5 -97.5q52 -52 110 -52q51 0 90 37t60 90q17 42 17 117zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5
+t84.5 -203.5z" />
+    <glyph glyph-name="uniF2AB" unicode="&#xf2ab;" 
+d="M1279 388q0 22 -22 27q-67 15 -118 59t-80 108q-7 19 -7 25q0 15 19.5 26t43 17t43 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-12 0 -32 -8t-31 -8q-4 0 -12 2q5 95 5 114q0 79 -17 114q-36 78 -103 121.5t-152 43.5q-199 0 -275 -165q-17 -35 -17 -114q0 -19 5 -114
+q-4 -2 -14 -2q-12 0 -32 7.5t-30 7.5q-21 0 -38.5 -12t-17.5 -32q0 -21 19.5 -35.5t43 -20.5t43 -17t19.5 -26q0 -6 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -46 137 -68q2 -5 6 -26t11.5 -30.5t23.5 -9.5q12 0 37.5 4.5t39.5 4.5q35 0 67 -15t54 -32.5t57.5 -32.5
+t76.5 -15q43 0 79 15t57.5 32.5t53.5 32.5t67 15q14 0 39.5 -4t38.5 -4q16 0 23 10t11 30t6 25q137 22 137 68zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5
+t103 -385.5z" />
+    <glyph glyph-name="uniF2AC" unicode="&#xf2ac;" horiz-adv-x="1664" 
+d="M848 1408q134 1 240.5 -68.5t163.5 -192.5q27 -58 27 -179q0 -47 -9 -191q14 -7 28 -7q18 0 51 13.5t51 13.5q29 0 56 -18t27 -46q0 -32 -31.5 -54t-69 -31.5t-69 -29t-31.5 -47.5q0 -15 12 -43q37 -82 102.5 -150t144.5 -101q28 -12 80 -23q28 -6 28 -35
+q0 -70 -219 -103q-7 -11 -11 -39t-14 -46.5t-33 -18.5q-20 0 -62 6.5t-64 6.5q-37 0 -62 -5q-32 -5 -63 -22.5t-58 -38t-58 -40.5t-76 -33.5t-99 -13.5q-52 0 -96.5 13.5t-75 33.5t-57.5 40.5t-58 38t-62 22.5q-26 5 -63 5q-24 0 -65.5 -7.5t-58.5 -7.5q-25 0 -35 18.5
+t-14 47.5t-11 40q-219 33 -219 103q0 29 28 35q52 11 80 23q78 32 144.5 101t102.5 150q12 28 12 43q0 28 -31.5 47.5t-69.5 29.5t-69.5 31.5t-31.5 52.5q0 27 26 45.5t55 18.5q15 0 48 -13t53 -13q18 0 32 7q-9 142 -9 190q0 122 27 180q64 137 172 198t264 63z" />
+    <glyph glyph-name="uniF2AD" unicode="&#xf2ad;" 
+d="M1280 388q0 22 -22 27q-67 14 -118 58t-80 109q-7 14 -7 25q0 15 19.5 26t42.5 17t42.5 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-11 0 -31 -8t-32 -8q-4 0 -12 2q5 63 5 115q0 78 -17 114q-36 78 -102.5 121.5t-152.5 43.5q-198 0 -275 -165q-18 -38 -18 -115
+q0 -38 6 -114q-10 -2 -15 -2q-11 0 -31.5 8t-30.5 8q-20 0 -37.5 -12.5t-17.5 -32.5q0 -21 19.5 -35.5t42.5 -20.5t42.5 -17t19.5 -26q0 -11 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -47 138 -69q2 -5 6 -26t11 -30.5t23 -9.5q13 0 38.5 5t38.5 5q35 0 67.5 -15
+t54.5 -32.5t57.5 -32.5t76.5 -15q43 0 79 15t57.5 32.5t54 32.5t67.5 15q13 0 39 -4.5t39 -4.5q15 0 22.5 9.5t11.5 31t5 24.5q138 22 138 69zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960
+q119 0 203.5 -84.5t84.5 -203.5z" />
+    <glyph glyph-name="uniF2AE" unicode="&#xf2ae;" horiz-adv-x="2304" 
+d="M2304 1536q-69 -46 -125 -92t-89 -81t-59.5 -71.5t-37.5 -57.5t-22 -44.5t-14 -29.5q-10 -18 -35.5 -136.5t-48.5 -164.5q-15 -29 -50 -60.5t-67.5 -50.5t-72.5 -41t-48 -28q-47 -31 -151 -231q-341 14 -630 -158q-92 -53 -303 -179q47 16 86 31t55 22l15 7
+q71 27 163 64.5t133.5 53.5t108 34.5t142.5 31.5q186 31 465 -7q1 0 10 -3q11 -6 14 -17t-3 -22l-194 -345q-15 -29 -47 -22q-128 24 -354 24q-146 0 -402 -44.5t-392 -46.5q-82 -1 -149 13t-107 37t-61 40t-33 34l-1 1v2q0 6 6 6q138 0 371 55q192 366 374.5 524t383.5 158
+q5 0 14.5 -0.5t38 -5t55 -12t61.5 -24.5t63 -39.5t54 -59t40 -82.5l102 177q2 4 21 42.5t44.5 86.5t61 109.5t84 133.5t100.5 137q66 82 128 141.5t121.5 96.5t92.5 53.5t88 39.5z" />
+    <glyph glyph-name="uniF2B0" unicode="&#xf2b0;" 
+d="M1322 640q0 -45 -5 -76l-236 14l224 -78q-19 -73 -58 -141l-214 103l177 -158q-44 -61 -107 -108l-157 178l103 -215q-61 -37 -140 -59l-79 228l14 -240q-38 -6 -76 -6t-76 6l14 238l-78 -226q-74 19 -140 59l103 215l-157 -178q-59 43 -108 108l178 158l-214 -104
+q-39 69 -58 141l224 79l-237 -14q-5 42 -5 76q0 35 5 77l238 -14l-225 79q19 73 58 140l214 -104l-177 159q46 61 107 108l158 -178l-103 215q67 39 140 58l77 -224l-13 236q36 6 75 6q38 0 76 -6l-14 -237l78 225q74 -19 140 -59l-103 -214l158 178q61 -47 107 -108
+l-177 -159l213 104q37 -62 58 -141l-224 -78l237 14q5 -31 5 -77zM1352 640q0 160 -78.5 295.5t-213 214t-292.5 78.5q-119 0 -227 -46.5t-186.5 -125t-124.5 -187.5t-46 -229q0 -119 46 -228t124.5 -187.5t186.5 -125t227 -46.5q158 0 292.5 78.5t213 214t78.5 294.5z
+M1425 1023v-766l-657 -383l-657 383v766l657 383zM768 -183l708 412v823l-708 411l-708 -411v-823zM1536 1088v-896l-768 -448l-768 448v896l768 448z" />
+    <glyph glyph-name="uniF2B1" unicode="&#xf2b1;" horiz-adv-x="1664" 
+d="M339 1318h691l-26 -72h-665q-110 0 -188.5 -79t-78.5 -189v-771q0 -95 60.5 -169.5t153.5 -93.5q23 -5 98 -5v-72h-45q-140 0 -239.5 100t-99.5 240v771q0 140 99.5 240t239.5 100zM1190 1536h247l-482 -1294q-23 -61 -40.5 -103.5t-45 -98t-54 -93.5t-64.5 -78.5
+t-79.5 -65t-95.5 -41t-116 -18.5v195q163 26 220 182q20 52 20 105q0 54 -20 106l-285 733h228l187 -585zM1664 978v-1111h-795q37 55 45 73h678v1038q0 85 -49.5 155t-129.5 99l25 67q101 -34 163.5 -123.5t62.5 -197.5z" />
+    <glyph glyph-name="uniF2B2" unicode="&#xf2b2;" horiz-adv-x="1792" 
+d="M852 1227q0 -29 -17 -52.5t-45 -23.5t-45 23.5t-17 52.5t17 52.5t45 23.5t45 -23.5t17 -52.5zM688 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50 -21.5t-20 -51.5v-114q0 -30 20.5 -52t49.5 -22q30 0 50.5 22t20.5 52zM860 -149v114q0 30 -20 51.5t-50 21.5t-50.5 -21.5
+t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22q29 0 49.5 22t20.5 52zM1034 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1208 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114
+q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1476 535q-84 -160 -232 -259.5t-323 -99.5q-123 0 -229.5 51.5t-178.5 137t-113 197.5t-41 232q0 88 21 174q-104 -175 -104 -390q0 -162 65 -312t185 -251q30 57 91 57q56 0 86 -50q32 50 87 50q56 0 86 -50q32 50 87 50t87 -50
+q30 50 86 50q28 0 52.5 -15.5t37.5 -40.5q112 94 177 231.5t73 287.5zM1326 564q0 75 -72 75q-17 0 -47 -6q-95 -19 -149 -19q-226 0 -226 243q0 86 30 204q-83 -127 -83 -275q0 -150 89 -260.5t235 -110.5q111 0 210 70q13 48 13 79zM884 1223q0 50 -32 89.5t-81 39.5
+t-81 -39.5t-32 -89.5q0 -51 31.5 -90.5t81.5 -39.5t81.5 39.5t31.5 90.5zM1513 884q0 96 -37.5 179t-113 137t-173.5 54q-77 0 -149 -35t-127 -94q-48 -159 -48 -268q0 -104 45.5 -157t147.5 -53q53 0 142 19q36 6 53 6q51 0 77.5 -28t26.5 -80q0 -26 -4 -46
+q75 68 117.5 165.5t42.5 200.5zM1792 667q0 -111 -33.5 -249.5t-93.5 -204.5q-58 -64 -195 -142.5t-228 -104.5l-4 -1v-114q0 -43 -29.5 -75t-72.5 -32q-56 0 -86 50q-32 -50 -87 -50t-87 50q-30 -50 -86 -50q-55 0 -87 50q-30 -50 -86 -50q-47 0 -75 33.5t-28 81.5
+q-90 -68 -198 -68q-118 0 -211 80q54 1 106 20q-113 31 -182 127q32 -7 71 -7q89 0 164 46q-192 192 -240 306q-24 56 -24 160q0 57 9 125.5t31.5 146.5t55 141t86.5 105t120 42q59 0 81 -52q19 29 42 54q2 3 12 13t13 16q10 15 23 38t25 42t28 39q87 111 211.5 177
+t260.5 66q35 0 62 -4q59 64 146 64q83 0 140 -57q5 -5 5 -12q0 -5 -6 -13.5t-12.5 -16t-16 -17l-10.5 -10.5q17 -6 36 -18t19 -24q0 -6 -16 -25q157 -138 197 -378q25 30 60 30q45 0 100 -49q90 -80 90 -279z" />
+    <glyph glyph-name="uniF2B3" unicode="&#xf2b3;" 
+d="M917 631q0 33 -6 64h-362v-132h217q-12 -76 -74.5 -120.5t-142.5 -44.5q-99 0 -169 71.5t-70 170.5t70 170.5t169 71.5q93 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585h109v110
+h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
+    <glyph glyph-name="uniF2B4" unicode="&#xf2b4;" 
+d="M1536 1024v-839q0 -48 -49 -62q-174 -52 -338 -52q-73 0 -215.5 29.5t-227.5 29.5q-164 0 -370 -48v-338h-160v1368q-63 25 -101 81t-38 124q0 91 64 155t155 64t155 -64t64 -155q0 -68 -38 -124t-101 -81v-68q190 44 343 44q99 0 198 -15q14 -2 111.5 -22.5t149.5 -20.5
+q77 0 165 18q11 2 80 21t89 19q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="uniF2B5" unicode="&#xf2b5;" horiz-adv-x="2304" 
+d="M192 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32zM1665 442q-10 13 -38.5 50t-41.5 54t-38 49t-42.5 53t-40.5 47t-45 49l-125 -140q-83 -94 -208.5 -92t-205.5 98q-57 69 -56.5 158t58.5 157l177 206q-22 11 -51 16.5t-47.5 6t-56.5 -0.5t-49 -1q-92 0 -158 -66
+l-158 -158h-155v-544q5 0 21 0.5t22 0t19.5 -2t20.5 -4.5t17.5 -8.5t18.5 -13.5l297 -292q115 -111 227 -111q78 0 125 47q57 -20 112.5 8t72.5 85q74 -6 127 44q20 18 36 45.5t14 50.5q10 -10 43 -10q43 0 77 21t49.5 53t12 71.5t-30.5 73.5zM1824 384h96v512h-93l-157 180
+q-66 76 -169 76h-167q-89 0 -146 -67l-209 -243q-28 -33 -28 -75t27 -75q43 -51 110 -52t111 49l193 218q25 23 53.5 21.5t47 -27t8.5 -56.5q16 -19 56 -63t60 -68q29 -36 82.5 -105.5t64.5 -84.5q52 -66 60 -140zM2112 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32z
+M2304 960v-640q0 -26 -19 -45t-45 -19h-434q-27 -65 -82 -106.5t-125 -51.5q-33 -48 -80.5 -81.5t-102.5 -45.5q-42 -53 -104.5 -81.5t-128.5 -24.5q-60 -34 -126 -39.5t-127.5 14t-117 53.5t-103.5 81l-287 282h-358q-26 0 -45 19t-19 45v672q0 26 19 45t45 19h421
+q14 14 47 48t47.5 48t44 40t50.5 37.5t51 25.5t62 19.5t68 5.5h117q99 0 181 -56q82 56 181 56h167q35 0 67 -6t56.5 -14.5t51.5 -26.5t44.5 -31t43 -39.5t39 -42t41 -48t41.5 -48.5h355q26 0 45 -19t19 -45z" />
+    <glyph glyph-name="uniF2B6" unicode="&#xf2b6;" horiz-adv-x="1792" 
+d="M1792 882v-978q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v978q0 15 11 24q8 7 39 34.5t41.5 36t45.5 37.5t70 55.5t96 73t143.5 107t192.5 140.5q5 4 52.5 40t71.5 52.5t64 35t69 18.5t69 -18.5t65 -35.5t71 -52t52 -40q110 -80 192.5 -140.5t143.5 -107
+t96 -73t70 -55.5t45.5 -37.5t41.5 -36t39 -34.5q11 -9 11 -24zM1228 297q263 191 345 252q11 8 12.5 20.5t-6.5 23.5l-38 52q-8 11 -21 12.5t-24 -6.5q-231 -169 -343 -250q-5 -3 -52 -39t-71.5 -52.5t-64.5 -35t-69 -18.5t-69 18.5t-64.5 35t-71.5 52.5t-52 39
+q-186 134 -343 250q-11 8 -24 6.5t-21 -12.5l-38 -52q-8 -11 -6.5 -23.5t12.5 -20.5q82 -61 345 -252q10 -8 50 -38t65 -47t64 -39.5t77.5 -33.5t75.5 -11t75.5 11t79 34.5t64.5 39.5t65 47.5t48 36.5z" />
+    <glyph glyph-name="uniF2B7" unicode="&#xf2b7;" horiz-adv-x="1792" 
+d="M1474 623l39 -51q8 -11 6.5 -23.5t-11.5 -20.5q-43 -34 -126.5 -98.5t-146.5 -113t-67 -51.5q-39 -32 -60 -48t-60.5 -41t-76.5 -36.5t-74 -11.5h-1h-1q-37 0 -74 11.5t-76 36.5t-61 41.5t-60 47.5q-5 4 -65 50.5t-143.5 111t-122.5 94.5q-11 8 -12.5 20.5t6.5 23.5
+l37 52q8 11 21.5 13t24.5 -7q94 -73 306 -236q5 -4 43.5 -35t60.5 -46.5t56.5 -32.5t58.5 -17h1h1q24 0 58.5 17t56.5 32.5t60.5 46.5t43.5 35q258 198 313 242q11 8 24 6.5t21 -12.5zM1664 -96v928q-90 83 -159 139q-91 74 -389 304q-3 2 -43 35t-61 48t-56 32.5t-59 17.5
+h-1h-1q-24 0 -59 -17.5t-56 -32.5t-61 -48t-43 -35q-215 -166 -315.5 -245.5t-129.5 -104t-82 -74.5q-14 -12 -21 -19v-928q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 832v-928q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v928q0 56 41 94
+q123 114 350 290.5t233 181.5q36 30 59 47.5t61.5 42t76 36.5t74.5 12h1h1q37 0 74.5 -12t76 -36.5t61.5 -42t59 -47.5q43 -36 156 -122t226 -177t201 -173q41 -38 41 -94z" />
+    <glyph glyph-name="uniF2B8" unicode="&#xf2b8;" 
+d="M330 1l202 -214l-34 236l-216 213zM556 -225l274 218l-11 245l-300 -215zM245 413l227 -213l-48 327l-245 204zM495 189l317 214l-14 324l-352 -200zM843 178l95 -80l-2 239l-103 79q0 -1 1 -8.5t0 -12t-5 -7.5l-78 -52l85 -70q7 -6 7 -88zM138 930l256 -200l-68 465
+l-279 173zM1173 267l15 234l-230 -164l2 -240zM417 722l373 194l-19 441l-423 -163zM1270 357l20 233l-226 142l-2 -105l144 -95q6 -4 4 -9l-7 -119zM1461 496l30 222l-179 -128l-20 -228zM1273 329l-71 49l-8 -117q0 -5 -4 -8l-234 -187q-7 -5 -14 0l-98 83l7 -161
+q0 -5 -4 -8l-293 -234q-4 -2 -6 -2q-8 2 -8 3l-228 242q-4 4 -59 277q-2 7 5 11l61 37q-94 86 -95 92l-72 351q-2 7 6 12l94 45q-133 100 -135 108l-96 466q-2 10 7 13l433 135q5 0 8 -1l317 -153q6 -4 6 -9l20 -463q0 -7 -6 -10l-118 -61l126 -85q5 -2 5 -8l5 -123l121 74
+q5 4 11 0l84 -56l3 110q0 6 5 9l206 126q6 3 11 0l245 -135q4 -4 5 -7t-6.5 -60t-17.5 -124.5t-10 -70.5q0 -5 -4 -7l-191 -153q-6 -5 -13 0z" />
+    <glyph glyph-name="uniF2B9" unicode="&#xf2b9;" horiz-adv-x="1664" 
+d="M1201 298q0 57 -5.5 107t-21 100.5t-39.5 86t-64 58t-91 22.5q-6 -4 -33.5 -20.5t-42.5 -24.5t-40.5 -20t-49 -17t-46.5 -5t-46.5 5t-49 17t-40.5 20t-42.5 24.5t-33.5 20.5q-51 0 -91 -22.5t-64 -58t-39.5 -86t-21 -100.5t-5.5 -107q0 -73 42 -121.5t103 -48.5h576
+q61 0 103 48.5t42 121.5zM1028 892q0 108 -76.5 184t-183.5 76t-183.5 -76t-76.5 -184q0 -107 76.5 -183t183.5 -76t183.5 76t76.5 183zM1664 352v-192q0 -14 -9 -23t-23 -9h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216
+q66 0 113 -47t47 -113v-224h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23z" />
+    <glyph glyph-name="uniF2BA" unicode="&#xf2ba;" horiz-adv-x="1664" 
+d="M1028 892q0 -107 -76.5 -183t-183.5 -76t-183.5 76t-76.5 183q0 108 76.5 184t183.5 76t183.5 -76t76.5 -184zM980 672q46 0 82.5 -17t60 -47.5t39.5 -67t24 -81t11.5 -82.5t3.5 -79q0 -67 -39.5 -118.5t-105.5 -51.5h-576q-66 0 -105.5 51.5t-39.5 118.5q0 48 4.5 93.5
+t18.5 98.5t36.5 91.5t63 64.5t93.5 26h5q7 -4 32 -19.5t35.5 -21t33 -17t37 -16t35 -9t39.5 -4.5t39.5 4.5t35 9t37 16t33 17t35.5 21t32 19.5zM1664 928q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96
+q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216q66 0 113 -47t47 -113v-224h96q13 0 22.5 -9.5t9.5 -22.5v-192zM1408 -96v1472q0 13 -9.5 22.5t-22.5 9.5h-1216
+q-13 0 -22.5 -9.5t-9.5 -22.5v-1472q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5z" />
+    <glyph glyph-name="uniF2BB" unicode="&#xf2bb;" horiz-adv-x="2048" 
+d="M1024 405q0 64 -9 117.5t-29.5 103t-60.5 78t-97 28.5q-6 -4 -30 -18t-37.5 -21.5t-35.5 -17.5t-43 -14.5t-42 -4.5t-42 4.5t-43 14.5t-35.5 17.5t-37.5 21.5t-30 18q-57 0 -97 -28.5t-60.5 -78t-29.5 -103t-9 -117.5t37 -106.5t91 -42.5h512q54 0 91 42.5t37 106.5z
+M867 925q0 94 -66.5 160.5t-160.5 66.5t-160.5 -66.5t-66.5 -160.5t66.5 -160.5t160.5 -66.5t160.5 66.5t66.5 160.5zM1792 416v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1792 676v56q0 15 -10.5 25.5t-25.5 10.5h-568
+q-15 0 -25.5 -10.5t-10.5 -25.5v-56q0 -15 10.5 -25.5t25.5 -10.5h568q15 0 25.5 10.5t10.5 25.5zM1792 928v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-352v96q0 14 -9 23t-23 9
+h-64q-14 0 -23 -9t-9 -23v-96h-768v96q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-96h-352q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2BC" unicode="&#xf2bc;" horiz-adv-x="2048" 
+d="M1024 405q0 -64 -37 -106.5t-91 -42.5h-512q-54 0 -91 42.5t-37 106.5t9 117.5t29.5 103t60.5 78t97 28.5q6 -4 30 -18t37.5 -21.5t35.5 -17.5t43 -14.5t42 -4.5t42 4.5t43 14.5t35.5 17.5t37.5 21.5t30 18q57 0 97 -28.5t60.5 -78t29.5 -103t9 -117.5zM867 925
+q0 -94 -66.5 -160.5t-160.5 -66.5t-160.5 66.5t-66.5 160.5t66.5 160.5t160.5 66.5t160.5 -66.5t66.5 -160.5zM1792 480v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1792 732v-56q0 -15 -10.5 -25.5t-25.5 -10.5h-568
+q-15 0 -25.5 10.5t-10.5 25.5v56q0 15 10.5 25.5t25.5 10.5h568q15 0 25.5 -10.5t10.5 -25.5zM1792 992v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1920 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1728q-13 0 -22.5 -9.5
+t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h352v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h768v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h352q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113
+t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2BD" unicode="&#xf2bd;" horiz-adv-x="1792" 
+d="M1523 197q-22 155 -87.5 257.5t-184.5 118.5q-67 -74 -159.5 -115.5t-195.5 -41.5t-195.5 41.5t-159.5 115.5q-119 -16 -184.5 -118.5t-87.5 -257.5q106 -150 271 -237.5t356 -87.5t356 87.5t271 237.5zM1280 896q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5
+t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1792 640q0 -182 -71 -347.5t-190.5 -286t-285.5 -191.5t-349 -71q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2BE" unicode="&#xf2be;" horiz-adv-x="1792" 
+d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348q0 -181 -70.5 -347t-190.5 -286t-286 -191.5t-349 -71.5t-349 71t-285.5 191.5t-190.5 286t-71 347.5t71 348t191 286t286 191t348 71zM1515 185q149 205 149 455q0 156 -61 298t-164 245t-245 164t-298 61t-298 -61
+t-245 -164t-164 -245t-61 -298q0 -250 149 -455q66 327 306 327q131 -128 313 -128t313 128q240 0 306 -327zM1280 832q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5z" />
+    <glyph glyph-name="uniF2C0" unicode="&#xf2c0;" 
+d="M1201 752q47 -14 89.5 -38t89 -73t79.5 -115.5t55 -172t22 -236.5q0 -154 -100 -263.5t-241 -109.5h-854q-141 0 -241 109.5t-100 263.5q0 131 22 236.5t55 172t79.5 115.5t89 73t89.5 38q-79 125 -79 272q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5
+t198.5 -40.5t163.5 -109.5t109.5 -163.5t40.5 -198.5q0 -147 -79 -272zM768 1408q-159 0 -271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5zM1195 -128q88 0 150.5 71.5t62.5 173.5q0 239 -78.5 377t-225.5 145
+q-145 -127 -336 -127t-336 127q-147 -7 -225.5 -145t-78.5 -377q0 -102 62.5 -173.5t150.5 -71.5h854z" />
+    <glyph glyph-name="uniF2C1" unicode="&#xf2c1;" horiz-adv-x="1280" 
+d="M1024 278q0 -64 -37 -107t-91 -43h-512q-54 0 -91 43t-37 107t9 118t29.5 104t61 78.5t96.5 28.5q80 -75 188 -75t188 75q56 0 96.5 -28.5t61 -78.5t29.5 -104t9 -118zM870 797q0 -94 -67.5 -160.5t-162.5 -66.5t-162.5 66.5t-67.5 160.5t67.5 160.5t162.5 66.5
+t162.5 -66.5t67.5 -160.5zM1152 -96v1376h-1024v-1376q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1280 1376v-1472q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h352v-96q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v96h352
+q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C2" unicode="&#xf2c2;" horiz-adv-x="2048" 
+d="M896 324q0 54 -7.5 100.5t-24.5 90t-51 68.5t-81 25q-64 -64 -156 -64t-156 64q-47 0 -81 -25t-51 -68.5t-24.5 -90t-7.5 -100.5q0 -55 31.5 -93.5t75.5 -38.5h426q44 0 75.5 38.5t31.5 93.5zM768 768q0 80 -56 136t-136 56t-136 -56t-56 -136t56 -136t136 -56t136 56
+t56 136zM1792 288v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1408 544v64q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1792 544v64q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23
+v-64q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1792 800v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM128 1152h1792v96q0 14 -9 23t-23 9h-1728q-14 0 -23 -9t-9 -23v-96zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728
+q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C3" unicode="&#xf2c3;" horiz-adv-x="2048" 
+d="M896 324q0 -55 -31.5 -93.5t-75.5 -38.5h-426q-44 0 -75.5 38.5t-31.5 93.5q0 54 7.5 100.5t24.5 90t51 68.5t81 25q64 -64 156 -64t156 64q47 0 81 -25t51 -68.5t24.5 -90t7.5 -100.5zM768 768q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z
+M1792 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1408 608v-64q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h320q14 0 23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v64
+q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 864v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1920 32v1120h-1792v-1120q0 -13 9.5 -22.5t22.5 -9.5h1728q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47
+h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2C4" unicode="&#xf2c4;" horiz-adv-x="1792" 
+d="M1255 749q0 318 -105 474.5t-330 156.5q-222 0 -326 -157t-104 -474q0 -316 104 -471.5t326 -155.5q74 0 131 17q-22 43 -39 73t-44 65t-53.5 56.5t-63 36t-77.5 14.5q-46 0 -79 -16l-49 97q105 91 276 91q132 0 215.5 -54t150.5 -155q67 149 67 402zM1645 117h117
+q3 -27 -2 -67t-26.5 -95t-58 -100.5t-107 -78t-162.5 -32.5q-71 0 -130.5 19t-105.5 56t-79 78t-66 96q-97 -27 -205 -27q-150 0 -292.5 58t-253 158.5t-178 249t-67.5 317.5q0 170 67.5 319.5t178.5 250.5t253.5 159t291.5 58q121 0 238.5 -36t217 -106t176 -164.5
+t119.5 -219t43 -261.5q0 -190 -80.5 -347.5t-218.5 -264.5q47 -70 93.5 -106.5t104.5 -36.5q61 0 94 37.5t38 85.5z" />
+    <glyph glyph-name="uniF2C5" unicode="&#xf2c5;" horiz-adv-x="2304" 
+d="M453 -101q0 -21 -16 -37.5t-37 -16.5q-1 0 -13 3q-63 15 -162 140q-225 284 -225 676q0 341 213 614q39 51 95 103.5t94 52.5q19 0 35 -13.5t16 -32.5q0 -27 -63 -90q-98 -102 -147 -184q-119 -199 -119 -449q0 -281 123 -491q50 -85 136 -173q2 -3 14.5 -16t19.5 -21
+t17 -20.5t14.5 -23.5t4.5 -21zM1796 33q0 -29 -17.5 -48.5t-46.5 -19.5h-1081q-26 0 -45 19t-19 45q0 29 17.5 48.5t46.5 19.5h1081q26 0 45 -19t19 -45zM1581 644q0 -134 -67 -233q-25 -38 -69.5 -78.5t-83.5 -60.5q-16 -10 -27 -10q-7 0 -15 6t-8 12q0 9 19 30t42 46
+t42 67.5t19 88.5q0 76 -35 130q-29 42 -46 42q-3 0 -3 -5q0 -12 7.5 -35.5t7.5 -36.5q0 -22 -21.5 -35t-44.5 -13q-66 0 -66 76q0 15 1.5 44t1.5 44q0 25 -10 46q-13 25 -42 53.5t-51 28.5q-5 0 -7 -0.5t-3.5 -2.5t-1.5 -6q0 -2 16 -26t16 -54q0 -37 -19 -68t-46 -54
+t-53.5 -46t-45.5 -54t-19 -68q0 -98 42 -160q29 -43 79 -63q16 -5 17 -10q1 -2 1 -5q0 -16 -18 -16q-6 0 -33 11q-119 43 -195 139.5t-76 218.5q0 55 24.5 115.5t60 115t70.5 108.5t59.5 113.5t24.5 111.5q0 53 -25 94q-29 48 -56 64q-19 9 -19 21q0 20 41 20q50 0 110 -29
+q41 -19 71 -44.5t49.5 -51t33.5 -62.5t22 -69t16 -80q0 -1 3 -17.5t4.5 -25t5.5 -25t9 -27t11 -21.5t14.5 -16.5t18.5 -5.5q23 0 37 14t14 37q0 25 -20 67t-20 52t10 10q27 0 93 -70q72 -76 102.5 -156t30.5 -186zM2304 615q0 -274 -138 -503q-19 -32 -48 -72t-68 -86.5
+t-81 -77t-74 -30.5q-16 0 -31 15.5t-15 31.5q0 15 29 50.5t68.5 77t48.5 52.5q183 230 183 531q0 131 -20.5 235t-72.5 211q-58 119 -163 228q-2 3 -13 13.5t-16.5 16.5t-15 17.5t-15 20t-9.5 18.5t-4 19q0 19 16 35.5t35 16.5q70 0 196 -169q98 -131 146 -273t60 -314
+q2 -42 2 -64z" />
+    <glyph glyph-name="uniF2C6" unicode="&#xf2c6;" horiz-adv-x="1792" 
+d="M1189 229l147 693q9 44 -10.5 63t-51.5 7l-864 -333q-29 -11 -39.5 -25t-2.5 -26.5t32 -19.5l221 -69l513 323q21 14 32 6q7 -5 -4 -15l-415 -375v0v0l-16 -228q23 0 45 22l108 104l224 -165q64 -36 81 38zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71
+t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2C7" unicode="&#xf2c7;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v907h128v-907q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2C8" unicode="&#xf2c8;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v651h128v-651q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2C9" unicode="&#xf2c9;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v395h128v-395q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2CA" unicode="&#xf2ca;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v139h128v-139q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5
+t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192
+v128h192z" />
+    <glyph glyph-name="uniF2CB" unicode="&#xf2cb;" horiz-adv-x="1024" 
+d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 79 56 135.5t136 56.5t136 -56.5t56 -135.5zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5t93.5 226.5z
+M896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192v128h192z" />
+    <glyph glyph-name="uniF2CC" unicode="&#xf2cc;" horiz-adv-x="1920" 
+d="M1433 1287q10 -10 10 -23t-10 -23l-626 -626q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l44 44q-72 91 -81.5 207t46.5 215q-74 71 -176 71q-106 0 -181 -75t-75 -181v-1280h-256v1280q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5q106 0 201 -41
+t166 -115q94 39 197 24.5t185 -79.5l44 44q10 10 23 10t23 -10zM1344 1024q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1600 896q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1856 1024q26 0 45 -19t19 -45t-19 -45t-45 -19
+t-45 19t-19 45t19 45t45 19zM1216 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1408 832q0 26 19 45t45 19t45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45zM1728 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 768
+q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 640q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1600 768q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 512q-26 0 -45 19t-19 45t19 45t45 19t45 -19
+t19 -45t-19 -45t-45 -19zM1472 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 384
+q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 256q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19z" />
+    <glyph glyph-name="uniF2CD" unicode="&#xf2cd;" horiz-adv-x="1792" 
+d="M1664 448v-192q0 -169 -128 -286v-194q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v118q-63 -22 -128 -22h-768q-65 0 -128 22v-110q0 -17 -9.5 -28.5t-22.5 -11.5h-64q-13 0 -22.5 11.5t-9.5 28.5v186q-128 117 -128 286v192h1536zM704 864q0 -14 -9 -23t-23 -9t-23 9
+t-9 23t9 23t23 9t23 -9t9 -23zM768 928q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM704 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1056q0 -14 -9 -23t-23 -9t-23 9
+t-9 23t9 23t23 9t23 -9t9 -23zM704 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v640q0 106 75 181t181 75q108 0 184 -78q46 19 98 12t93 -39l22 22q11 11 22 0l42 -42
+q11 -11 0 -22l-314 -314q-11 -11 -22 0l-42 42q-11 11 0 22l22 22q-36 46 -40.5 104t23.5 108q-37 35 -88 35q-53 0 -90.5 -37.5t-37.5 -90.5v-640h1504q14 0 23 -9t9 -23zM896 1056q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1120q0 -14 -9 -23t-23 -9
+t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM896 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1248q0 -14 -9 -23
+t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1024 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1088 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23z" />
+    <glyph glyph-name="uniF2CE" unicode="&#xf2ce;" 
+d="M994 344q0 -86 -17 -197q-31 -215 -55 -313q-22 -90 -152 -90t-152 90q-24 98 -55 313q-17 110 -17 197q0 168 224 168t224 -168zM1536 768q0 -240 -134 -434t-350 -280q-8 -3 -15 3t-6 15q7 48 10 66q4 32 6 47q1 9 9 12q159 81 255.5 234t96.5 337q0 180 -91 330.5
+t-247 234.5t-337 74q-124 -7 -237 -61t-193.5 -140.5t-128 -202t-46.5 -240.5q1 -184 99 -336.5t257 -231.5q7 -3 9 -12q3 -21 6 -45q1 -9 5 -32.5t6 -35.5q1 -9 -6.5 -15t-15.5 -2q-148 58 -261 169.5t-173.5 264t-52.5 319.5q7 143 66 273.5t154.5 227t225 157.5t272.5 70
+q164 10 315.5 -46.5t261 -160.5t175 -250.5t65.5 -308.5zM994 800q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5zM1282 768q0 -122 -53.5 -228.5t-146.5 -177.5q-8 -6 -16 -2t-10 14q-6 52 -29 92q-7 10 3 20
+q58 54 91 127t33 155q0 111 -58.5 204t-157.5 141.5t-212 36.5q-133 -15 -229 -113t-109 -231q-10 -92 23.5 -176t98.5 -144q10 -10 3 -20q-24 -41 -29 -93q-2 -9 -10 -13t-16 2q-95 74 -148.5 183t-51.5 234q3 131 69 244t177 181.5t241 74.5q144 7 268 -60t196.5 -187.5
+t72.5 -263.5z" />
+    <glyph glyph-name="uniF2D0" unicode="&#xf2d0;" horiz-adv-x="1792" 
+d="M256 128h1280v768h-1280v-768zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D1" unicode="&#xf2d1;" horiz-adv-x="1792" 
+d="M1792 224v-192q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D2" unicode="&#xf2d2;" horiz-adv-x="2048" 
+d="M256 0h768v512h-768v-512zM1280 512h512v768h-768v-256h96q66 0 113 -47t47 -113v-352zM2048 1376v-960q0 -66 -47 -113t-113 -47h-608v-352q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h608v352q0 66 47 113t113 47h960q66 0 113 -47
+t47 -113z" />
+    <glyph glyph-name="uniF2D3" unicode="&#xf2d3;" horiz-adv-x="1792" 
+d="M1175 215l146 146q10 10 10 23t-10 23l-233 233l233 233q10 10 10 23t-10 23l-146 146q-10 10 -23 10t-23 -10l-233 -233l-233 233q-10 10 -23 10t-23 -10l-146 -146q-10 -10 -10 -23t10 -23l233 -233l-233 -233q-10 -10 -10 -23t10 -23l146 -146q10 -10 23 -10t23 10
+l233 233l233 -233q10 -10 23 -10t23 10zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D4" unicode="&#xf2d4;" horiz-adv-x="1792" 
+d="M1257 425l-146 -146q-10 -10 -23 -10t-23 10l-169 169l-169 -169q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l169 169l-169 169q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l169 -169l169 169q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23
+l-169 -169l169 -169q10 -10 10 -23t-10 -23zM256 128h1280v1024h-1280v-1024zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D5" unicode="&#xf2d5;" horiz-adv-x="1792" 
+d="M1070 358l306 564h-654l-306 -564h654zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2D6" unicode="&#xf2d6;" horiz-adv-x="1794" 
+d="M1291 1060q-15 17 -35 8.5t-26 -28.5t5 -38q14 -17 40 -14.5t34 20.5t-18 52zM895 814q-8 -8 -19.5 -8t-18.5 8q-8 8 -8 19t8 18q7 8 18.5 8t19.5 -8q7 -7 7 -18t-7 -19zM1060 740l-35 -35q-12 -13 -29.5 -13t-30.5 13l-38 38q-12 13 -12 30t12 30l35 35q12 12 29.5 12
+t30.5 -12l38 -39q12 -12 12 -29.5t-12 -29.5zM951 870q-7 -8 -18.5 -8t-19.5 8q-7 8 -7 19t7 19q8 8 19 8t19 -8t8 -19t-8 -19zM1354 968q-34 -64 -107.5 -85.5t-127.5 16.5q-38 28 -61 66.5t-21 87.5t39 92t75.5 53t70.5 -5t70 -51q2 -2 13 -12.5t14.5 -13.5t13 -13.5
+t12.5 -15.5t10 -15.5t8.5 -18t4 -18.5t1 -21t-5 -22t-9.5 -24zM1555 486q3 20 -8.5 34.5t-27.5 21.5t-33 17t-23 20q-40 71 -84 98.5t-113 11.5q19 13 40 18.5t33 4.5l12 -1q2 45 -34 90q6 20 6.5 40.5t-2.5 30.5l-3 10q43 24 71 65t34 91q10 84 -43 150.5t-137 76.5
+q-60 7 -114 -18.5t-82 -74.5q-30 -51 -33.5 -101t14.5 -87t43.5 -64t56.5 -42q-45 4 -88 36t-57 88q-28 108 32 222q-16 21 -29 32q-50 0 -89 -19q19 24 42 37t36 14l13 1q0 50 -13 78q-10 21 -32.5 28.5t-47 -3.5t-37.5 -40q2 4 4 7q-7 -28 -6.5 -75.5t19 -117t48.5 -122.5
+q-25 -14 -47 -36q-35 -16 -85.5 -70.5t-84.5 -101.5l-33 -46q-90 -34 -181 -125.5t-75 -162.5q1 -16 11 -27q-15 -12 -30 -30q-21 -25 -21 -54t21.5 -40t63.5 6q41 19 77 49.5t55 60.5q-2 2 -6.5 5t-20.5 7.5t-33 3.5q23 5 51 12.5t40 10t27.5 6t26 4t23.5 0.5q14 -7 22 34
+q7 37 7 90q0 102 -40 150q106 -103 101 -219q-1 -29 -15 -50t-27 -27l-13 -6q-4 -7 -19 -32t-26 -45.5t-26.5 -52t-25 -61t-17 -63t-6.5 -66.5t10 -63q-35 54 -37 80q-22 -24 -34.5 -39t-33.5 -42t-30.5 -46t-16.5 -41t-0.5 -38t25.5 -27q45 -25 144 64t190.5 221.5
+t122.5 228.5q86 52 145 115.5t86 119.5q47 -93 154 -178q104 -83 167 -80q39 2 46 43zM1794 640q0 -182 -71 -348t-191 -286t-286.5 -191t-348.5 -71t-348.5 71t-286.5 191t-191 286t-71 348t71 348t191 286t286.5 191t348.5 71t348.5 -71t286.5 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2D7" unicode="&#xf2d7;" 
+d="M518 1353v-655q103 -1 191.5 1.5t125.5 5.5l37 3q68 2 90.5 24.5t39.5 94.5l33 142h103l-14 -322l7 -319h-103l-29 127q-15 68 -45 93t-84 26q-87 8 -352 8v-556q0 -78 43.5 -115.5t133.5 -37.5h357q35 0 59.5 2t55 7.5t54 18t48.5 32t46 50.5t39 73l93 216h89
+q-6 -37 -31.5 -252t-30.5 -276q-146 5 -263.5 8t-162.5 4h-44h-628l-376 -12v102l127 25q67 13 91.5 37t25.5 79l8 643q3 402 -8 645q-2 61 -25.5 84t-91.5 36l-127 24v102l376 -12h702q139 0 374 27q-6 -68 -14 -194.5t-12 -219.5l-5 -92h-93l-32 124q-31 121 -74 179.5
+t-113 58.5h-548q-28 0 -35.5 -8.5t-7.5 -30.5z" />
+    <glyph glyph-name="uniF2D8" unicode="&#xf2d8;" 
+d="M922 739v-182q0 -4 0.5 -15t0 -15l-1.5 -12t-3.5 -11.5t-6.5 -7.5t-11 -5.5t-16 -1.5v309q9 0 16 -1t11 -5t6.5 -5.5t3.5 -9.5t1 -10.5v-13.5v-14zM1238 643v-121q0 -1 0.5 -12.5t0 -15.5t-2.5 -11.5t-7.5 -10.5t-13.5 -3q-9 0 -14 9q-4 10 -4 165v7v8.5v9t1.5 8.5l3.5 7
+t5 5.5t8 1.5q6 0 10 -1.5t6.5 -4.5t4 -6t2 -8.5t0.5 -8v-9.5v-9zM180 407h122v472h-122v-472zM614 407h106v472h-159l-28 -221q-20 148 -32 221h-158v-472h107v312l45 -312h76l43 319v-319zM1039 712q0 67 -5 90q-3 16 -11 28.5t-17 20.5t-25 14t-26.5 8.5t-31 4t-29 1.5
+h-29.5h-12h-91v-472h56q169 -1 197 24.5t25 180.5q-1 62 -1 100zM1356 515v133q0 29 -2 45t-9.5 33.5t-24.5 25t-46 7.5q-46 0 -77 -34v154h-117v-472h110l7 30q30 -36 77 -36q50 0 66 30.5t16 83.5zM1536 1248v-1216q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113
+v1216q0 66 47 113t113 47h1216q66 0 113 -47t47 -113z" />
+    <glyph glyph-name="uniF2D9" unicode="&#xf2d9;" horiz-adv-x="2176" 
+d="M1143 -197q-6 1 -11 4q-13 8 -36 23t-86 65t-116.5 104.5t-112 140t-89.5 172.5q-17 3 -175 37q66 -213 235 -362t391 -184zM502 409l168 -28q-25 76 -41 167.5t-19 145.5l-4 53q-84 -82 -121 -224q5 -65 17 -114zM612 1018q-43 -64 -77 -148q44 46 74 68zM2049 584
+q0 161 -62 307t-167.5 252t-250.5 168.5t-304 62.5q-147 0 -281 -52.5t-240 -148.5q-30 -58 -45 -160q60 51 143 83.5t158.5 43t143 13.5t108.5 -1l40 -3q33 -1 53 -15.5t24.5 -33t6.5 -37t-1 -28.5q-126 11 -227.5 0.5t-183 -43.5t-142.5 -71.5t-131 -98.5
+q4 -36 11.5 -92.5t35.5 -178t62 -179.5q123 -6 247.5 14.5t214.5 53.5t162.5 67t109.5 59l37 24q22 16 39.5 20.5t30.5 -5t17 -34.5q14 -97 -39 -121q-208 -97 -467 -134q-135 -20 -317 -16q41 -96 110 -176.5t137 -127t130.5 -79t101.5 -43.5l39 -12q143 -23 263 15
+q195 99 314 289t119 418zM2123 621q-14 -135 -40 -212q-70 -208 -181.5 -346.5t-318.5 -253.5q-48 -33 -82 -44q-72 -26 -163 -16q-36 -3 -73 -3q-283 0 -504.5 173t-295.5 442q-1 0 -4 0.5t-5 0.5q-6 -50 2.5 -112.5t26 -115t36 -98t31.5 -71.5l14 -26q8 -12 54 -82
+q-71 38 -124.5 106.5t-78.5 140t-39.5 137t-17.5 107.5l-2 42q-5 2 -33.5 12.5t-48.5 18t-53 20.5t-57.5 25t-50 25.5t-42.5 27t-25 25.5q19 -10 50.5 -25.5t113 -45.5t145.5 -38l2 32q11 149 94 290q41 202 176 365q28 115 81 214q15 28 32 45t49 32q158 74 303.5 104
+t302 11t306.5 -97q220 -115 333 -336t87 -474z" />
+    <glyph glyph-name="uniF2DA" unicode="&#xf2da;" horiz-adv-x="1792" 
+d="M1341 752q29 44 -6.5 129.5t-121.5 142.5q-58 39 -125.5 53.5t-118 4.5t-68.5 -37q-12 -23 -4.5 -28t42.5 -10q23 -3 38.5 -5t44.5 -9.5t56 -17.5q36 -13 67.5 -31.5t53 -37t40 -38.5t30.5 -38t22 -34.5t16.5 -28.5t12 -18.5t10.5 -6t11 9.5zM1704 178
+q-52 -127 -148.5 -220t-214.5 -141.5t-253 -60.5t-266 13.5t-251 91t-210 161.5t-141.5 235.5t-46.5 303.5q1 41 8.5 84.5t12.5 64t24 80.5t23 73q-51 -208 1 -397t173 -318t291 -206t346 -83t349 74.5t289 244.5q20 27 18 14q0 -4 -4 -14zM1465 627q0 -104 -40.5 -199
+t-108.5 -164t-162 -109.5t-198 -40.5t-198 40.5t-162 109.5t-108.5 164t-40.5 199t40.5 199t108.5 164t162 109.5t198 40.5t198 -40.5t162 -109.5t108.5 -164t40.5 -199zM1752 915q-65 147 -180.5 251t-253 153.5t-292 53.5t-301 -36.5t-275.5 -129t-220 -211.5t-131 -297
+t-10 -373q-49 161 -51.5 311.5t35.5 272.5t109 227t165.5 180.5t207 126t232 71t242.5 9t236 -54t216 -124.5t178 -197q33 -50 62 -121t31 -112zM1690 573q12 244 -136.5 416t-396.5 240q-8 0 -10 5t24 8q125 -4 230 -50t173 -120t116 -168.5t58.5 -199t-1 -208
+t-61.5 -197.5t-122.5 -167t-185 -117.5t-248.5 -46.5q108 30 201.5 80t174 123t129.5 176.5t55 225.5z" />
+    <glyph glyph-name="uniF2DB" unicode="&#xf2db;" 
+d="M192 256v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 512v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 768v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16
+q0 16 16 16h112zM192 1024v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 1280v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM1280 1440v-1472q0 -40 -28 -68t-68 -28h-832q-40 0 -68 28
+t-28 68v1472q0 40 28 68t68 28h832q40 0 68 -28t28 -68zM1536 208v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 464v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 720v-32
+q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 976v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 1232v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16
+h48q16 0 16 -16z" />
+    <glyph glyph-name="uniF2DC" unicode="&#xf2dc;" horiz-adv-x="1664" 
+d="M1566 419l-167 -33l186 -107q23 -13 29.5 -38.5t-6.5 -48.5q-14 -23 -39 -29.5t-48 6.5l-186 106l55 -160q13 -38 -12 -63.5t-60.5 -20.5t-48.5 42l-102 300l-271 156v-313l208 -238q16 -18 17 -39t-11 -36.5t-28.5 -25t-37 -5.5t-36.5 22l-112 128v-214q0 -26 -19 -45
+t-45 -19t-45 19t-19 45v214l-112 -128q-16 -18 -36.5 -22t-37 5.5t-28.5 25t-11 36.5t17 39l208 238v313l-271 -156l-102 -300q-13 -37 -48.5 -42t-60.5 20.5t-12 63.5l55 160l-186 -106q-23 -13 -48 -6.5t-39 29.5q-13 23 -6.5 48.5t29.5 38.5l186 107l-167 33
+q-29 6 -42 29t-8.5 46.5t25.5 40t50 10.5l310 -62l271 157l-271 157l-310 -62q-4 -1 -13 -1q-27 0 -44 18t-19 40t11 43t40 26l167 33l-186 107q-23 13 -29.5 38.5t6.5 48.5t39 30t48 -7l186 -106l-55 160q-13 38 12 63.5t60.5 20.5t48.5 -42l102 -300l271 -156v313
+l-208 238q-16 18 -17 39t11 36.5t28.5 25t37 5.5t36.5 -22l112 -128v214q0 26 19 45t45 19t45 -19t19 -45v-214l112 128q16 18 36.5 22t37 -5.5t28.5 -25t11 -36.5t-17 -39l-208 -238v-313l271 156l102 300q13 37 48.5 42t60.5 -20.5t12 -63.5l-55 -160l186 106
+q23 13 48 6.5t39 -29.5q13 -23 6.5 -48.5t-29.5 -38.5l-186 -107l167 -33q27 -5 40 -26t11 -43t-19 -40t-44 -18q-9 0 -13 1l-310 62l-271 -157l271 -157l310 62q29 6 50 -10.5t25.5 -40t-8.5 -46.5t-42 -29z" />
+    <glyph glyph-name="uniF2DD" unicode="&#xf2dd;" horiz-adv-x="1792" 
+d="M1473 607q7 118 -33 226.5t-113 189t-177 131t-221 57.5q-116 7 -225.5 -32t-192 -110.5t-135 -175t-59.5 -220.5q-7 -118 33 -226.5t113 -189t177.5 -131t221.5 -57.5q155 -9 293 59t224 195.5t94 283.5zM1792 1536l-349 -348q120 -117 180.5 -272t50.5 -321
+q-11 -183 -102 -339t-241 -255.5t-332 -124.5l-999 -132l347 347q-120 116 -180.5 271.5t-50.5 321.5q11 184 102 340t241.5 255.5t332.5 124.5q167 22 500 66t500 66z" />
+    <glyph glyph-name="uniF2DE" unicode="&#xf2de;" horiz-adv-x="1792" 
+d="M948 508l163 -329h-51l-175 350l-171 -350h-49l179 374l-78 33l21 49l240 -102l-21 -50zM563 1100l304 -130l-130 -304l-304 130zM907 915l240 -103l-103 -239l-239 102zM1188 765l191 -81l-82 -190l-190 81zM1680 640q0 159 -62 304t-167.5 250.5t-250.5 167.5t-304 62
+t-304 -62t-250.5 -167.5t-167.5 -250.5t-62 -304t62 -304t167.5 -250.5t250.5 -167.5t304 -62t304 62t250.5 167.5t167.5 250.5t62 304zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71
+t286 -191t191 -286t71 -348z" />
+    <glyph glyph-name="uniF2E0" unicode="&#xf2e0;" horiz-adv-x="1920" 
+d="M1334 302q-4 24 -27.5 34t-49.5 10.5t-48.5 12.5t-25.5 38q-5 47 33 139.5t75 181t32 127.5q-14 101 -117 103q-45 1 -75 -16l-3 -2l-5 -2.5t-4.5 -2t-5 -2t-5 -0.5t-6 1.5t-6 3.5t-6.5 5q-3 2 -9 8.5t-9 9t-8.5 7.5t-9.5 7.5t-9.5 5.5t-11 4.5t-11.5 2.5q-30 5 -48 -3
+t-45 -31q-1 -1 -9 -8.5t-12.5 -11t-15 -10t-16.5 -5.5t-17 3q-54 27 -84 40q-41 18 -94 -5t-76 -65q-16 -28 -41 -98.5t-43.5 -132.5t-40 -134t-21.5 -73q-22 -69 18.5 -119t110.5 -46q30 2 50.5 15t38.5 46q7 13 79 199.5t77 194.5q6 11 21.5 18t29.5 0q27 -15 21 -53
+q-2 -18 -51 -139.5t-50 -132.5q-6 -38 19.5 -56.5t60.5 -7t55 49.5q4 8 45.5 92t81.5 163.5t46 88.5q20 29 41 28q29 0 25 -38q-2 -16 -65.5 -147.5t-70.5 -159.5q-12 -53 13 -103t74 -74q17 -9 51 -15.5t71.5 -8t62.5 14t20 48.5zM383 86q3 -15 -5 -27.5t-23 -15.5
+q-14 -3 -26.5 5t-15.5 23q-3 14 5 27t22 16t27 -5t16 -23zM953 -177q12 -17 8.5 -37.5t-20.5 -32.5t-37.5 -8t-32.5 21q-11 17 -7.5 37.5t20.5 32.5t37.5 8t31.5 -21zM177 635q-18 -27 -49.5 -33t-57.5 13q-26 18 -32 50t12 58q18 27 49.5 33t57.5 -12q26 -19 32 -50.5
+t-12 -58.5zM1467 -42q19 -28 13 -61.5t-34 -52.5t-60.5 -13t-51.5 34t-13 61t33 53q28 19 60.5 13t52.5 -34zM1579 562q69 -113 42.5 -244.5t-134.5 -207.5q-90 -63 -199 -60q-20 -80 -84.5 -127t-143.5 -44.5t-140 57.5q-12 -9 -13 -10q-103 -71 -225 -48.5t-193 126.5
+q-50 73 -53 164q-83 14 -142.5 70.5t-80.5 128t-2 152t81 138.5q-36 60 -38 128t24.5 125t79.5 98.5t121 50.5q32 85 99 148t146.5 91.5t168 17t159.5 -66.5q72 21 140 17.5t128.5 -36t104.5 -80t67.5 -115t17.5 -140.5q52 -16 87 -57t45.5 -89t-5.5 -99.5t-58 -87.5z
+M455 1222q14 -20 9.5 -44.5t-24.5 -38.5q-19 -14 -43.5 -9.5t-37.5 24.5q-14 20 -9.5 44.5t24.5 38.5q19 14 43.5 9.5t37.5 -24.5zM614 1503q4 -16 -5 -30.5t-26 -18.5t-31 5.5t-18 26.5q-3 17 6.5 31t25.5 18q17 4 31 -5.5t17 -26.5zM1800 555q4 -20 -6.5 -37t-30.5 -21
+q-19 -4 -36 6.5t-21 30.5t6.5 37t30.5 22q20 4 36.5 -7.5t20.5 -30.5zM1136 1448q16 -27 8.5 -58.5t-35.5 -47.5q-27 -16 -57.5 -8.5t-46.5 34.5q-16 28 -8.5 59t34.5 48t58 9t47 -36zM1882 792q4 -15 -4 -27.5t-23 -16.5q-15 -3 -27.5 5.5t-15.5 22.5q-3 15 5 28t23 16
+q14 3 26.5 -5t15.5 -23zM1691 1033q15 -22 10.5 -49t-26.5 -43q-22 -15 -49 -10t-42 27t-10 49t27 43t48.5 11t41.5 -28z" />
+    <glyph glyph-name="uniF2E1" unicode="&#xf2e1;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E2" unicode="&#xf2e2;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E3" unicode="&#xf2e3;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E4" unicode="&#xf2e4;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E5" unicode="&#xf2e5;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E6" unicode="&#xf2e6;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E7" unicode="&#xf2e7;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="_698" unicode="&#xf2e8;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2E9" unicode="&#xf2e9;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EA" unicode="&#xf2ea;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EB" unicode="&#xf2eb;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EC" unicode="&#xf2ec;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2ED" unicode="&#xf2ed;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="uniF2EE" unicode="&#xf2ee;" horiz-adv-x="1792" 
+ />
+    <glyph glyph-name="lessequal" unicode="&#xf500;" horiz-adv-x="1792" 
+ />
+  </font>
+</defs></svg>
diff --git a/nightly_8.3/html/_static/css/fonts/fontawesome-webfont.ttf b/nightly_8.3/html/_static/css/fonts/fontawesome-webfont.ttf
new file mode 100644
index 00000000000..35acda2fa11
Binary files /dev/null and b/nightly_8.3/html/_static/css/fonts/fontawesome-webfont.ttf differ
diff --git a/nightly_8.3/html/_static/css/fonts/fontawesome-webfont.woff b/nightly_8.3/html/_static/css/fonts/fontawesome-webfont.woff
new file mode 100644
index 00000000000..400014a4b06
Binary files /dev/null and b/nightly_8.3/html/_static/css/fonts/fontawesome-webfont.woff differ
diff --git a/nightly_8.3/html/_static/css/fonts/fontawesome-webfont.woff2 b/nightly_8.3/html/_static/css/fonts/fontawesome-webfont.woff2
new file mode 100644
index 00000000000..4d13fc60404
Binary files /dev/null and b/nightly_8.3/html/_static/css/fonts/fontawesome-webfont.woff2 differ
diff --git a/nightly_8.3/html/_static/css/fonts/lato-bold-italic.woff b/nightly_8.3/html/_static/css/fonts/lato-bold-italic.woff
new file mode 100644
index 00000000000..88ad05b9ff4
Binary files /dev/null and b/nightly_8.3/html/_static/css/fonts/lato-bold-italic.woff differ
diff --git a/nightly_8.3/html/_static/css/fonts/lato-bold-italic.woff2 b/nightly_8.3/html/_static/css/fonts/lato-bold-italic.woff2
new file mode 100644
index 00000000000..c4e3d804b57
Binary files /dev/null and b/nightly_8.3/html/_static/css/fonts/lato-bold-italic.woff2 differ
diff --git a/nightly_8.3/html/_static/css/fonts/lato-bold.woff b/nightly_8.3/html/_static/css/fonts/lato-bold.woff
new file mode 100644
index 00000000000..c6dff51f063
Binary files /dev/null and b/nightly_8.3/html/_static/css/fonts/lato-bold.woff differ
diff --git a/nightly_8.3/html/_static/css/fonts/lato-bold.woff2 b/nightly_8.3/html/_static/css/fonts/lato-bold.woff2
new file mode 100644
index 00000000000..bb195043cfc
Binary files /dev/null and b/nightly_8.3/html/_static/css/fonts/lato-bold.woff2 differ
diff --git a/nightly_8.3/html/_static/css/fonts/lato-normal-italic.woff b/nightly_8.3/html/_static/css/fonts/lato-normal-italic.woff
new file mode 100644
index 00000000000..76114bc0336
Binary files /dev/null and b/nightly_8.3/html/_static/css/fonts/lato-normal-italic.woff differ
diff --git a/nightly_8.3/html/_static/css/fonts/lato-normal-italic.woff2 b/nightly_8.3/html/_static/css/fonts/lato-normal-italic.woff2
new file mode 100644
index 00000000000..3404f37e2e3
Binary files /dev/null and b/nightly_8.3/html/_static/css/fonts/lato-normal-italic.woff2 differ
diff --git a/nightly_8.3/html/_static/css/fonts/lato-normal.woff b/nightly_8.3/html/_static/css/fonts/lato-normal.woff
new file mode 100644
index 00000000000..ae1307ff5f4
Binary files /dev/null and b/nightly_8.3/html/_static/css/fonts/lato-normal.woff differ
diff --git a/nightly_8.3/html/_static/css/fonts/lato-normal.woff2 b/nightly_8.3/html/_static/css/fonts/lato-normal.woff2
new file mode 100644
index 00000000000..3bf9843328a
Binary files /dev/null and b/nightly_8.3/html/_static/css/fonts/lato-normal.woff2 differ
diff --git a/nightly_8.3/html/_static/css/grid_table.css b/nightly_8.3/html/_static/css/grid_table.css
new file mode 100644
index 00000000000..53b63b3612d
--- /dev/null
+++ b/nightly_8.3/html/_static/css/grid_table.css
@@ -0,0 +1,43 @@
+/* ----------------------------------------------------------------------------
+ * THIS FILE IS PART OF THE CYLC WORKFLOW ENGINE.
+ * Copyright (C) NIWA & British Crown (Met Office) & Contributors.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * ------------------------------------------------------------------------- */
+
+/* Implement grid-table class for plain style grid layouts. */
+.grid-table {
+    width: 100% !important;
+    border: 0 !important; /* Remove table border. */
+}
+.grid-table tbody tr td:first-child {
+    padding-left: 0 !important; /* Grid flush with the left-hand content edge. */
+}
+.grid-table tbody tr td:last-child {
+    padding-right: 0 !important; /* Grid flush with the right-hand edge */
+}
+.grid-table tbody tr td {
+    background-color: rgba(255,255,255,0) !important;
+    border: 0 !important;  /* Remove cell border. */
+    vertical-align: top !important;  /* All content should float to the top. */
+}
+.grid-table td {
+    /* docutils sticks tables inside an align-center class, correct this */
+    text-align: left;
+}
+
+/* Tables handle their own margin, this prevents getting a double margin. */
+.grid-table div.highlight {
+    margin-bottom: 0;
+}
diff --git a/nightly_8.3/html/_static/css/hieroglyph_theme_addons.css b/nightly_8.3/html/_static/css/hieroglyph_theme_addons.css
new file mode 100644
index 00000000000..055353e558d
--- /dev/null
+++ b/nightly_8.3/html/_static/css/hieroglyph_theme_addons.css
@@ -0,0 +1,38 @@
+/* (1)
+ * Make quotations small enough to fit on the slide. */
+.slide q {
+    font-size: 1em;
+}
+
+
+/* (2)
+ * Add a bit of space between slide titles and images. */
+.slide object, .slide img {
+    margin: 1em 0 1em 0;
+}
+
+
+/* (3)
+ * Don't display glossary terms as hyperlinks. */
+.slide a.reference {
+    text-decoration: none
+}
+.slide a.reference span.std {
+    text-decoration: underline;
+}
+.slide a.reference span.xref {
+    text-decoration: none;
+    color: #909090;
+    font-style: italic;
+}
+.slide a.reference span.xref:hover {
+    text-decoration: underline;
+    color: #0066CC;
+}
+
+
+/* (4)
+ * Make code block captions legible. */
+.slide .code-block-caption span {
+    font-size: 2em;
+}
diff --git a/nightly_8.3/html/_static/css/theme.css b/nightly_8.3/html/_static/css/theme.css
new file mode 100644
index 00000000000..19a446a0e70
--- /dev/null
+++ b/nightly_8.3/html/_static/css/theme.css
@@ -0,0 +1,4 @@
+html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden],audio:not([controls]){display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;text-decoration:none}ins,mark{color:#000}mark{background:#ff0;font-style:italic;font-weight:700}.rst-content code,.rst-content tt,code,kbd,pre,samp{font-family:monospace,serif;_font-family:courier new,monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:after,q:before{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,ol,ul{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure,form{margin:0}label{cursor:pointer}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{body,html,section{background:none!important}*{box-shadow:none!important;text-shadow:none!important;filter:none!important;-ms-filter:none!important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}.rst-content .toctree-wrapper>p.caption,h2,h3,p{orphans:3;widows:3}.rst-content .toctree-wrapper>p.caption,h2,h3{page-break-after:avoid}}.btn,.fa:before,.icon:before,.rst-content .admonition,.rst-content .admonition-title:before,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .code-block-caption .headerlink:before,.rst-content .danger,.rst-content .eqno .headerlink:before,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-alert,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before,input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}/*!
+ *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
+ *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
+ */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .eqno .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a button.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-left.toctree-expand,.wy-menu-vertical li button.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .eqno .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a button.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-right.toctree-expand,.wy-menu-vertical li button.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .eqno .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a button.pull-left.toctree-expand,.wy-menu-vertical li.on a button.pull-left.toctree-expand,.wy-menu-vertical li button.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .eqno .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.wy-menu-vertical li.current>a button.pull-right.toctree-expand,.wy-menu-vertical li.on a button.pull-right.toctree-expand,.wy-menu-vertical li button.pull-right.toctree-expand{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.rst-content .admonition-title:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.icon-caret-down:before,.wy-dropdown .caret:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li button.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{font-family:inherit}.fa:before,.icon:before,.rst-content .admonition-title:before,.rst-content .code-block-caption .headerlink:before,.rst-content .eqno .headerlink:before,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before{font-family:FontAwesome;display:inline-block;font-style:normal;font-weight:400;line-height:1;text-decoration:inherit}.rst-content .code-block-caption a .headerlink,.rst-content .eqno a .headerlink,.rst-content a .admonition-title,.rst-content code.download a span:first-child,.rst-content dl dt a .headerlink,.rst-content h1 a .headerlink,.rst-content h2 a .headerlink,.rst-content h3 a .headerlink,.rst-content h4 a .headerlink,.rst-content h5 a .headerlink,.rst-content h6 a .headerlink,.rst-content p.caption a .headerlink,.rst-content p a .headerlink,.rst-content table>caption a .headerlink,.rst-content tt.download a span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li a button.toctree-expand,a .fa,a .icon,a .rst-content .admonition-title,a .rst-content .code-block-caption .headerlink,a .rst-content .eqno .headerlink,a .rst-content code.download span:first-child,a .rst-content dl dt .headerlink,a .rst-content h1 .headerlink,a .rst-content h2 .headerlink,a .rst-content h3 .headerlink,a .rst-content h4 .headerlink,a .rst-content h5 .headerlink,a .rst-content h6 .headerlink,a .rst-content p.caption .headerlink,a .rst-content p .headerlink,a .rst-content table>caption .headerlink,a .rst-content tt.download span:first-child,a .wy-menu-vertical li button.toctree-expand{display:inline-block;text-decoration:inherit}.btn .fa,.btn .icon,.btn .rst-content .admonition-title,.btn .rst-content .code-block-caption .headerlink,.btn .rst-content .eqno .headerlink,.btn .rst-content code.download span:first-child,.btn .rst-content dl dt .headerlink,.btn .rst-content h1 .headerlink,.btn .rst-content h2 .headerlink,.btn .rst-content h3 .headerlink,.btn .rst-content h4 .headerlink,.btn .rst-content h5 .headerlink,.btn .rst-content h6 .headerlink,.btn .rst-content p .headerlink,.btn .rst-content table>caption .headerlink,.btn .rst-content tt.download span:first-child,.btn .wy-menu-vertical li.current>a button.toctree-expand,.btn .wy-menu-vertical li.on a button.toctree-expand,.btn .wy-menu-vertical li button.toctree-expand,.nav .fa,.nav .icon,.nav .rst-content .admonition-title,.nav .rst-content .code-block-caption .headerlink,.nav .rst-content .eqno .headerlink,.nav .rst-content code.download span:first-child,.nav .rst-content dl dt .headerlink,.nav .rst-content h1 .headerlink,.nav .rst-content h2 .headerlink,.nav .rst-content h3 .headerlink,.nav .rst-content h4 .headerlink,.nav .rst-content h5 .headerlink,.nav .rst-content h6 .headerlink,.nav .rst-content p .headerlink,.nav .rst-content table>caption .headerlink,.nav .rst-content tt.download span:first-child,.nav .wy-menu-vertical li.current>a button.toctree-expand,.nav .wy-menu-vertical li.on a button.toctree-expand,.nav .wy-menu-vertical li button.toctree-expand,.rst-content .btn .admonition-title,.rst-content .code-block-caption .btn .headerlink,.rst-content .code-block-caption .nav .headerlink,.rst-content .eqno .btn .headerlink,.rst-content .eqno .nav .headerlink,.rst-content .nav .admonition-title,.rst-content code.download .btn span:first-child,.rst-content code.download .nav span:first-child,.rst-content dl dt .btn .headerlink,.rst-content dl dt .nav .headerlink,.rst-content h1 .btn .headerlink,.rst-content h1 .nav .headerlink,.rst-content h2 .btn .headerlink,.rst-content h2 .nav .headerlink,.rst-content h3 .btn .headerlink,.rst-content h3 .nav .headerlink,.rst-content h4 .btn .headerlink,.rst-content h4 .nav .headerlink,.rst-content h5 .btn .headerlink,.rst-content h5 .nav .headerlink,.rst-content h6 .btn .headerlink,.rst-content h6 .nav .headerlink,.rst-content p .btn .headerlink,.rst-content p .nav .headerlink,.rst-content table>caption .btn .headerlink,.rst-content table>caption .nav .headerlink,.rst-content tt.download .btn span:first-child,.rst-content tt.download .nav span:first-child,.wy-menu-vertical li .btn button.toctree-expand,.wy-menu-vertical li.current>a .btn button.toctree-expand,.wy-menu-vertical li.current>a .nav button.toctree-expand,.wy-menu-vertical li .nav button.toctree-expand,.wy-menu-vertical li.on a .btn button.toctree-expand,.wy-menu-vertical li.on a .nav button.toctree-expand{display:inline}.btn .fa-large.icon,.btn .fa.fa-large,.btn .rst-content .code-block-caption .fa-large.headerlink,.btn .rst-content .eqno .fa-large.headerlink,.btn .rst-content .fa-large.admonition-title,.btn .rst-content code.download span.fa-large:first-child,.btn .rst-content dl dt .fa-large.headerlink,.btn .rst-content h1 .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.btn .rst-content p .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.btn .wy-menu-vertical li button.fa-large.toctree-expand,.nav .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .code-block-caption .fa-large.headerlink,.nav .rst-content .eqno .fa-large.headerlink,.nav .rst-content .fa-large.admonition-title,.nav .rst-content code.download span.fa-large:first-child,.nav .rst-content dl dt .fa-large.headerlink,.nav .rst-content h1 .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.nav .rst-content p .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.nav .wy-menu-vertical li button.fa-large.toctree-expand,.rst-content .btn .fa-large.admonition-title,.rst-content .code-block-caption .btn .fa-large.headerlink,.rst-content .code-block-caption .nav .fa-large.headerlink,.rst-content .eqno .btn .fa-large.headerlink,.rst-content .eqno .nav .fa-large.headerlink,.rst-content .nav .fa-large.admonition-title,.rst-content code.download .btn span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.rst-content dl dt .btn .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.rst-content p .btn .fa-large.headerlink,.rst-content p .nav .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.rst-content tt.download .btn span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.wy-menu-vertical li .btn button.fa-large.toctree-expand,.wy-menu-vertical li .nav button.fa-large.toctree-expand{line-height:.9em}.btn .fa-spin.icon,.btn .fa.fa-spin,.btn .rst-content .code-block-caption .fa-spin.headerlink,.btn .rst-content .eqno .fa-spin.headerlink,.btn .rst-content .fa-spin.admonition-title,.btn .rst-content code.download span.fa-spin:first-child,.btn .rst-content dl dt .fa-spin.headerlink,.btn .rst-content h1 .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.btn .rst-content p .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.btn .wy-menu-vertical li button.fa-spin.toctree-expand,.nav .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .code-block-caption .fa-spin.headerlink,.nav .rst-content .eqno .fa-spin.headerlink,.nav .rst-content .fa-spin.admonition-title,.nav .rst-content code.download span.fa-spin:first-child,.nav .rst-content dl dt .fa-spin.headerlink,.nav .rst-content h1 .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.nav .rst-content p .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.nav .wy-menu-vertical li button.fa-spin.toctree-expand,.rst-content .btn .fa-spin.admonition-title,.rst-content .code-block-caption .btn .fa-spin.headerlink,.rst-content .code-block-caption .nav .fa-spin.headerlink,.rst-content .eqno .btn .fa-spin.headerlink,.rst-content .eqno .nav .fa-spin.headerlink,.rst-content .nav .fa-spin.admonition-title,.rst-content code.download .btn span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.rst-content dl dt .btn .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.rst-content p .btn .fa-spin.headerlink,.rst-content p .nav .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.rst-content tt.download .btn span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.wy-menu-vertical li .btn button.fa-spin.toctree-expand,.wy-menu-vertical li .nav button.fa-spin.toctree-expand{display:inline-block}.btn.fa:before,.btn.icon:before,.rst-content .btn.admonition-title:before,.rst-content .code-block-caption .btn.headerlink:before,.rst-content .eqno .btn.headerlink:before,.rst-content code.download span.btn:first-child:before,.rst-content dl dt .btn.headerlink:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content p .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.wy-menu-vertical li button.btn.toctree-expand:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.btn.icon:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content .code-block-caption .btn.headerlink:hover:before,.rst-content .eqno .btn.headerlink:hover:before,.rst-content code.download span.btn:first-child:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content p .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.wy-menu-vertical li button.btn.toctree-expand:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .icon:before,.btn-mini .rst-content .admonition-title:before,.btn-mini .rst-content .code-block-caption .headerlink:before,.btn-mini .rst-content .eqno .headerlink:before,.btn-mini .rst-content code.download span:first-child:before,.btn-mini .rst-content dl dt .headerlink:before,.btn-mini .rst-content h1 .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.btn-mini .rst-content p .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.btn-mini .wy-menu-vertical li button.toctree-expand:before,.rst-content .btn-mini .admonition-title:before,.rst-content .code-block-caption .btn-mini .headerlink:before,.rst-content .eqno .btn-mini .headerlink:before,.rst-content code.download .btn-mini span:first-child:before,.rst-content dl dt .btn-mini .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.rst-content p .btn-mini .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.rst-content tt.download .btn-mini span:first-child:before,.wy-menu-vertical li .btn-mini button.toctree-expand:before{font-size:14px;vertical-align:-15%}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.wy-alert{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.rst-content .admonition-title,.wy-alert-title{font-weight:700;display:block;color:#fff;background:#6ab0de;padding:6px 12px;margin:-12px -12px 12px}.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.admonition,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.wy-alert.wy-alert-danger{background:#fdf3f2}.rst-content .danger .admonition-title,.rst-content .danger .wy-alert-title,.rst-content .error .admonition-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .admonition-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.wy-alert.wy-alert-danger .wy-alert-title{background:#f29f97}.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .wy-alert-warning.admonition,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.note,.rst-content .wy-alert-warning.seealso,.rst-content .wy-alert-warning.tip,.wy-alert.wy-alert-warning{background:#ffedcc}.rst-content .admonition-todo .admonition-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .attention .admonition-title,.rst-content .attention .wy-alert-title,.rst-content .caution .admonition-title,.rst-content .caution .wy-alert-title,.rst-content .warning .admonition-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.admonition .admonition-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.wy-alert.wy-alert-warning .wy-alert-title{background:#f0b37e}.rst-content .note,.rst-content .seealso,.rst-content .wy-alert-info.admonition,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.wy-alert.wy-alert-info{background:#e7f2fa}.rst-content .note .admonition-title,.rst-content .note .wy-alert-title,.rst-content .seealso .admonition-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .admonition-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.wy-alert.wy-alert-info .wy-alert-title{background:#6ab0de}.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.admonition,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.warning,.wy-alert.wy-alert-success{background:#dbfaf4}.rst-content .hint .admonition-title,.rst-content .hint .wy-alert-title,.rst-content .important .admonition-title,.rst-content .important .wy-alert-title,.rst-content .tip .admonition-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .admonition-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.wy-alert.wy-alert-success .wy-alert-title{background:#1abc9c}.rst-content .wy-alert-neutral.admonition,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.wy-alert.wy-alert-neutral{background:#f3f6f6}.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .admonition-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.wy-alert.wy-alert-neutral .wy-alert-title{color:#404040;background:#e1e4e5}.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.wy-alert.wy-alert-neutral a{color:#2980b9}.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .note p:last-child,.rst-content .seealso p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.wy-alert p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27ae60}.wy-tray-container li.wy-tray-item-info{background:#2980b9}.wy-tray-container li.wy-tray-item-warning{background:#e67e22}.wy-tray-container li.wy-tray-item-danger{background:#e74c3c}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width:768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px;color:#fff;border:1px solid rgba(0,0,0,.1);background-color:#27ae60;text-decoration:none;font-weight:400;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 2px -1px hsla(0,0%,100%,.5),inset 0 -2px 0 0 rgba(0,0,0,.1);outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.05),inset 0 2px 0 0 rgba(0,0,0,.1);padding:8px 12px 6px}.btn:visited{color:#fff}.btn-disabled,.btn-disabled:active,.btn-disabled:focus,.btn-disabled:hover,.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980b9!important}.btn-info:hover{background-color:#2e8ece!important}.btn-neutral{background-color:#f3f6f6!important;color:#404040!important}.btn-neutral:hover{background-color:#e5ebeb!important;color:#404040}.btn-neutral:visited{color:#404040!important}.btn-success{background-color:#27ae60!important}.btn-success:hover{background-color:#295!important}.btn-danger{background-color:#e74c3c!important}.btn-danger:hover{background-color:#ea6153!important}.btn-warning{background-color:#e67e22!important}.btn-warning:hover{background-color:#e98b39!important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f!important}.btn-link{background-color:transparent!important;color:#2980b9;box-shadow:none;border-color:transparent!important}.btn-link:active,.btn-link:hover{background-color:transparent!important;color:#409ad5!important;box-shadow:none}.btn-link:visited{color:#9b59b6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:after,.wy-btn-group:before{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:1px solid #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980b9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:1px solid #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type=search]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980b9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned .wy-help-inline,.wy-form-aligned input,.wy-form-aligned label,.wy-form-aligned select,.wy-form-aligned textarea{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{margin:0}fieldset,legend{border:0;padding:0}legend{width:100%;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label,legend{display:block}label{margin:0 0 .3125em;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:after,.wy-control-group:before{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#e74c3c}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full input[type=color],.wy-control-group .wy-form-full input[type=date],.wy-control-group .wy-form-full input[type=datetime-local],.wy-control-group .wy-form-full input[type=datetime],.wy-control-group .wy-form-full input[type=email],.wy-control-group .wy-form-full input[type=month],.wy-control-group .wy-form-full input[type=number],.wy-control-group .wy-form-full input[type=password],.wy-control-group .wy-form-full input[type=search],.wy-control-group .wy-form-full input[type=tel],.wy-control-group .wy-form-full input[type=text],.wy-control-group .wy-form-full input[type=time],.wy-control-group .wy-form-full input[type=url],.wy-control-group .wy-form-full input[type=week],.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves input[type=color],.wy-control-group .wy-form-halves input[type=date],.wy-control-group .wy-form-halves input[type=datetime-local],.wy-control-group .wy-form-halves input[type=datetime],.wy-control-group .wy-form-halves input[type=email],.wy-control-group .wy-form-halves input[type=month],.wy-control-group .wy-form-halves input[type=number],.wy-control-group .wy-form-halves input[type=password],.wy-control-group .wy-form-halves input[type=search],.wy-control-group .wy-form-halves input[type=tel],.wy-control-group .wy-form-halves input[type=text],.wy-control-group .wy-form-halves input[type=time],.wy-control-group .wy-form-halves input[type=url],.wy-control-group .wy-form-halves input[type=week],.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds input[type=color],.wy-control-group .wy-form-thirds input[type=date],.wy-control-group .wy-form-thirds input[type=datetime-local],.wy-control-group .wy-form-thirds input[type=datetime],.wy-control-group .wy-form-thirds input[type=email],.wy-control-group .wy-form-thirds input[type=month],.wy-control-group .wy-form-thirds input[type=number],.wy-control-group .wy-form-thirds input[type=password],.wy-control-group .wy-form-thirds input[type=search],.wy-control-group .wy-form-thirds input[type=tel],.wy-control-group .wy-form-thirds input[type=text],.wy-control-group .wy-form-thirds input[type=time],.wy-control-group .wy-form-thirds input[type=url],.wy-control-group .wy-form-thirds input[type=week],.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full{float:left;display:block;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child,.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(odd){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child,.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control,.wy-control-no-input{margin:6px 0 0;font-size:90%}.wy-control-no-input{display:inline-block}.wy-control-group.fluid-input input[type=color],.wy-control-group.fluid-input input[type=date],.wy-control-group.fluid-input input[type=datetime-local],.wy-control-group.fluid-input input[type=datetime],.wy-control-group.fluid-input input[type=email],.wy-control-group.fluid-input input[type=month],.wy-control-group.fluid-input input[type=number],.wy-control-group.fluid-input input[type=password],.wy-control-group.fluid-input input[type=search],.wy-control-group.fluid-input input[type=tel],.wy-control-group.fluid-input input[type=text],.wy-control-group.fluid-input input[type=time],.wy-control-group.fluid-input input[type=url],.wy-control-group.fluid-input input[type=week]{width:100%}.wy-form-message-inline{padding-left:.3em;color:#666;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;*overflow:visible}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type=datetime-local]{padding:.34375em .625em}input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type=checkbox],input[type=radio],input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus{outline:0;outline:thin dotted\9;border-color:#333}input.no-focus:focus{border-color:#ccc!important}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:1px auto #129fea}input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#e74c3c;border:1px solid #e74c3c}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e74c3c}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#e74c3c}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:1px solid #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{left:0;top:0;width:36px;height:12px;background:#ccc}.wy-switch:after,.wy-switch:before{position:absolute;content:"";display:block;border-radius:4px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{width:18px;height:18px;background:#999;left:-3px;top:-3px}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27ae60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#e74c3c}.wy-control-group.wy-control-group-error input[type=color],.wy-control-group.wy-control-group-error input[type=date],.wy-control-group.wy-control-group-error input[type=datetime-local],.wy-control-group.wy-control-group-error input[type=datetime],.wy-control-group.wy-control-group-error input[type=email],.wy-control-group.wy-control-group-error input[type=month],.wy-control-group.wy-control-group-error input[type=number],.wy-control-group.wy-control-group-error input[type=password],.wy-control-group.wy-control-group-error input[type=search],.wy-control-group.wy-control-group-error input[type=tel],.wy-control-group.wy-control-group-error input[type=text],.wy-control-group.wy-control-group-error input[type=time],.wy-control-group.wy-control-group-error input[type=url],.wy-control-group.wy-control-group-error input[type=week],.wy-control-group.wy-control-group-error textarea{border:1px solid #e74c3c}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27ae60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#e74c3c}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#e67e22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980b9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width:480px){.wy-form button[type=submit]{margin:.7em 0 0}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=text],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week],.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0}.wy-form-message,.wy-form-message-inline,.wy-form .wy-help-inline{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width:768px){.tablet-hide{display:none}}@media screen and (max-width:480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.rst-content table.docutils,.rst-content table.field-list,.wy-table{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.rst-content table.docutils caption,.rst-content table.field-list caption,.wy-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.rst-content table.docutils td,.rst-content table.docutils th,.rst-content table.field-list td,.rst-content table.field-list th,.wy-table td,.wy-table th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.rst-content table.docutils td:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list td:first-child,.rst-content table.field-list th:first-child,.wy-table td:first-child,.wy-table th:first-child{border-left-width:0}.rst-content table.docutils thead,.rst-content table.field-list thead,.wy-table thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.rst-content table.docutils thead th,.rst-content table.field-list thead th,.wy-table thead th{font-weight:700;border-bottom:2px solid #e1e4e5}.rst-content table.docutils td,.rst-content table.field-list td,.wy-table td{background-color:transparent;vertical-align:middle}.rst-content table.docutils td p,.rst-content table.field-list td p,.wy-table td p{line-height:18px}.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child,.wy-table td p:last-child{margin-bottom:0}.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min,.wy-table .wy-table-cell-min{width:1%;padding-right:0}.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:grey;font-size:90%}.wy-table-tertiary{color:grey;font-size:80%}.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td,.wy-table-backed,.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td{background-color:#f3f6f6}.rst-content table.docutils,.wy-table-bordered-all{border:1px solid #e1e4e5}.rst-content table.docutils td,.wy-table-bordered-all td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.rst-content table.docutils tbody>tr:last-child td,.wy-table-bordered-all tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0!important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980b9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%}body,html{overflow-x:hidden}body{font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-weight:400;color:#404040;min-height:100%;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22!important}a.wy-text-warning:hover{color:#eb9950!important}.wy-text-info{color:#2980b9!important}a.wy-text-info:hover{color:#409ad5!important}.wy-text-success{color:#27ae60!important}a.wy-text-success:hover{color:#36d278!important}.wy-text-danger{color:#e74c3c!important}a.wy-text-danger:hover{color:#ed7669!important}.wy-text-neutral{color:#404040!important}a.wy-text-neutral:hover{color:#595959!important}.rst-content .toctree-wrapper>p.caption,h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif}p{line-height:24px;font-size:16px;margin:0 0 24px}h1{font-size:175%}.rst-content .toctree-wrapper>p.caption,h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}.rst-content code,.rst-content tt,code{white-space:nowrap;max-width:100%;background:#fff;border:1px solid #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#e74c3c;overflow-x:auto}.rst-content tt.code-large,code.code-large{font-size:90%}.rst-content .section ul,.rst-content .toctree-wrapper ul,.rst-content section ul,.wy-plain-list-disc,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.rst-content .section ul li,.rst-content .toctree-wrapper ul li,.rst-content section ul li,.wy-plain-list-disc li,article ul li{list-style:disc;margin-left:24px}.rst-content .section ul li p:last-child,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li p:last-child,.rst-content .toctree-wrapper ul li ul,.rst-content section ul li p:last-child,.rst-content section ul li ul,.wy-plain-list-disc li p:last-child,.wy-plain-list-disc li ul,article ul li p:last-child,article ul li ul{margin-bottom:0}.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,.rst-content section ul li li,.wy-plain-list-disc li li,article ul li li{list-style:circle}.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,.rst-content section ul li li li,.wy-plain-list-disc li li li,article ul li li li{list-style:square}.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,.rst-content section ul li ol li,.wy-plain-list-disc li ol li,article ul li ol li{list-style:decimal}.rst-content .section ol,.rst-content .section ol.arabic,.rst-content .toctree-wrapper ol,.rst-content .toctree-wrapper ol.arabic,.rst-content section ol,.rst-content section ol.arabic,.wy-plain-list-decimal,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.rst-content .section ol.arabic li,.rst-content .section ol li,.rst-content .toctree-wrapper ol.arabic li,.rst-content .toctree-wrapper ol li,.rst-content section ol.arabic li,.rst-content section ol li,.wy-plain-list-decimal li,article ol li{list-style:decimal;margin-left:24px}.rst-content .section ol.arabic li ul,.rst-content .section ol li p:last-child,.rst-content .section ol li ul,.rst-content .toctree-wrapper ol.arabic li ul,.rst-content .toctree-wrapper ol li p:last-child,.rst-content .toctree-wrapper ol li ul,.rst-content section ol.arabic li ul,.rst-content section ol li p:last-child,.rst-content section ol li ul,.wy-plain-list-decimal li p:last-child,.wy-plain-list-decimal li ul,article ol li p:last-child,article ol li ul{margin-bottom:0}.rst-content .section ol.arabic li ul li,.rst-content .section ol li ul li,.rst-content .toctree-wrapper ol.arabic li ul li,.rst-content .toctree-wrapper ol li ul li,.rst-content section ol.arabic li ul li,.rst-content section ol li ul li,.wy-plain-list-decimal li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:after,.wy-breadcrumbs:before{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs>li{display:inline-block;padding-top:5px}.wy-breadcrumbs>li.wy-breadcrumbs-aside{float:right}.rst-content .wy-breadcrumbs>li code,.rst-content .wy-breadcrumbs>li tt,.wy-breadcrumbs>li .rst-content tt,.wy-breadcrumbs>li code{all:inherit;color:inherit}.breadcrumb-item:before{content:"/";color:#bbb;font-size:13px;padding:0 6px 0 3px}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width:480px){.wy-breadcrumbs-extra,.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:after,.wy-menu-horiz:before{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz li,.wy-menu-horiz ul{display:inline-block}.wy-menu-horiz li:hover{background:hsla(0,0%,100%,.1)}.wy-menu-horiz li.divide-left{border-left:1px solid #404040}.wy-menu-horiz li.divide-right{border-right:1px solid #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{color:#55a5d9;height:32px;line-height:32px;padding:0 1.618em;margin:12px 0 0;display:block;font-weight:700;text-transform:uppercase;font-size:85%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:1px solid #404040}.wy-menu-vertical li.divide-bottom{border-bottom:1px solid #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:grey;border-right:1px solid #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.rst-content .wy-menu-vertical li tt,.wy-menu-vertical li .rst-content tt,.wy-menu-vertical li code{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li button.toctree-expand{display:block;float:left;margin-left:-1.2em;line-height:18px;color:#4d4d4d;border:none;background:none;padding:0}.wy-menu-vertical li.current>a,.wy-menu-vertical li.on a{color:#404040;font-weight:700;position:relative;background:#fcfcfc;border:none;padding:.4045em 1.618em}.wy-menu-vertical li.current>a:hover,.wy-menu-vertical li.on a:hover{background:#fcfcfc}.wy-menu-vertical li.current>a:hover button.toctree-expand,.wy-menu-vertical li.on a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand{display:block;line-height:18px;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:1px solid #c9c9c9;border-top:1px solid #c9c9c9}.wy-menu-vertical .toctree-l1.current .toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .toctree-l11>ul{display:none}.wy-menu-vertical .toctree-l1.current .current.toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .current.toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .current.toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .current.toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .current.toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .current.toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .current.toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .current.toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .current.toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .current.toctree-l11>ul{display:block}.wy-menu-vertical li.toctree-l3,.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a,.wy-menu-vertical li.toctree-l5 a,.wy-menu-vertical li.toctree-l6 a,.wy-menu-vertical li.toctree-l7 a,.wy-menu-vertical li.toctree-l8 a,.wy-menu-vertical li.toctree-l9 a,.wy-menu-vertical li.toctree-l10 a{color:#404040}.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l3 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l4 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l5 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l6 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l7 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l8 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l9 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l10 a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a,.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a,.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a,.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a,.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a,.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a,.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a,.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{display:block}.wy-menu-vertical li.toctree-l2.current>a{padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{padding:.4045em 1.618em .4045em 4.045em}.wy-menu-vertical li.toctree-l3.current>a{padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{padding:.4045em 1.618em .4045em 5.663em}.wy-menu-vertical li.toctree-l4.current>a{padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a{padding:.4045em 1.618em .4045em 7.281em}.wy-menu-vertical li.toctree-l5.current>a{padding:.4045em 7.281em}.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a{padding:.4045em 1.618em .4045em 8.899em}.wy-menu-vertical li.toctree-l6.current>a{padding:.4045em 8.899em}.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a{padding:.4045em 1.618em .4045em 10.517em}.wy-menu-vertical li.toctree-l7.current>a{padding:.4045em 10.517em}.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a{padding:.4045em 1.618em .4045em 12.135em}.wy-menu-vertical li.toctree-l8.current>a{padding:.4045em 12.135em}.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a{padding:.4045em 1.618em .4045em 13.753em}.wy-menu-vertical li.toctree-l9.current>a{padding:.4045em 13.753em}.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a{padding:.4045em 1.618em .4045em 15.371em}.wy-menu-vertical li.toctree-l10.current>a{padding:.4045em 15.371em}.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{padding:.4045em 1.618em .4045em 16.989em}.wy-menu-vertical li.toctree-l2.current>a,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#c9c9c9}.wy-menu-vertical li.toctree-l2 button.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3.current>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#bdbdbd}.wy-menu-vertical li.toctree-l3 button.toctree-expand{color:#969696}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:400}.wy-menu-vertical a{line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover button.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980b9;cursor:pointer;color:#fff}.wy-menu-vertical a:active button.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980b9;text-align:center;color:#fcfcfc}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a{color:#fcfcfc;font-size:100%;font-weight:700;display:inline-block;padding:4px 6px;margin-bottom:.809em;max-width:100%}.wy-side-nav-search .wy-dropdown>a:hover,.wy-side-nav-search>a:hover{background:hsla(0,0%,100%,.1)}.wy-side-nav-search .wy-dropdown>a img.logo,.wy-side-nav-search>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search .wy-dropdown>a.icon img.logo,.wy-side-nav-search>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.version{margin-top:-.4045em;margin-bottom:.809em;font-weight:400;color:hsla(0,0%,100%,.3)}.wy-nav .wy-menu-vertical header{color:#2980b9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980b9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980b9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:after,.wy-nav-top:before{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:700}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:grey}footer p{margin-bottom:12px}.rst-content footer span.commit tt,footer span.commit .rst-content tt,footer span.commit code{padding:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:1em;background:none;border:none;color:grey}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:after,.rst-footer-buttons:before{width:100%;display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:after,.rst-breadcrumbs-buttons:before{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:1px solid #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:1px solid #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:grey;font-size:90%}.genindextable li>ul{margin-left:24px}@media screen and (max-width:768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-menu.wy-menu-vertical,.wy-side-nav-search,.wy-side-scroll{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width:1100px){.wy-nav-content-wrap{background:rgba(0,0,0,.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,.wy-nav-side,footer{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:after,.rst-versions .rst-current-version:before{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-content .code-block-caption .rst-versions .rst-current-version .headerlink,.rst-content .eqno .rst-versions .rst-current-version .headerlink,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-content p .rst-versions .rst-current-version .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .icon,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-versions .rst-current-version .rst-content .code-block-caption .headerlink,.rst-versions .rst-current-version .rst-content .eqno .headerlink,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-versions .rst-current-version .rst-content p .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-versions .rst-current-version .wy-menu-vertical li button.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version button.toctree-expand{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}.rst-content .toctree-wrapper>p.caption,.rst-content h1,.rst-content h2,.rst-content h3,.rst-content h4,.rst-content h5,.rst-content h6{margin-bottom:24px}.rst-content img{max-width:100%;height:auto}.rst-content div.figure,.rst-content figure{margin-bottom:24px}.rst-content div.figure .caption-text,.rst-content figure .caption-text{font-style:italic}.rst-content div.figure p:last-child.caption,.rst-content figure p:last-child.caption{margin-bottom:0}.rst-content div.figure.align-center,.rst-content figure.align-center{text-align:center}.rst-content .section>a>img,.rst-content .section>img,.rst-content section>a>img,.rst-content section>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"\f08e";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;display:block;overflow:auto}.rst-content div[class^=highlight],.rst-content pre.literal-block{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px}.rst-content div[class^=highlight] div[class^=highlight],.rst-content pre.literal-block div[class^=highlight]{padding:0;border:none;margin:0}.rst-content div[class^=highlight] td.code{width:100%}.rst-content .linenodiv pre{border-right:1px solid #e6e9ea;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^=highlight] pre{white-space:pre;margin:0;padding:12px;display:block;overflow:auto}.rst-content div[class^=highlight] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:12px;line-height:1.4}.rst-content div.highlight .gp,.rst-content div.highlight span.linenos{user-select:none;pointer-events:none}.rst-content div.highlight span.linenos{display:inline-block;padding-left:0;padding-right:12px;margin-right:12px;border-right:1px solid #e6e9ea}.rst-content .code-block-caption{font-style:italic;font-size:85%;line-height:1;padding:1em 0;text-align:center}@media print{.rst-content .codeblock,.rst-content div[class^=highlight],.rst-content div[class^=highlight] pre{white-space:pre-wrap}}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning{clear:both}.rst-content .admonition-todo .last,.rst-content .admonition-todo>:last-child,.rst-content .admonition .last,.rst-content .admonition>:last-child,.rst-content .attention .last,.rst-content .attention>:last-child,.rst-content .caution .last,.rst-content .caution>:last-child,.rst-content .danger .last,.rst-content .danger>:last-child,.rst-content .error .last,.rst-content .error>:last-child,.rst-content .hint .last,.rst-content .hint>:last-child,.rst-content .important .last,.rst-content .important>:last-child,.rst-content .note .last,.rst-content .note>:last-child,.rst-content .seealso .last,.rst-content .seealso>:last-child,.rst-content .tip .last,.rst-content .tip>:last-child,.rst-content .warning .last,.rst-content .warning>:last-child{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent!important;border-color:rgba(0,0,0,.1)!important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha>li,.rst-content .toctree-wrapper ol.loweralpha,.rst-content .toctree-wrapper ol.loweralpha>li,.rst-content section ol.loweralpha,.rst-content section ol.loweralpha>li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha>li,.rst-content .toctree-wrapper ol.upperalpha,.rst-content .toctree-wrapper ol.upperalpha>li,.rst-content section ol.upperalpha,.rst-content section ol.upperalpha>li{list-style:upper-alpha}.rst-content .section ol li>*,.rst-content .section ul li>*,.rst-content .toctree-wrapper ol li>*,.rst-content .toctree-wrapper ul li>*,.rst-content section ol li>*,.rst-content section ul li>*{margin-top:12px;margin-bottom:12px}.rst-content .section ol li>:first-child,.rst-content .section ul li>:first-child,.rst-content .toctree-wrapper ol li>:first-child,.rst-content .toctree-wrapper ul li>:first-child,.rst-content section ol li>:first-child,.rst-content section ul li>:first-child{margin-top:0}.rst-content .section ol li>p,.rst-content .section ol li>p:last-child,.rst-content .section ul li>p,.rst-content .section ul li>p:last-child,.rst-content .toctree-wrapper ol li>p,.rst-content .toctree-wrapper ol li>p:last-child,.rst-content .toctree-wrapper ul li>p,.rst-content .toctree-wrapper ul li>p:last-child,.rst-content section ol li>p,.rst-content section ol li>p:last-child,.rst-content section ul li>p,.rst-content section ul li>p:last-child{margin-bottom:12px}.rst-content .section ol li>p:only-child,.rst-content .section ol li>p:only-child:last-child,.rst-content .section ul li>p:only-child,.rst-content .section ul li>p:only-child:last-child,.rst-content .toctree-wrapper ol li>p:only-child,.rst-content .toctree-wrapper ol li>p:only-child:last-child,.rst-content .toctree-wrapper ul li>p:only-child,.rst-content .toctree-wrapper ul li>p:only-child:last-child,.rst-content section ol li>p:only-child,.rst-content section ol li>p:only-child:last-child,.rst-content section ul li>p:only-child,.rst-content section ul li>p:only-child:last-child{margin-bottom:0}.rst-content .section ol li>ol,.rst-content .section ol li>ul,.rst-content .section ul li>ol,.rst-content .section ul li>ul,.rst-content .toctree-wrapper ol li>ol,.rst-content .toctree-wrapper ol li>ul,.rst-content .toctree-wrapper ul li>ol,.rst-content .toctree-wrapper ul li>ul,.rst-content section ol li>ol,.rst-content section ol li>ul,.rst-content section ul li>ol,.rst-content section ul li>ul{margin-bottom:12px}.rst-content .section ol.simple li>*,.rst-content .section ol.simple li ol,.rst-content .section ol.simple li ul,.rst-content .section ul.simple li>*,.rst-content .section ul.simple li ol,.rst-content .section ul.simple li ul,.rst-content .toctree-wrapper ol.simple li>*,.rst-content .toctree-wrapper ol.simple li ol,.rst-content .toctree-wrapper ol.simple li ul,.rst-content .toctree-wrapper ul.simple li>*,.rst-content .toctree-wrapper ul.simple li ol,.rst-content .toctree-wrapper ul.simple li ul,.rst-content section ol.simple li>*,.rst-content section ol.simple li ol,.rst-content section ol.simple li ul,.rst-content section ul.simple li>*,.rst-content section ul.simple li ol,.rst-content section ul.simple li ul{margin-top:0;margin-bottom:0}.rst-content .line-block{margin-left:0;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0}.rst-content .topic-title{font-weight:700;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0 0 24px 24px}.rst-content .align-left{float:left;margin:0 24px 24px 0}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink{opacity:0;font-size:14px;font-family:FontAwesome;margin-left:.5em}.rst-content .code-block-caption .headerlink:focus,.rst-content .code-block-caption:hover .headerlink,.rst-content .eqno .headerlink:focus,.rst-content .eqno:hover .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink:focus,.rst-content .toctree-wrapper>p.caption:hover .headerlink,.rst-content dl dt .headerlink:focus,.rst-content dl dt:hover .headerlink,.rst-content h1 .headerlink:focus,.rst-content h1:hover .headerlink,.rst-content h2 .headerlink:focus,.rst-content h2:hover .headerlink,.rst-content h3 .headerlink:focus,.rst-content h3:hover .headerlink,.rst-content h4 .headerlink:focus,.rst-content h4:hover .headerlink,.rst-content h5 .headerlink:focus,.rst-content h5:hover .headerlink,.rst-content h6 .headerlink:focus,.rst-content h6:hover .headerlink,.rst-content p.caption .headerlink:focus,.rst-content p.caption:hover .headerlink,.rst-content p .headerlink:focus,.rst-content p:hover .headerlink,.rst-content table>caption .headerlink:focus,.rst-content table>caption:hover .headerlink{opacity:1}.rst-content p a{overflow-wrap:anywhere}.rst-content .wy-table td p,.rst-content .wy-table td ul,.rst-content .wy-table th p,.rst-content .wy-table th ul,.rst-content table.docutils td p,.rst-content table.docutils td ul,.rst-content table.docutils th p,.rst-content table.docutils th ul,.rst-content table.field-list td p,.rst-content table.field-list td ul,.rst-content table.field-list th p,.rst-content table.field-list th ul{font-size:inherit}.rst-content .btn:focus{outline:2px solid}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:1px solid #e1e4e5}.rst-content .sidebar dl,.rst-content .sidebar p,.rst-content .sidebar ul{font-size:90%}.rst-content .sidebar .last,.rst-content .sidebar>:last-child{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif;font-weight:700;background:#e1e4e5;padding:6px 12px;margin:-24px -24px 24px;font-size:100%}.rst-content .highlighted{background:#f1c40f;box-shadow:0 0 0 2px #f1c40f;display:inline;font-weight:700}.rst-content .citation-reference,.rst-content .footnote-reference{vertical-align:baseline;position:relative;top:-.4em;line-height:0;font-size:90%}.rst-content .citation-reference>span.fn-bracket,.rst-content .footnote-reference>span.fn-bracket{display:none}.rst-content .hlist{width:100%}.rst-content dl dt span.classifier:before{content:" : "}.rst-content dl dt span.classifier-delimiter{display:none!important}html.writer-html4 .rst-content table.docutils.citation,html.writer-html4 .rst-content table.docutils.footnote{background:none;border:none}html.writer-html4 .rst-content table.docutils.citation td,html.writer-html4 .rst-content table.docutils.citation tr,html.writer-html4 .rst-content table.docutils.footnote td,html.writer-html4 .rst-content table.docutils.footnote tr{border:none;background-color:transparent!important;white-space:normal}html.writer-html4 .rst-content table.docutils.citation td.label,html.writer-html4 .rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{display:grid;grid-template-columns:auto minmax(80%,95%)}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{display:inline-grid;grid-template-columns:max-content auto}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{display:grid;grid-template-columns:auto auto minmax(.65rem,auto) minmax(40%,95%)}html.writer-html5 .rst-content aside.citation>span.label,html.writer-html5 .rst-content aside.footnote>span.label,html.writer-html5 .rst-content div.citation>span.label{grid-column-start:1;grid-column-end:2}html.writer-html5 .rst-content aside.citation>span.backrefs,html.writer-html5 .rst-content aside.footnote>span.backrefs,html.writer-html5 .rst-content div.citation>span.backrefs{grid-column-start:2;grid-column-end:3;grid-row-start:1;grid-row-end:3}html.writer-html5 .rst-content aside.citation>p,html.writer-html5 .rst-content aside.footnote>p,html.writer-html5 .rst-content div.citation>p{grid-column-start:4;grid-column-end:5}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{margin-bottom:24px}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{padding-left:1rem}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dd,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dd,html.writer-html5 .rst-content dl.footnote>dt{margin-bottom:0}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{font-size:.9rem}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.footnote>dt{margin:0 .5rem .5rem 0;line-height:1.2rem;word-break:break-all;font-weight:400}html.writer-html5 .rst-content dl.citation>dt>span.brackets:before,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:before{content:"["}html.writer-html5 .rst-content dl.citation>dt>span.brackets:after,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:after{content:"]"}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a{word-break:keep-all}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a:not(:first-child):before,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.footnote>dd{margin:0 0 .5rem;line-height:1.2rem}html.writer-html5 .rst-content dl.citation>dd p,html.writer-html5 .rst-content dl.footnote>dd p{font-size:.9rem}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{padding-left:1rem;padding-right:1rem;font-size:.9rem;line-height:1.2rem}html.writer-html5 .rst-content aside.citation p,html.writer-html5 .rst-content aside.footnote p,html.writer-html5 .rst-content div.citation p{font-size:.9rem;line-height:1.2rem;margin-bottom:12px}html.writer-html5 .rst-content aside.citation span.backrefs,html.writer-html5 .rst-content aside.footnote span.backrefs,html.writer-html5 .rst-content div.citation span.backrefs{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content aside.citation span.backrefs>a,html.writer-html5 .rst-content aside.footnote span.backrefs>a,html.writer-html5 .rst-content div.citation span.backrefs>a{word-break:keep-all}html.writer-html5 .rst-content aside.citation span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content aside.footnote span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content div.citation span.backrefs>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content aside.citation span.label,html.writer-html5 .rst-content aside.footnote span.label,html.writer-html5 .rst-content div.citation span.label{line-height:1.2rem}html.writer-html5 .rst-content aside.citation-list,html.writer-html5 .rst-content aside.footnote-list,html.writer-html5 .rst-content div.citation-list{margin-bottom:24px}html.writer-html5 .rst-content dl.option-list kbd{font-size:.9rem}.rst-content table.docutils.footnote,html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content aside.footnote-list aside.footnote,html.writer-html5 .rst-content div.citation-list>div.citation,html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{color:grey}.rst-content table.docutils.footnote code,.rst-content table.docutils.footnote tt,html.writer-html4 .rst-content table.docutils.citation code,html.writer-html4 .rst-content table.docutils.citation tt,html.writer-html5 .rst-content aside.footnote-list aside.footnote code,html.writer-html5 .rst-content aside.footnote-list aside.footnote tt,html.writer-html5 .rst-content aside.footnote code,html.writer-html5 .rst-content aside.footnote tt,html.writer-html5 .rst-content div.citation-list>div.citation code,html.writer-html5 .rst-content div.citation-list>div.citation tt,html.writer-html5 .rst-content dl.citation code,html.writer-html5 .rst-content dl.citation tt,html.writer-html5 .rst-content dl.footnote code,html.writer-html5 .rst-content dl.footnote tt{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}html.writer-html5 .rst-content table.docutils th{border:1px solid #e1e4e5}html.writer-html5 .rst-content table.docutils td>p,html.writer-html5 .rst-content table.docutils th>p{line-height:1rem;margin-bottom:0;font-size:.9rem}.rst-content table.docutils td .last,.rst-content table.docutils td .last>:last-child{margin-bottom:0}.rst-content table.field-list,.rst-content table.field-list td{border:none}.rst-content table.field-list td p{line-height:inherit}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content code,.rst-content tt{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;padding:2px 5px}.rst-content code big,.rst-content code em,.rst-content tt big,.rst-content tt em{font-size:100%!important;line-height:normal}.rst-content code.literal,.rst-content tt.literal{color:#e74c3c;white-space:normal}.rst-content code.xref,.rst-content tt.xref,a .rst-content code,a .rst-content tt{font-weight:700;color:#404040;overflow-wrap:normal}.rst-content kbd,.rst-content pre,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace}.rst-content a code,.rst-content a tt{color:#2980b9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:700;margin-bottom:12px}.rst-content dl ol,.rst-content dl p,.rst-content dl table,.rst-content dl ul{margin-bottom:12px}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}.rst-content dl dd>ol:last-child,.rst-content dl dd>p:last-child,.rst-content dl dd>table:last-child,.rst-content dl dd>ul:last-child{margin-bottom:0}html.writer-html4 .rst-content dl:not(.docutils),html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple){margin-bottom:24px}html.writer-html4 .rst-content dl:not(.docutils)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980b9;border-top:3px solid #6ab0de;padding:6px;position:relative}html.writer-html4 .rst-content dl:not(.docutils)>dt:before,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:before{color:#6ab0de}html.writer-html4 .rst-content dl:not(.docutils)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{margin-bottom:6px;border:none;border-left:3px solid #ccc;background:#f0f0f0;color:#555}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils)>dt:first-child,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:first-child{margin-top:0}html.writer-html4 .rst-content dl:not(.docutils) code.descclassname,html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descclassname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{background-color:transparent;border:none;padding:0;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .optional,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .property,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .property{display:inline-block;padding-right:8px;max-width:100%}html.writer-html4 .rst-content dl:not(.docutils) .k,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .k{font-style:italic}html.writer-html4 .rst-content dl:not(.docutils) .descclassname,html.writer-html4 .rst-content dl:not(.docutils) .descname,html.writer-html4 .rst-content dl:not(.docutils) .sig-name,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#000}.rst-content .viewcode-back,.rst-content .viewcode-link{display:inline-block;color:#27ae60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:700}.rst-content code.download,.rst-content tt.download{background:inherit;padding:inherit;font-weight:400;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content code.download span:first-child,.rst-content tt.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{margin-right:4px}.rst-content .guilabel,.rst-content .menuselection{font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content .guilabel,.rst-content .menuselection{border:1px solid #7fbbe3;background:#e7f2fa}.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>.kbd,.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>kbd{color:inherit;font-size:80%;background-color:#fff;border:1px solid #a6a6a6;border-radius:4px;box-shadow:0 2px grey;padding:2.4px 6px;margin:auto 0}.rst-content .versionmodified{font-style:italic}@media screen and (max-width:480px){.rst-content .sidebar{width:100%}}span[id*=MathJax-Span]{color:#404040}.math{text-align:center}@font-face{font-family:Lato;src:url(fonts/lato-normal.woff2?bd03a2cc277bbbc338d464e679fe9942) format("woff2"),url(fonts/lato-normal.woff?27bd77b9162d388cb8d4c4217c7c5e2a) format("woff");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold.woff2?cccb897485813c7c256901dbca54ecf2) format("woff2"),url(fonts/lato-bold.woff?d878b6c29b10beca227e9eef4246111b) format("woff");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold-italic.woff2?0b6bb6725576b072c5d0b02ecdd1900d) format("woff2"),url(fonts/lato-bold-italic.woff?9c7e4e9eb485b4a121c760e61bc3707c) format("woff");font-weight:700;font-style:italic;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-normal-italic.woff2?4eb103b4d12be57cb1d040ed5e162e9d) format("woff2"),url(fonts/lato-normal-italic.woff?f28f2d6482446544ef1ea1ccc6dd5892) format("woff");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(fonts/Roboto-Slab-Regular.woff2?7abf5b8d04d26a2cafea937019bca958) format("woff2"),url(fonts/Roboto-Slab-Regular.woff?c1be9284088d487c5e3ff0a10a92e58c) format("woff");font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(fonts/Roboto-Slab-Bold.woff2?9984f4a9bda09be08e83f2506954adbe) format("woff2"),url(fonts/Roboto-Slab-Bold.woff?bed5564a116b05148e3b3bea6fb1162a) format("woff");font-display:block}
\ No newline at end of file
diff --git a/nightly_8.3/html/_static/css/tutorial.css b/nightly_8.3/html/_static/css/tutorial.css
new file mode 100644
index 00000000000..42330f4c6da
--- /dev/null
+++ b/nightly_8.3/html/_static/css/tutorial.css
@@ -0,0 +1,3 @@
+.admonition.tutorial-ref .admonition-title:before {
+    content: "";
+}
diff --git a/nightly_8.3/html/_static/cylc-favicon.ico b/nightly_8.3/html/_static/cylc-favicon.ico
new file mode 100644
index 00000000000..b225083b917
Binary files /dev/null and b/nightly_8.3/html/_static/cylc-favicon.ico differ
diff --git a/nightly_8.3/html/_static/cylc-logo-white.svg b/nightly_8.3/html/_static/cylc-logo-white.svg
new file mode 100644
index 00000000000..8fc858c401e
--- /dev/null
+++ b/nightly_8.3/html/_static/cylc-logo-white.svg
@@ -0,0 +1,16 @@
+<svg version="1.1" viewBox="0 0 655 260" xmlns="http://www.w3.org/2000/svg">
+ <g transform="translate(292.53 -49.505)">
+  <g>
+   <circle transform="scale(-1,1)" cx="-135.7" cy="248.39" r="27.743" fill="#fff"/>
+   <circle cx="201.05" cy="216.65" r="72.857" fill="#ccc" fill-rule="evenodd"/>
+   <circle cx="167.35" cy="136.32" r="37.379" fill="#eee"/>
+   <circle cx="292.32" cy="121.63" r="49.8" fill="#fff"/>
+   <g fill="#eee">
+    <path d="m-239.15 150.44q5.28 0 17.92 1.92l3.84 0.48-0.48 9.76q-12.8-1.44-18.88-1.44-13.6 0-18.56 6.56-4.8 6.4-4.8 24 0 17.44 4.48 24.32 4.64 6.88 19.04 6.88l18.88-1.44 0.48 9.92q-14.88 2.24-22.24 2.24-18.72 0-25.92-9.6-7.04-9.6-7.04-32.32 0-22.88 7.68-32 7.68-9.28 25.6-9.28z"/>
+    <path d="m-175.59 152.04h12l20 69.6h5.28l20.16-69.6h12l-33.28 115.52h-12l10.4-35.52h-11.84z"/>
+    <path d="m-58.613 232.04v-114.88h12v114.88z"/>
+    <path d="m34.535 150.44q5.28 0 17.92 1.92l3.84 0.48-0.48 9.76q-12.8-1.44-18.88-1.44-13.6 0-18.56 6.56-4.8 6.4-4.8 24 0 17.44 4.48 24.32 4.64 6.88 19.04 6.88l18.88-1.44 0.48 9.92q-14.88 2.24-22.24 2.24-18.72 0-25.92-9.6-7.04-9.6-7.04-32.32 0-22.88 7.68-32 7.68-9.28 25.6-9.28z"/>
+   </g>
+  </g>
+ </g>
+</svg>
diff --git a/nightly_8.3/html/_static/doctools.js b/nightly_8.3/html/_static/doctools.js
new file mode 100644
index 00000000000..d06a71d7518
--- /dev/null
+++ b/nightly_8.3/html/_static/doctools.js
@@ -0,0 +1,156 @@
+/*
+ * doctools.js
+ * ~~~~~~~~~~~
+ *
+ * Base JavaScript utilities for all Sphinx HTML documentation.
+ *
+ * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+"use strict";
+
+const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([
+  "TEXTAREA",
+  "INPUT",
+  "SELECT",
+  "BUTTON",
+]);
+
+const _ready = (callback) => {
+  if (document.readyState !== "loading") {
+    callback();
+  } else {
+    document.addEventListener("DOMContentLoaded", callback);
+  }
+};
+
+/**
+ * Small JavaScript module for the documentation.
+ */
+const Documentation = {
+  init: () => {
+    Documentation.initDomainIndexTable();
+    Documentation.initOnKeyListeners();
+  },
+
+  /**
+   * i18n support
+   */
+  TRANSLATIONS: {},
+  PLURAL_EXPR: (n) => (n === 1 ? 0 : 1),
+  LOCALE: "unknown",
+
+  // gettext and ngettext don't access this so that the functions
+  // can safely bound to a different name (_ = Documentation.gettext)
+  gettext: (string) => {
+    const translated = Documentation.TRANSLATIONS[string];
+    switch (typeof translated) {
+      case "undefined":
+        return string; // no translation
+      case "string":
+        return translated; // translation exists
+      default:
+        return translated[0]; // (singular, plural) translation tuple exists
+    }
+  },
+
+  ngettext: (singular, plural, n) => {
+    const translated = Documentation.TRANSLATIONS[singular];
+    if (typeof translated !== "undefined")
+      return translated[Documentation.PLURAL_EXPR(n)];
+    return n === 1 ? singular : plural;
+  },
+
+  addTranslations: (catalog) => {
+    Object.assign(Documentation.TRANSLATIONS, catalog.messages);
+    Documentation.PLURAL_EXPR = new Function(
+      "n",
+      `return (${catalog.plural_expr})`
+    );
+    Documentation.LOCALE = catalog.locale;
+  },
+
+  /**
+   * helper function to focus on search bar
+   */
+  focusSearchBar: () => {
+    document.querySelectorAll("input[name=q]")[0]?.focus();
+  },
+
+  /**
+   * Initialise the domain index toggle buttons
+   */
+  initDomainIndexTable: () => {
+    const toggler = (el) => {
+      const idNumber = el.id.substr(7);
+      const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`);
+      if (el.src.substr(-9) === "minus.png") {
+        el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`;
+        toggledRows.forEach((el) => (el.style.display = "none"));
+      } else {
+        el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`;
+        toggledRows.forEach((el) => (el.style.display = ""));
+      }
+    };
+
+    const togglerElements = document.querySelectorAll("img.toggler");
+    togglerElements.forEach((el) =>
+      el.addEventListener("click", (event) => toggler(event.currentTarget))
+    );
+    togglerElements.forEach((el) => (el.style.display = ""));
+    if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler);
+  },
+
+  initOnKeyListeners: () => {
+    // only install a listener if it is really needed
+    if (
+      !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS &&
+      !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS
+    )
+      return;
+
+    document.addEventListener("keydown", (event) => {
+      // bail for input elements
+      if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
+      // bail with special keys
+      if (event.altKey || event.ctrlKey || event.metaKey) return;
+
+      if (!event.shiftKey) {
+        switch (event.key) {
+          case "ArrowLeft":
+            if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
+
+            const prevLink = document.querySelector('link[rel="prev"]');
+            if (prevLink && prevLink.href) {
+              window.location.href = prevLink.href;
+              event.preventDefault();
+            }
+            break;
+          case "ArrowRight":
+            if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break;
+
+            const nextLink = document.querySelector('link[rel="next"]');
+            if (nextLink && nextLink.href) {
+              window.location.href = nextLink.href;
+              event.preventDefault();
+            }
+            break;
+        }
+      }
+
+      // some keyboard layouts may need Shift to get /
+      switch (event.key) {
+        case "/":
+          if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break;
+          Documentation.focusSearchBar();
+          event.preventDefault();
+      }
+    });
+  },
+};
+
+// quick alias for translations
+const _ = Documentation.gettext;
+
+_ready(Documentation.init);
diff --git a/nightly_8.3/html/_static/documentation_options.js b/nightly_8.3/html/_static/documentation_options.js
new file mode 100644
index 00000000000..260665d20e2
--- /dev/null
+++ b/nightly_8.3/html/_static/documentation_options.js
@@ -0,0 +1,13 @@
+const DOCUMENTATION_OPTIONS = {
+    VERSION: '8.3.0.dev',
+    LANGUAGE: 'en',
+    COLLAPSE_INDEX: false,
+    BUILDER: 'html',
+    FILE_SUFFIX: '.html',
+    LINK_SUFFIX: '.html',
+    HAS_SOURCE: true,
+    SOURCELINK_SUFFIX: '.txt',
+    NAVIGATION_WITH_KEYS: false,
+    SHOW_SEARCH_SUMMARY: true,
+    ENABLE_SEARCH_SHORTCUTS: true,
+};
\ No newline at end of file
diff --git a/nightly_8.3/html/_static/file.png b/nightly_8.3/html/_static/file.png
new file mode 100644
index 00000000000..a858a410e4f
Binary files /dev/null and b/nightly_8.3/html/_static/file.png differ
diff --git a/nightly_8.3/html/_static/graphviz.css b/nightly_8.3/html/_static/graphviz.css
new file mode 100644
index 00000000000..8d81c02ed99
--- /dev/null
+++ b/nightly_8.3/html/_static/graphviz.css
@@ -0,0 +1,19 @@
+/*
+ * graphviz.css
+ * ~~~~~~~~~~~~
+ *
+ * Sphinx stylesheet -- graphviz extension.
+ *
+ * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+img.graphviz {
+    border: 0;
+    max-width: 100%;
+}
+
+object.graphviz {
+    max-width: 100%;
+}
diff --git a/nightly_8.3/html/_static/jquery.js b/nightly_8.3/html/_static/jquery.js
new file mode 100644
index 00000000000..c4c6022f298
--- /dev/null
+++ b/nightly_8.3/html/_static/jquery.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
diff --git a/nightly_8.3/html/_static/js/addons.js b/nightly_8.3/html/_static/js/addons.js
new file mode 100644
index 00000000000..e9f0e34493d
--- /dev/null
+++ b/nightly_8.3/html/_static/js/addons.js
@@ -0,0 +1,32 @@
+/* ----------------------------------------------------------------------------
+ * THIS FILE IS PART OF THE CYLC WORKFLOW ENGINE.
+ * Copyright (C) NIWA & British Crown (Met Office) & Contributors.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * ------------------------------------------------------------------------- */
+
+/* (2)
+ * Make admonitions linkable. */
+$(document).ready(function() {
+    var id;
+    $('p.admonition-title').each(function(itt, element) {
+        id = 'admonition-' + itt;
+        $(element).attr({'id': id});
+        $(element).append($('<a />')
+            .attr({'href': '#' + id})
+            .addClass('headerlink')
+            .append('¶')
+        );
+    });
+});
diff --git a/nightly_8.3/html/_static/js/badge_only.js b/nightly_8.3/html/_static/js/badge_only.js
new file mode 100644
index 00000000000..526d7234b65
--- /dev/null
+++ b/nightly_8.3/html/_static/js/badge_only.js
@@ -0,0 +1 @@
+!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=4)}({4:function(e,t,r){}});
\ No newline at end of file
diff --git a/nightly_8.3/html/_static/js/diff_selector.js b/nightly_8.3/html/_static/js/diff_selector.js
new file mode 100644
index 00000000000..183d98b6ae1
--- /dev/null
+++ b/nightly_8.3/html/_static/js/diff_selector.js
@@ -0,0 +1,122 @@
+/* ----------------------------------------------------------------------------
+ * THIS FILE IS PART OF THE CYLC WORKFLOW ENGINE.
+ * Copyright (C) NIWA & British Crown (Met Office) & Contributors.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * ------------------------------------------------------------------------- */
+
+/* Return a list of matches for the provided string, see also String.indexOf. */
+String.prototype.indicesOf = function (sub) {
+    var str = String(this);
+    var index = str.indexOf(sub);
+    var count = 0;
+    var ret = [];
+    while (index != -1) {
+        str = str.substr(index + 1);
+        ret.push(index + count);
+        count += index + 1;
+        index = str.indexOf(sub);
+    }
+    return ret;
+}
+
+
+/* Split a text node on the newline character, see also Text.splitText. */
+Text.prototype.splitLines = function () {
+    var indices = $(this).text().indicesOf('\n');
+    if (indices && indices[0] == 0) {
+        // ignore leading new line characters
+        indices.shift();
+    }
+    if (indices.length < 1) {
+        // no line breaks - skip
+        return [];
+    }
+    var node = this;
+    var offset = 0;
+    for (let index of indices) {
+        node = node.splitText(index - offset);
+        offset = index;
+    }
+}
+
+/* Remove the leading (+| ) character from each line of a diff block and
+ * re-insert them with CSS so that they are not included in the copy selection.
+ *
+ * Add the ".noselect" class to lines prefixed (-) to make them disappear from
+ * copied text. */
+$(document).ready(function() {
+    $('div.highlight-diff pre').each(function () {
+        // Unformatted text is represented as text nodes which don't fit into
+        // the DOM in the way regular HTML elements do so we cannot iterate
+        // over .children() but must use childNodes instead.
+        for (let node of this.childNodes) {
+            if (node.nodeName == '#text') {  // "unchanged" line.
+                // Split multi-line text nodes into separate lines so we can
+                // remove the leading whitespace.
+                node.splitLines();
+            } else {
+                text = $(node).html().substr(1);
+                if ($(node).hasClass('gi')) {  // "added" line.
+                    // Remove leading character.
+                    $(node).html($(node).html().substr(1));
+                } else if ($(node).hasClass('gd')) {  // "removed" line.
+                    // Make un-selectable.
+                    $(node).addClass('noselect');
+                }
+            }
+        }
+    });
+
+    // Iterate again to remove the leading whitespace from unchanged lines.
+    var node, text, newnode;
+    $('div.highlight-diff pre').each(function () {
+        node = this.childNodes[0];
+        while (node) {
+            // Skip nodes if they just contain whitespace (including new
+            // line characters).
+            if (node.nodeName == '#text' && $(node).text().trim()) {
+                text = $(node).text();
+                if (text[0] == '\n') {
+                    // Move leading new lines onto the end of the string.
+                    text = text.substr(1);
+                    node = node.splitText(1);
+                }
+                if (text[0] == ' ') {
+                    // Remove leading whitespace, this will be provided via
+                    // CSS.
+                    text = text.substr(1);
+                }
+
+                // Create a new span to represent this text node. Apply the 'gn'
+                // class which will provide leading whitespace.
+                $('<span />')
+                    .append(text)
+                    .addClass('gn')
+                    .insertBefore(node);
+
+                // Move on to the next node and remove the current text node.
+                newnode = node.nextSibling;
+                $(node).remove();
+                node = newnode;
+            } else {
+                // To avoid iterating over any nodes we are adding (infinite loop)
+                // we use node.nextSibling to get the next node and insert any
+                // new nodes before the current one.
+                node = node.nextSibling;
+            }
+        }
+    });
+
+});
diff --git a/nightly_8.3/html/_static/js/html5shiv-printshiv.min.js b/nightly_8.3/html/_static/js/html5shiv-printshiv.min.js
new file mode 100644
index 00000000000..2b43bd062e9
--- /dev/null
+++ b/nightly_8.3/html/_static/js/html5shiv-printshiv.min.js
@@ -0,0 +1,4 @@
+/**
+* @preserve HTML5 Shiv 3.7.3-pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
+*/
+!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document);
\ No newline at end of file
diff --git a/nightly_8.3/html/_static/js/html5shiv.min.js b/nightly_8.3/html/_static/js/html5shiv.min.js
new file mode 100644
index 00000000000..cd1c674f5e3
--- /dev/null
+++ b/nightly_8.3/html/_static/js/html5shiv.min.js
@@ -0,0 +1,4 @@
+/**
+* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
+*/
+!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3-pre",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);
\ No newline at end of file
diff --git a/nightly_8.3/html/_static/js/minicylc.js b/nightly_8.3/html/_static/js/minicylc.js
new file mode 100644
index 00000000000..d6f2fa90ced
--- /dev/null
+++ b/nightly_8.3/html/_static/js/minicylc.js
@@ -0,0 +1,354 @@
+/* ----------------------------------------------------------------------------
+ * THIS FILE IS PART OF THE CYLC WORKFLOW ENGINE.
+ * Copyright (C) NIWA & British Crown (Met Office) & Contributors.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * ------------------------------------------------------------------------- */
+
+/*eslint no-console: off*/
+
+// Default Cylc colour theme.
+var minicylc_default_theme = {
+    'waiting_fill': 'none',
+    'waiting_stroke': 'black',
+    'running_fill': '#55c3e5ff',
+    'running_stroke': 'black',
+    'succeed_fill': '#64c77eff',
+    'succeed_stroke': 'black'
+}
+
+// Old Cylc 7 theme.
+var minicylc_cylc7_theme = {
+    'waiting_fill': 'none',
+    'waiting_stroke': '#88c6ff',
+    'running_fill': '#00c410',
+    'running_stroke': 'black',
+    'succeed_fill': '#ada5a5',
+    'succeed_stroke': 'black'
+}
+
+// Demo colour theme for demmonstrating workflow logic.
+var minicylc_demo_theme = {
+    'succeed_fill': '#aabbff',
+    'succeed_stroke': 'black'
+}
+
+
+class MiniCylc {
+    /**
+     * Class for animating SVG graphs.
+     *
+     * Attributes:
+     *   - nodes: A dictionary of task names against a list of SVG nodes.
+     *   - edges: A dictionary of task edges against a list SVG nodes.
+     *   - dependencies: A dictionary of task names against a list of
+     *     conditional expressions.
+     */
+
+    constructor(div) {
+        /**
+         * Initiate the object.
+         * @param div The <div> element containing the SVG.
+         * */
+        this.div = div;
+        this.load();
+    }
+
+    load() {
+        /**
+         * Obtain nodes and edges from svg.
+         *
+         * This function calls itself recursively until the SVG is loaded.
+         *
+         * This function starts the animation when finished.
+         */
+        const svg = ($(this.div).find('object:first')[0]).contentDocument;
+        const self = this;
+
+        if (!svg) {
+          console.log('Wait for SVG load: Gecko');
+          // this retry loop works for Firefox, etc
+          setTimeout(function() {
+            self.load();
+          }, 500)
+          return;
+        }
+        var eles = $(svg).find('g');
+        if (!eles.length) {
+          console.log('Wait for SVG load: Blink');
+          // this retry loop works for Chrome, etc
+          setTimeout(function() {
+            self.load();
+          }, 500)
+          return;
+        }
+
+        this._find_svg_elements(svg);
+
+        // Parse dependencies.
+        var deps = this._get_dependencies_from_graph(this.div);
+        this._construct_dependency_map(deps);
+
+        // Process colour theme.
+        this.setup_colours($(this.div).data('theme'));
+
+        this.run()
+    }
+
+    setup_colours(theme) {
+        /**
+         * Set the colour theme.
+         * @param theme The name of a colour theme as a string.
+         */
+        if (!theme || theme == 'default') {
+            this.theme = minicylc_default_theme;
+        } else if (theme == 'demo') {
+            this.theme = minicylc_demo_theme;
+        } else if (theme == 'cylc7') {
+            this.theme = minicylc_cylc7_theme;
+        } else {
+            console.log('Warning: Invalid theme detected "' + theme +
+                        '", defaulting to black.');
+            this.theme = {};
+        }
+    }
+
+    _find_svg_elements(svg) {
+        /**
+         * Associate task/dependency names with SVG nodes.
+         *
+         * Associations stored as dictionaries this.nodes and this.edges.
+         * @param svg The <svg> element containing the workflow.
+         */
+        var nodes = {};
+        var edges = {};
+        $(svg).find('g').each(function() {
+            var node = $(this)[0];
+            var node_class = $(node).attr('class');
+            if (node_class == 'node') {
+                nodes[node.textContent.trim().split('\n')[0]] = node;
+            } else if (node_class == 'edge') {
+                edges[node.textContent.trim().split('\n')[0]] = node;
+            }
+        });
+        this.nodes = nodes;
+        this.edges = edges;
+    }
+
+    _get_dependencies_from_graph(div) {
+        /**
+         * Extract, parse and return a list of dependencies.
+         * @param div The minicylc <div> element.
+         * @return A list of [left, right] lists e.g. ['a & b', 'c'].
+         */
+        var deps = [];
+        var ind = 0;
+        var parts;
+        for (let dep of $(div).data('dependencies').split('//')) {
+            parts = dep.split('=>');
+            if (parts.length == 0) {
+                continue;  // Graph line does not contain a dependency => skip.
+            }
+            for(ind = 0; ind < parts.length-1; ind++) {
+                deps.push([parts[ind].trim(), parts[ind + 1].trim()]);  // [left, right].
+            }
+        }
+
+        return deps;
+    }
+
+    _construct_dependency_map(deps) {
+        /**
+         * Associate tasks with conditional expressions.
+         *
+         * Associations stored as a dictionary - this.dependencies.
+         * @param deps A list of dependencies in the form [[left, right], ...].
+         */
+        var condition;
+        var conditional_regex = /[()&]/;
+        var conditional_regex2 = /([()&|])/;
+        var conditional_chars = ['(', ')', '|', '&'];
+        this.dependencies = {};
+        for (let dep of deps) {
+            // Build a javascript parsable conditional statement.
+            condition = [];
+            for (let left of dep[0].split(conditional_regex2)) {
+                left = left.trim();
+                if (left) {
+                    if (!conditional_chars.includes(left)) {
+                        // All dependencies are :succeed by default,
+                        // dependencies are checked using
+                        // this.succeed.has(task).
+                        condition.push('this.succeed.has("' + left + '")');
+                    } else {
+                        // conditional character.
+                        condition.push(left);
+                    }
+                }
+            }
+            condition = condition.join(' ');
+
+            // Associate conditional statements with tasks.
+            for (let right of dep[1].split(conditional_regex)) {
+                right = right.trim();
+                if (!this.dependencies[right]) {
+                    this.dependencies[right] = [];
+                }
+                this.dependencies[right].push(condition);
+            }
+        }
+    }
+
+    evaluate_dependencies(task) {
+        /**
+         * Check if a task's dependencies are satisfied.
+         * @param task The name of the task to evaluate.
+         * @return true if satisfied else false.
+         */
+        var deps = this.dependencies[task];
+        if (!deps) {
+            return true;
+        }
+        for (let dep of deps) {
+            if (eval(dep) == 0) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    _style_node(node, fill, stroke) {
+        /**
+         * Style a graphviz node.
+         * @param fill The fill colour for SVG e.g. 'none', '#aabbcc', 'black'.
+         * @param stroke The stroke colour for SVG.
+         */
+        if (!fill) {
+            fill = 'none';  // Default to an unfilled node.
+        }
+        if (!stroke) {
+            stroke = 'black';  // Default to a black border.
+        }
+        // Style nodes.
+        $($(this.nodes[node]).find('ellipse:first')).attr({
+            'fill': fill,
+            'stroke': stroke
+        });
+    }
+
+    _style() {
+        /**
+         * Refresh the style of graph nodes based on their state.
+         */
+        for (let task of this.waiting) {
+            this._style_node(task,
+                             this.theme['waiting_fill'],
+                             this.theme['waiting_stroke']);
+        }
+        for (let task of this.running) {
+            this._style_node(task,
+                             this.theme['running_fill'],
+                             this.theme['running_stroke']);
+        }
+        for (let task of this.succeed) {
+            this._style_node(task,
+                             this.theme['succeed_fill'],
+                             this.theme['succeed_stroke']);
+        }
+    }
+
+    _init() {
+        /**
+         * Initiate the simulation / animation.
+         */
+        this.waiting = new Set();
+        this.running = new Set();
+        this.succeed = new Set();
+        for (let task in this.nodes) {
+            this.waiting.add(task);
+        }
+        this._style();
+    }
+
+    _advance() {
+        /*
+         * To be called with each main loop.
+         * @return true if the task pool has changed else false.
+         */
+        var changed = false;
+        for (let task of this.running) {
+            this.running.delete(task);
+            this.succeed.add(task);
+            changed = true;
+        }
+        for (let task of this.waiting) {
+            if (this.evaluate_dependencies(task)) {
+                this.waiting.delete(task);
+                this.running.add(task);
+                changed = true;
+            }
+        }
+        return changed;
+    }
+
+    _main_loop(itt) {
+        /*
+         * The main loop - runs the simulation and handles restyling of nodes.
+         * Note function calls itself recursively.
+         */
+        var exit = false;
+
+        // Action.
+        if (this._advance()) {  // Advance the task pool.
+            // If anything has changed restyle.
+            this._style();
+        } else {
+            // If nothing has changed...
+            if (this.waiting.size == 0 && this.running.size == 0) {
+                // The simulation has ended, reset and restart.
+                this._init();
+            } else {
+                // The worklfow stalled, log a console message and do nothing.
+                exit = true;
+                console.log('Workflow stalled :(');
+            }
+        }
+
+        // Callback.
+        if (!exit) {
+            var self_ref = this;
+            setTimeout(function(){
+               self_ref._main_loop(itt + 1);
+            }, 3000);
+        }
+    }
+
+    run() {
+        /*
+         * Run this simulation.
+         */
+        this._init();
+        this._main_loop(0);
+    }
+
+}
+
+
+// Activate minicylc.
+$(document).ready(function() {
+    $('.minicylc').each(function() {
+        var obj = this;
+        new MiniCylc(obj);
+    });
+});
diff --git a/nightly_8.3/html/_static/js/spoiler.js b/nightly_8.3/html/_static/js/spoiler.js
new file mode 100644
index 00000000000..55c3715010d
--- /dev/null
+++ b/nightly_8.3/html/_static/js/spoiler.js
@@ -0,0 +1,67 @@
+/* ----------------------------------------------------------------------------
+ * THIS FILE IS PART OF THE CYLC WORKFLOW ENGINE.
+ * Copyright (C) NIWA & British Crown (Met Office) & Contributors.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * ------------------------------------------------------------------------- */
+
+/* This file implements spoiler sections which are hidden by default. */
+
+// sphinx_admonition_class: bootstrap_button_class
+const sphinx_admonition_classes = {
+    'attention': 'warning',
+    'caution': 'warning',
+    'error': 'danger',
+    'hint': 'success',
+    'important': 'success',
+    'note': 'info',
+    'tip': 'success',
+    'warning': 'warning',
+    'danger': 'danger'
+}
+
+$(document).ready(function() {
+    var button_class;
+    var spoilers = $('.spoiler');
+    for (let spoiler of spoilers) {
+        // Hide content.
+        $(spoiler).children().hide();
+        $(spoiler).find('.admonition-title').show();
+
+        // Determine button class.
+        button_class = 'default';
+        for (let css_class of $(spoiler).attr('class').split(' ')) {
+            if (css_class in sphinx_admonition_classes) {
+                button_class = sphinx_admonition_classes[css_class];
+                break;
+            }
+        }
+
+        // Add button
+        $(spoiler).append(
+            $('<button />')
+                .addClass('btn')
+                .addClass('btn-' + button_class)
+                .addClass('spoiler-show')
+                .append('Show')
+        );
+
+    }
+
+    // On-click un-hide the contents of the admonition and hide the button.
+    $('.spoiler-show').click(function() {
+        $(this).parent().children().show();
+        $(this).hide();
+    });
+});
diff --git a/nightly_8.3/html/_static/js/theme.js b/nightly_8.3/html/_static/js/theme.js
new file mode 100644
index 00000000000..1fddb6ee4a6
--- /dev/null
+++ b/nightly_8.3/html/_static/js/theme.js
@@ -0,0 +1 @@
+!function(n){var e={};function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return n[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=n,t.c=e,t.d=function(n,e,i){t.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:i})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,e){if(1&e&&(n=t(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var i=Object.create(null);if(t.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)t.d(i,o,function(e){return n[e]}.bind(null,o));return i},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},t.p="",t(t.s=0)}([function(n,e,t){t(1),n.exports=t(3)},function(n,e,t){(function(){var e="undefined"!=typeof window?window.jQuery:t(2);n.exports.ThemeNav={navBar:null,win:null,winScroll:!1,winResize:!1,linkScroll:!1,winPosition:0,winHeight:null,docHeight:null,isRunning:!1,enable:function(n){var t=this;void 0===n&&(n=!0),t.isRunning||(t.isRunning=!0,e((function(e){t.init(e),t.reset(),t.win.on("hashchange",t.reset),n&&t.win.on("scroll",(function(){t.linkScroll||t.winScroll||(t.winScroll=!0,requestAnimationFrame((function(){t.onScroll()})))})),t.win.on("resize",(function(){t.winResize||(t.winResize=!0,requestAnimationFrame((function(){t.onResize()})))})),t.onResize()})))},enableSticky:function(){this.enable(!0)},init:function(n){n(document);var e=this;this.navBar=n("div.wy-side-scroll:first"),this.win=n(window),n(document).on("click","[data-toggle='wy-nav-top']",(function(){n("[data-toggle='wy-nav-shift']").toggleClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift")})).on("click",".wy-menu-vertical .current ul li a",(function(){var t=n(this);n("[data-toggle='wy-nav-shift']").removeClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift"),e.toggleCurrent(t),e.hashChange()})).on("click","[data-toggle='rst-current-version']",(function(){n("[data-toggle='rst-versions']").toggleClass("shift-up")})),n("table.docutils:not(.field-list,.footnote,.citation)").wrap("<div class='wy-table-responsive'></div>"),n("table.docutils.footnote").wrap("<div class='wy-table-responsive footnote'></div>"),n("table.docutils.citation").wrap("<div class='wy-table-responsive citation'></div>"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n('<button class="toctree-expand" title="Open/close menu"></button>'),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}if(t.length>0){$(".wy-menu-vertical .current").removeClass("current").attr("aria-expanded","false"),t.addClass("current").attr("aria-expanded","true"),t.closest("li.toctree-l1").parent().addClass("current").attr("aria-expanded","true");for(let n=1;n<=10;n++)t.closest("li.toctree-l"+n).addClass("current").attr("aria-expanded","true");t[0].scrollIntoView()}}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current").attr("aria-expanded","false"),e.siblings().find("li.current").removeClass("current").attr("aria-expanded","false");var t=e.find("> ul li");t.length&&(t.removeClass("current").attr("aria-expanded","false"),e.toggleClass("current").attr("aria-expanded",(function(n,e){return"true"==e?"false":"true"})))}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t<e.length&&!window.requestAnimationFrame;++t)window.requestAnimationFrame=window[e[t]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[t]+"CancelAnimationFrame"]||window[e[t]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e,t){var i=(new Date).getTime(),o=Math.max(0,16-(i-n)),r=window.setTimeout((function(){e(i+o)}),o);return n=i+o,r}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(n){clearTimeout(n)})}()}).call(window)},function(n,e){n.exports=jQuery},function(n,e,t){}]);
\ No newline at end of file
diff --git a/nightly_8.3/html/_static/language_data.js b/nightly_8.3/html/_static/language_data.js
new file mode 100644
index 00000000000..250f5665fa6
--- /dev/null
+++ b/nightly_8.3/html/_static/language_data.js
@@ -0,0 +1,199 @@
+/*
+ * language_data.js
+ * ~~~~~~~~~~~~~~~~
+ *
+ * This script contains the language-specific data used by searchtools.js,
+ * namely the list of stopwords, stemmer, scorer and splitter.
+ *
+ * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+
+var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"];
+
+
+/* Non-minified version is copied as a separate JS file, is available */
+
+/**
+ * Porter Stemmer
+ */
+var Stemmer = function() {
+
+  var step2list = {
+    ational: 'ate',
+    tional: 'tion',
+    enci: 'ence',
+    anci: 'ance',
+    izer: 'ize',
+    bli: 'ble',
+    alli: 'al',
+    entli: 'ent',
+    eli: 'e',
+    ousli: 'ous',
+    ization: 'ize',
+    ation: 'ate',
+    ator: 'ate',
+    alism: 'al',
+    iveness: 'ive',
+    fulness: 'ful',
+    ousness: 'ous',
+    aliti: 'al',
+    iviti: 'ive',
+    biliti: 'ble',
+    logi: 'log'
+  };
+
+  var step3list = {
+    icate: 'ic',
+    ative: '',
+    alize: 'al',
+    iciti: 'ic',
+    ical: 'ic',
+    ful: '',
+    ness: ''
+  };
+
+  var c = "[^aeiou]";          // consonant
+  var v = "[aeiouy]";          // vowel
+  var C = c + "[^aeiouy]*";    // consonant sequence
+  var V = v + "[aeiou]*";      // vowel sequence
+
+  var mgr0 = "^(" + C + ")?" + V + C;                      // [C]VC... is m>0
+  var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$";    // [C]VC[V] is m=1
+  var mgr1 = "^(" + C + ")?" + V + C + V + C;              // [C]VCVC... is m>1
+  var s_v   = "^(" + C + ")?" + v;                         // vowel in stem
+
+  this.stemWord = function (w) {
+    var stem;
+    var suffix;
+    var firstch;
+    var origword = w;
+
+    if (w.length < 3)
+      return w;
+
+    var re;
+    var re2;
+    var re3;
+    var re4;
+
+    firstch = w.substr(0,1);
+    if (firstch == "y")
+      w = firstch.toUpperCase() + w.substr(1);
+
+    // Step 1a
+    re = /^(.+?)(ss|i)es$/;
+    re2 = /^(.+?)([^s])s$/;
+
+    if (re.test(w))
+      w = w.replace(re,"$1$2");
+    else if (re2.test(w))
+      w = w.replace(re2,"$1$2");
+
+    // Step 1b
+    re = /^(.+?)eed$/;
+    re2 = /^(.+?)(ed|ing)$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      re = new RegExp(mgr0);
+      if (re.test(fp[1])) {
+        re = /.$/;
+        w = w.replace(re,"");
+      }
+    }
+    else if (re2.test(w)) {
+      var fp = re2.exec(w);
+      stem = fp[1];
+      re2 = new RegExp(s_v);
+      if (re2.test(stem)) {
+        w = stem;
+        re2 = /(at|bl|iz)$/;
+        re3 = new RegExp("([^aeiouylsz])\\1$");
+        re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+        if (re2.test(w))
+          w = w + "e";
+        else if (re3.test(w)) {
+          re = /.$/;
+          w = w.replace(re,"");
+        }
+        else if (re4.test(w))
+          w = w + "e";
+      }
+    }
+
+    // Step 1c
+    re = /^(.+?)y$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      stem = fp[1];
+      re = new RegExp(s_v);
+      if (re.test(stem))
+        w = stem + "i";
+    }
+
+    // Step 2
+    re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      stem = fp[1];
+      suffix = fp[2];
+      re = new RegExp(mgr0);
+      if (re.test(stem))
+        w = stem + step2list[suffix];
+    }
+
+    // Step 3
+    re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      stem = fp[1];
+      suffix = fp[2];
+      re = new RegExp(mgr0);
+      if (re.test(stem))
+        w = stem + step3list[suffix];
+    }
+
+    // Step 4
+    re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
+    re2 = /^(.+?)(s|t)(ion)$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      stem = fp[1];
+      re = new RegExp(mgr1);
+      if (re.test(stem))
+        w = stem;
+    }
+    else if (re2.test(w)) {
+      var fp = re2.exec(w);
+      stem = fp[1] + fp[2];
+      re2 = new RegExp(mgr1);
+      if (re2.test(stem))
+        w = stem;
+    }
+
+    // Step 5
+    re = /^(.+?)e$/;
+    if (re.test(w)) {
+      var fp = re.exec(w);
+      stem = fp[1];
+      re = new RegExp(mgr1);
+      re2 = new RegExp(meq1);
+      re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+      if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
+        w = stem;
+    }
+    re = /ll$/;
+    re2 = new RegExp(mgr1);
+    if (re.test(w) && re2.test(w)) {
+      re = /.$/;
+      w = w.replace(re,"");
+    }
+
+    // and turn initial Y back to y
+    if (firstch == "y")
+      w = firstch.toLowerCase() + w.substr(1);
+    return w;
+  }
+}
+
diff --git a/nightly_8.3/html/_static/minus.png b/nightly_8.3/html/_static/minus.png
new file mode 100644
index 00000000000..d96755fdaf8
Binary files /dev/null and b/nightly_8.3/html/_static/minus.png differ
diff --git a/nightly_8.3/html/_static/plus.png b/nightly_8.3/html/_static/plus.png
new file mode 100644
index 00000000000..7107cec93a9
Binary files /dev/null and b/nightly_8.3/html/_static/plus.png differ
diff --git a/nightly_8.3/html/_static/pygments.css b/nightly_8.3/html/_static/pygments.css
new file mode 100644
index 00000000000..650b5270075
--- /dev/null
+++ b/nightly_8.3/html/_static/pygments.css
@@ -0,0 +1,72 @@
+pre { line-height: 125%; }
+td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #ffffff; }
+.highlight .c { color: #aaaaaa; font-style: italic } /* Comment */
+.highlight .err { color: #FF0000; background-color: #FFAAAA } /* Error */
+.highlight .k { color: #0000aa } /* Keyword */
+.highlight .ch { color: #aaaaaa; font-style: italic } /* Comment.Hashbang */
+.highlight .cm { color: #aaaaaa; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #4c8317 } /* Comment.Preproc */
+.highlight .cpf { color: #aaaaaa; font-style: italic } /* Comment.PreprocFile */
+.highlight .c1 { color: #aaaaaa; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #0000aa; font-style: italic } /* Comment.Special */
+.highlight .gd { color: #aa0000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+.highlight .gr { color: #aa0000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #00aa00 } /* Generic.Inserted */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #555555 } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #aa0000 } /* Generic.Traceback */
+.highlight .kc { color: #0000aa } /* Keyword.Constant */
+.highlight .kd { color: #0000aa } /* Keyword.Declaration */
+.highlight .kn { color: #0000aa } /* Keyword.Namespace */
+.highlight .kp { color: #0000aa } /* Keyword.Pseudo */
+.highlight .kr { color: #0000aa } /* Keyword.Reserved */
+.highlight .kt { color: #00aaaa } /* Keyword.Type */
+.highlight .m { color: #009999 } /* Literal.Number */
+.highlight .s { color: #aa5500 } /* Literal.String */
+.highlight .na { color: #1e90ff } /* Name.Attribute */
+.highlight .nb { color: #00aaaa } /* Name.Builtin */
+.highlight .nc { color: #00aa00; text-decoration: underline } /* Name.Class */
+.highlight .no { color: #aa0000 } /* Name.Constant */
+.highlight .nd { color: #888888 } /* Name.Decorator */
+.highlight .ni { color: #880000; font-weight: bold } /* Name.Entity */
+.highlight .nf { color: #00aa00 } /* Name.Function */
+.highlight .nn { color: #00aaaa; text-decoration: underline } /* Name.Namespace */
+.highlight .nt { color: #1e90ff; font-weight: bold } /* Name.Tag */
+.highlight .nv { color: #aa0000 } /* Name.Variable */
+.highlight .ow { color: #0000aa } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mb { color: #009999 } /* Literal.Number.Bin */
+.highlight .mf { color: #009999 } /* Literal.Number.Float */
+.highlight .mh { color: #009999 } /* Literal.Number.Hex */
+.highlight .mi { color: #009999 } /* Literal.Number.Integer */
+.highlight .mo { color: #009999 } /* Literal.Number.Oct */
+.highlight .sa { color: #aa5500 } /* Literal.String.Affix */
+.highlight .sb { color: #aa5500 } /* Literal.String.Backtick */
+.highlight .sc { color: #aa5500 } /* Literal.String.Char */
+.highlight .dl { color: #aa5500 } /* Literal.String.Delimiter */
+.highlight .sd { color: #aa5500 } /* Literal.String.Doc */
+.highlight .s2 { color: #aa5500 } /* Literal.String.Double */
+.highlight .se { color: #aa5500 } /* Literal.String.Escape */
+.highlight .sh { color: #aa5500 } /* Literal.String.Heredoc */
+.highlight .si { color: #aa5500 } /* Literal.String.Interpol */
+.highlight .sx { color: #aa5500 } /* Literal.String.Other */
+.highlight .sr { color: #009999 } /* Literal.String.Regex */
+.highlight .s1 { color: #aa5500 } /* Literal.String.Single */
+.highlight .ss { color: #0000aa } /* Literal.String.Symbol */
+.highlight .bp { color: #00aaaa } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #00aa00 } /* Name.Function.Magic */
+.highlight .vc { color: #aa0000 } /* Name.Variable.Class */
+.highlight .vg { color: #aa0000 } /* Name.Variable.Global */
+.highlight .vi { color: #aa0000 } /* Name.Variable.Instance */
+.highlight .vm { color: #aa0000 } /* Name.Variable.Magic */
+.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
\ No newline at end of file
diff --git a/nightly_8.3/html/_static/searchtools.js b/nightly_8.3/html/_static/searchtools.js
new file mode 100644
index 00000000000..7918c3fab31
--- /dev/null
+++ b/nightly_8.3/html/_static/searchtools.js
@@ -0,0 +1,574 @@
+/*
+ * searchtools.js
+ * ~~~~~~~~~~~~~~~~
+ *
+ * Sphinx JavaScript utilities for the full-text search.
+ *
+ * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS.
+ * :license: BSD, see LICENSE for details.
+ *
+ */
+"use strict";
+
+/**
+ * Simple result scoring code.
+ */
+if (typeof Scorer === "undefined") {
+  var Scorer = {
+    // Implement the following function to further tweak the score for each result
+    // The function takes a result array [docname, title, anchor, descr, score, filename]
+    // and returns the new score.
+    /*
+    score: result => {
+      const [docname, title, anchor, descr, score, filename] = result
+      return score
+    },
+    */
+
+    // query matches the full name of an object
+    objNameMatch: 11,
+    // or matches in the last dotted part of the object name
+    objPartialMatch: 6,
+    // Additive scores depending on the priority of the object
+    objPrio: {
+      0: 15, // used to be importantResults
+      1: 5, // used to be objectResults
+      2: -5, // used to be unimportantResults
+    },
+    //  Used when the priority is not in the mapping.
+    objPrioDefault: 0,
+
+    // query found in title
+    title: 15,
+    partialTitle: 7,
+    // query found in terms
+    term: 5,
+    partialTerm: 2,
+  };
+}
+
+const _removeChildren = (element) => {
+  while (element && element.lastChild) element.removeChild(element.lastChild);
+};
+
+/**
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
+ */
+const _escapeRegExp = (string) =>
+  string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
+
+const _displayItem = (item, searchTerms, highlightTerms) => {
+  const docBuilder = DOCUMENTATION_OPTIONS.BUILDER;
+  const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX;
+  const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX;
+  const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY;
+  const contentRoot = document.documentElement.dataset.content_root;
+
+  const [docName, title, anchor, descr, score, _filename] = item;
+
+  let listItem = document.createElement("li");
+  let requestUrl;
+  let linkUrl;
+  if (docBuilder === "dirhtml") {
+    // dirhtml builder
+    let dirname = docName + "/";
+    if (dirname.match(/\/index\/$/))
+      dirname = dirname.substring(0, dirname.length - 6);
+    else if (dirname === "index/") dirname = "";
+    requestUrl = contentRoot + dirname;
+    linkUrl = requestUrl;
+  } else {
+    // normal html builders
+    requestUrl = contentRoot + docName + docFileSuffix;
+    linkUrl = docName + docLinkSuffix;
+  }
+  let linkEl = listItem.appendChild(document.createElement("a"));
+  linkEl.href = linkUrl + anchor;
+  linkEl.dataset.score = score;
+  linkEl.innerHTML = title;
+  if (descr) {
+    listItem.appendChild(document.createElement("span")).innerHTML =
+      " (" + descr + ")";
+    // highlight search terms in the description
+    if (SPHINX_HIGHLIGHT_ENABLED)  // set in sphinx_highlight.js
+      highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
+  }
+  else if (showSearchSummary)
+    fetch(requestUrl)
+      .then((responseData) => responseData.text())
+      .then((data) => {
+        if (data)
+          listItem.appendChild(
+            Search.makeSearchSummary(data, searchTerms)
+          );
+        // highlight search terms in the summary
+        if (SPHINX_HIGHLIGHT_ENABLED)  // set in sphinx_highlight.js
+          highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
+      });
+  Search.output.appendChild(listItem);
+};
+const _finishSearch = (resultCount) => {
+  Search.stopPulse();
+  Search.title.innerText = _("Search Results");
+  if (!resultCount)
+    Search.status.innerText = Documentation.gettext(
+      "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories."
+    );
+  else
+    Search.status.innerText = _(
+      `Search finished, found ${resultCount} page(s) matching the search query.`
+    );
+};
+const _displayNextItem = (
+  results,
+  resultCount,
+  searchTerms,
+  highlightTerms,
+) => {
+  // results left, load the summary and display it
+  // this is intended to be dynamic (don't sub resultsCount)
+  if (results.length) {
+    _displayItem(results.pop(), searchTerms, highlightTerms);
+    setTimeout(
+      () => _displayNextItem(results, resultCount, searchTerms, highlightTerms),
+      5
+    );
+  }
+  // search finished, update title and status message
+  else _finishSearch(resultCount);
+};
+
+/**
+ * Default splitQuery function. Can be overridden in ``sphinx.search`` with a
+ * custom function per language.
+ *
+ * The regular expression works by splitting the string on consecutive characters
+ * that are not Unicode letters, numbers, underscores, or emoji characters.
+ * This is the same as ``\W+`` in Python, preserving the surrogate pair area.
+ */
+if (typeof splitQuery === "undefined") {
+  var splitQuery = (query) => query
+      .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu)
+      .filter(term => term)  // remove remaining empty strings
+}
+
+/**
+ * Search Module
+ */
+const Search = {
+  _index: null,
+  _queued_query: null,
+  _pulse_status: -1,
+
+  htmlToText: (htmlString) => {
+    const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html');
+    htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() });
+    const docContent = htmlElement.querySelector('[role="main"]');
+    if (docContent !== undefined) return docContent.textContent;
+    console.warn(
+      "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template."
+    );
+    return "";
+  },
+
+  init: () => {
+    const query = new URLSearchParams(window.location.search).get("q");
+    document
+      .querySelectorAll('input[name="q"]')
+      .forEach((el) => (el.value = query));
+    if (query) Search.performSearch(query);
+  },
+
+  loadIndex: (url) =>
+    (document.body.appendChild(document.createElement("script")).src = url),
+
+  setIndex: (index) => {
+    Search._index = index;
+    if (Search._queued_query !== null) {
+      const query = Search._queued_query;
+      Search._queued_query = null;
+      Search.query(query);
+    }
+  },
+
+  hasIndex: () => Search._index !== null,
+
+  deferQuery: (query) => (Search._queued_query = query),
+
+  stopPulse: () => (Search._pulse_status = -1),
+
+  startPulse: () => {
+    if (Search._pulse_status >= 0) return;
+
+    const pulse = () => {
+      Search._pulse_status = (Search._pulse_status + 1) % 4;
+      Search.dots.innerText = ".".repeat(Search._pulse_status);
+      if (Search._pulse_status >= 0) window.setTimeout(pulse, 500);
+    };
+    pulse();
+  },
+
+  /**
+   * perform a search for something (or wait until index is loaded)
+   */
+  performSearch: (query) => {
+    // create the required interface elements
+    const searchText = document.createElement("h2");
+    searchText.textContent = _("Searching");
+    const searchSummary = document.createElement("p");
+    searchSummary.classList.add("search-summary");
+    searchSummary.innerText = "";
+    const searchList = document.createElement("ul");
+    searchList.classList.add("search");
+
+    const out = document.getElementById("search-results");
+    Search.title = out.appendChild(searchText);
+    Search.dots = Search.title.appendChild(document.createElement("span"));
+    Search.status = out.appendChild(searchSummary);
+    Search.output = out.appendChild(searchList);
+
+    const searchProgress = document.getElementById("search-progress");
+    // Some themes don't use the search progress node
+    if (searchProgress) {
+      searchProgress.innerText = _("Preparing search...");
+    }
+    Search.startPulse();
+
+    // index already loaded, the browser was quick!
+    if (Search.hasIndex()) Search.query(query);
+    else Search.deferQuery(query);
+  },
+
+  /**
+   * execute search (requires search index to be loaded)
+   */
+  query: (query) => {
+    const filenames = Search._index.filenames;
+    const docNames = Search._index.docnames;
+    const titles = Search._index.titles;
+    const allTitles = Search._index.alltitles;
+    const indexEntries = Search._index.indexentries;
+
+    // stem the search terms and add them to the correct list
+    const stemmer = new Stemmer();
+    const searchTerms = new Set();
+    const excludedTerms = new Set();
+    const highlightTerms = new Set();
+    const objectTerms = new Set(splitQuery(query.toLowerCase().trim()));
+    splitQuery(query.trim()).forEach((queryTerm) => {
+      const queryTermLower = queryTerm.toLowerCase();
+
+      // maybe skip this "word"
+      // stopwords array is from language_data.js
+      if (
+        stopwords.indexOf(queryTermLower) !== -1 ||
+        queryTerm.match(/^\d+$/)
+      )
+        return;
+
+      // stem the word
+      let word = stemmer.stemWord(queryTermLower);
+      // select the correct list
+      if (word[0] === "-") excludedTerms.add(word.substr(1));
+      else {
+        searchTerms.add(word);
+        highlightTerms.add(queryTermLower);
+      }
+    });
+
+    if (SPHINX_HIGHLIGHT_ENABLED) {  // set in sphinx_highlight.js
+      localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" "))
+    }
+
+    // console.debug("SEARCH: searching for:");
+    // console.info("required: ", [...searchTerms]);
+    // console.info("excluded: ", [...excludedTerms]);
+
+    // array of [docname, title, anchor, descr, score, filename]
+    let results = [];
+    _removeChildren(document.getElementById("search-progress"));
+
+    const queryLower = query.toLowerCase();
+    for (const [title, foundTitles] of Object.entries(allTitles)) {
+      if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) {
+        for (const [file, id] of foundTitles) {
+          let score = Math.round(100 * queryLower.length / title.length)
+          results.push([
+            docNames[file],
+            titles[file] !== title ? `${titles[file]} > ${title}` : title,
+            id !== null ? "#" + id : "",
+            null,
+            score,
+            filenames[file],
+          ]);
+        }
+      }
+    }
+
+    // search for explicit entries in index directives
+    for (const [entry, foundEntries] of Object.entries(indexEntries)) {
+      if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) {
+        for (const [file, id] of foundEntries) {
+          let score = Math.round(100 * queryLower.length / entry.length)
+          results.push([
+            docNames[file],
+            titles[file],
+            id ? "#" + id : "",
+            null,
+            score,
+            filenames[file],
+          ]);
+        }
+      }
+    }
+
+    // lookup as object
+    objectTerms.forEach((term) =>
+      results.push(...Search.performObjectSearch(term, objectTerms))
+    );
+
+    // lookup as search terms in fulltext
+    results.push(...Search.performTermsSearch(searchTerms, excludedTerms));
+
+    // let the scorer override scores with a custom scoring function
+    if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item)));
+
+    // now sort the results by score (in opposite order of appearance, since the
+    // display function below uses pop() to retrieve items) and then
+    // alphabetically
+    results.sort((a, b) => {
+      const leftScore = a[4];
+      const rightScore = b[4];
+      if (leftScore === rightScore) {
+        // same score: sort alphabetically
+        const leftTitle = a[1].toLowerCase();
+        const rightTitle = b[1].toLowerCase();
+        if (leftTitle === rightTitle) return 0;
+        return leftTitle > rightTitle ? -1 : 1; // inverted is intentional
+      }
+      return leftScore > rightScore ? 1 : -1;
+    });
+
+    // remove duplicate search results
+    // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept
+    let seen = new Set();
+    results = results.reverse().reduce((acc, result) => {
+      let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(',');
+      if (!seen.has(resultStr)) {
+        acc.push(result);
+        seen.add(resultStr);
+      }
+      return acc;
+    }, []);
+
+    results = results.reverse();
+
+    // for debugging
+    //Search.lastresults = results.slice();  // a copy
+    // console.info("search results:", Search.lastresults);
+
+    // print the results
+    _displayNextItem(results, results.length, searchTerms, highlightTerms);
+  },
+
+  /**
+   * search for object names
+   */
+  performObjectSearch: (object, objectTerms) => {
+    const filenames = Search._index.filenames;
+    const docNames = Search._index.docnames;
+    const objects = Search._index.objects;
+    const objNames = Search._index.objnames;
+    const titles = Search._index.titles;
+
+    const results = [];
+
+    const objectSearchCallback = (prefix, match) => {
+      const name = match[4]
+      const fullname = (prefix ? prefix + "." : "") + name;
+      const fullnameLower = fullname.toLowerCase();
+      if (fullnameLower.indexOf(object) < 0) return;
+
+      let score = 0;
+      const parts = fullnameLower.split(".");
+
+      // check for different match types: exact matches of full name or
+      // "last name" (i.e. last dotted part)
+      if (fullnameLower === object || parts.slice(-1)[0] === object)
+        score += Scorer.objNameMatch;
+      else if (parts.slice(-1)[0].indexOf(object) > -1)
+        score += Scorer.objPartialMatch; // matches in last name
+
+      const objName = objNames[match[1]][2];
+      const title = titles[match[0]];
+
+      // If more than one term searched for, we require other words to be
+      // found in the name/title/description
+      const otherTerms = new Set(objectTerms);
+      otherTerms.delete(object);
+      if (otherTerms.size > 0) {
+        const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase();
+        if (
+          [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0)
+        )
+          return;
+      }
+
+      let anchor = match[3];
+      if (anchor === "") anchor = fullname;
+      else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname;
+
+      const descr = objName + _(", in ") + title;
+
+      // add custom score for some objects according to scorer
+      if (Scorer.objPrio.hasOwnProperty(match[2]))
+        score += Scorer.objPrio[match[2]];
+      else score += Scorer.objPrioDefault;
+
+      results.push([
+        docNames[match[0]],
+        fullname,
+        "#" + anchor,
+        descr,
+        score,
+        filenames[match[0]],
+      ]);
+    };
+    Object.keys(objects).forEach((prefix) =>
+      objects[prefix].forEach((array) =>
+        objectSearchCallback(prefix, array)
+      )
+    );
+    return results;
+  },
+
+  /**
+   * search for full-text terms in the index
+   */
+  performTermsSearch: (searchTerms, excludedTerms) => {
+    // prepare search
+    const terms = Search._index.terms;
+    const titleTerms = Search._index.titleterms;
+    const filenames = Search._index.filenames;
+    const docNames = Search._index.docnames;
+    const titles = Search._index.titles;
+
+    const scoreMap = new Map();
+    const fileMap = new Map();
+
+    // perform the search on the required terms
+    searchTerms.forEach((word) => {
+      const files = [];
+      const arr = [
+        { files: terms[word], score: Scorer.term },
+        { files: titleTerms[word], score: Scorer.title },
+      ];
+      // add support for partial matches
+      if (word.length > 2) {
+        const escapedWord = _escapeRegExp(word);
+        Object.keys(terms).forEach((term) => {
+          if (term.match(escapedWord) && !terms[word])
+            arr.push({ files: terms[term], score: Scorer.partialTerm });
+        });
+        Object.keys(titleTerms).forEach((term) => {
+          if (term.match(escapedWord) && !titleTerms[word])
+            arr.push({ files: titleTerms[word], score: Scorer.partialTitle });
+        });
+      }
+
+      // no match but word was a required one
+      if (arr.every((record) => record.files === undefined)) return;
+
+      // found search word in contents
+      arr.forEach((record) => {
+        if (record.files === undefined) return;
+
+        let recordFiles = record.files;
+        if (recordFiles.length === undefined) recordFiles = [recordFiles];
+        files.push(...recordFiles);
+
+        // set score for the word in each file
+        recordFiles.forEach((file) => {
+          if (!scoreMap.has(file)) scoreMap.set(file, {});
+          scoreMap.get(file)[word] = record.score;
+        });
+      });
+
+      // create the mapping
+      files.forEach((file) => {
+        if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1)
+          fileMap.get(file).push(word);
+        else fileMap.set(file, [word]);
+      });
+    });
+
+    // now check if the files don't contain excluded terms
+    const results = [];
+    for (const [file, wordList] of fileMap) {
+      // check if all requirements are matched
+
+      // as search terms with length < 3 are discarded
+      const filteredTermCount = [...searchTerms].filter(
+        (term) => term.length > 2
+      ).length;
+      if (
+        wordList.length !== searchTerms.size &&
+        wordList.length !== filteredTermCount
+      )
+        continue;
+
+      // ensure that none of the excluded terms is in the search result
+      if (
+        [...excludedTerms].some(
+          (term) =>
+            terms[term] === file ||
+            titleTerms[term] === file ||
+            (terms[term] || []).includes(file) ||
+            (titleTerms[term] || []).includes(file)
+        )
+      )
+        break;
+
+      // select one (max) score for the file.
+      const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w]));
+      // add result to the result list
+      results.push([
+        docNames[file],
+        titles[file],
+        "",
+        null,
+        score,
+        filenames[file],
+      ]);
+    }
+    return results;
+  },
+
+  /**
+   * helper function to return a node containing the
+   * search summary for a given text. keywords is a list
+   * of stemmed words.
+   */
+  makeSearchSummary: (htmlText, keywords) => {
+    const text = Search.htmlToText(htmlText);
+    if (text === "") return null;
+
+    const textLower = text.toLowerCase();
+    const actualStartPosition = [...keywords]
+      .map((k) => textLower.indexOf(k.toLowerCase()))
+      .filter((i) => i > -1)
+      .slice(-1)[0];
+    const startWithContext = Math.max(actualStartPosition - 120, 0);
+
+    const top = startWithContext === 0 ? "" : "...";
+    const tail = startWithContext + 240 < text.length ? "..." : "";
+
+    let summary = document.createElement("p");
+    summary.classList.add("context");
+    summary.textContent = top + text.substr(startWithContext, 240).trim() + tail;
+
+    return summary;
+  },
+};
+
+_ready(Search.init);
diff --git a/nightly_8.3/html/_static/sphinx_highlight.js b/nightly_8.3/html/_static/sphinx_highlight.js
new file mode 100644
index 00000000000..8a96c69a194
--- /dev/null
+++ b/nightly_8.3/html/_static/sphinx_highlight.js
@@ -0,0 +1,154 @@
+/* Highlighting utilities for Sphinx HTML documentation. */
+"use strict";
+
+const SPHINX_HIGHLIGHT_ENABLED = true
+
+/**
+ * highlight a given string on a node by wrapping it in
+ * span elements with the given class name.
+ */
+const _highlight = (node, addItems, text, className) => {
+  if (node.nodeType === Node.TEXT_NODE) {
+    const val = node.nodeValue;
+    const parent = node.parentNode;
+    const pos = val.toLowerCase().indexOf(text);
+    if (
+      pos >= 0 &&
+      !parent.classList.contains(className) &&
+      !parent.classList.contains("nohighlight")
+    ) {
+      let span;
+
+      const closestNode = parent.closest("body, svg, foreignObject");
+      const isInSVG = closestNode && closestNode.matches("svg");
+      if (isInSVG) {
+        span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+      } else {
+        span = document.createElement("span");
+        span.classList.add(className);
+      }
+
+      span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+      const rest = document.createTextNode(val.substr(pos + text.length));
+      parent.insertBefore(
+        span,
+        parent.insertBefore(
+          rest,
+          node.nextSibling
+        )
+      );
+      node.nodeValue = val.substr(0, pos);
+      /* There may be more occurrences of search term in this node. So call this
+       * function recursively on the remaining fragment.
+       */
+      _highlight(rest, addItems, text, className);
+
+      if (isInSVG) {
+        const rect = document.createElementNS(
+          "http://www.w3.org/2000/svg",
+          "rect"
+        );
+        const bbox = parent.getBBox();
+        rect.x.baseVal.value = bbox.x;
+        rect.y.baseVal.value = bbox.y;
+        rect.width.baseVal.value = bbox.width;
+        rect.height.baseVal.value = bbox.height;
+        rect.setAttribute("class", className);
+        addItems.push({ parent: parent, target: rect });
+      }
+    }
+  } else if (node.matches && !node.matches("button, select, textarea")) {
+    node.childNodes.forEach((el) => _highlight(el, addItems, text, className));
+  }
+};
+const _highlightText = (thisNode, text, className) => {
+  let addItems = [];
+  _highlight(thisNode, addItems, text, className);
+  addItems.forEach((obj) =>
+    obj.parent.insertAdjacentElement("beforebegin", obj.target)
+  );
+};
+
+/**
+ * Small JavaScript module for the documentation.
+ */
+const SphinxHighlight = {
+
+  /**
+   * highlight the search words provided in localstorage in the text
+   */
+  highlightSearchWords: () => {
+    if (!SPHINX_HIGHLIGHT_ENABLED) return;  // bail if no highlight
+
+    // get and clear terms from localstorage
+    const url = new URL(window.location);
+    const highlight =
+        localStorage.getItem("sphinx_highlight_terms")
+        || url.searchParams.get("highlight")
+        || "";
+    localStorage.removeItem("sphinx_highlight_terms")
+    url.searchParams.delete("highlight");
+    window.history.replaceState({}, "", url);
+
+    // get individual terms from highlight string
+    const terms = highlight.toLowerCase().split(/\s+/).filter(x => x);
+    if (terms.length === 0) return; // nothing to do
+
+    // There should never be more than one element matching "div.body"
+    const divBody = document.querySelectorAll("div.body");
+    const body = divBody.length ? divBody[0] : document.querySelector("body");
+    window.setTimeout(() => {
+      terms.forEach((term) => _highlightText(body, term, "highlighted"));
+    }, 10);
+
+    const searchBox = document.getElementById("searchbox");
+    if (searchBox === null) return;
+    searchBox.appendChild(
+      document
+        .createRange()
+        .createContextualFragment(
+          '<p class="highlight-link">' +
+            '<a href="javascript:SphinxHighlight.hideSearchWords()">' +
+            _("Hide Search Matches") +
+            "</a></p>"
+        )
+    );
+  },
+
+  /**
+   * helper function to hide the search marks again
+   */
+  hideSearchWords: () => {
+    document
+      .querySelectorAll("#searchbox .highlight-link")
+      .forEach((el) => el.remove());
+    document
+      .querySelectorAll("span.highlighted")
+      .forEach((el) => el.classList.remove("highlighted"));
+    localStorage.removeItem("sphinx_highlight_terms")
+  },
+
+  initEscapeListener: () => {
+    // only install a listener if it is really needed
+    if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return;
+
+    document.addEventListener("keydown", (event) => {
+      // bail for input elements
+      if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
+      // bail with special keys
+      if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return;
+      if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) {
+        SphinxHighlight.hideSearchWords();
+        event.preventDefault();
+      }
+    });
+  },
+};
+
+_ready(() => {
+  /* Do not call highlightSearchWords() when we are on the search page.
+   * It will highlight words from the *previous* search query.
+   */
+  if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords();
+  SphinxHighlight.initEscapeListener();
+});
diff --git a/nightly_8.3/html/genindex.html b/nightly_8.3/html/genindex.html
new file mode 100644
index 00000000000..c3ad6afa9da
--- /dev/null
+++ b/nightly_8.3/html/genindex.html
@@ -0,0 +1,1009 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="./">
+<head>
+  <meta charset="utf-8" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Index &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="_static/jquery.js?v=5d32c60e"></script>
+        <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="_static/doctools.js?v=888ff710"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="_static/js/spoiler.js?v=12631137"></script>
+        <script src="_static/js/addons.js?v=39bd7dee"></script>
+    <script src="_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="#" />
+    <link rel="search" title="Search" href="search.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="index.html">
+            
+              <img src="_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">Index</li>
+      <li class="wy-breadcrumbs-aside">
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+
+<h1 id="index">Index</h1>
+
+<div class="genindex-jumpbox">
+ <a href="#A"><strong>A</strong></a>
+ | <a href="#B"><strong>B</strong></a>
+ | <a href="#C"><strong>C</strong></a>
+ | <a href="#D"><strong>D</strong></a>
+ | <a href="#E"><strong>E</strong></a>
+ | <a href="#F"><strong>F</strong></a>
+ | <a href="#G"><strong>G</strong></a>
+ | <a href="#H"><strong>H</strong></a>
+ | <a href="#I"><strong>I</strong></a>
+ | <a href="#J"><strong>J</strong></a>
+ | <a href="#K"><strong>K</strong></a>
+ | <a href="#L"><strong>L</strong></a>
+ | <a href="#M"><strong>M</strong></a>
+ | <a href="#N"><strong>N</strong></a>
+ | <a href="#O"><strong>O</strong></a>
+ | <a href="#P"><strong>P</strong></a>
+ | <a href="#Q"><strong>Q</strong></a>
+ | <a href="#R"><strong>R</strong></a>
+ | <a href="#S"><strong>S</strong></a>
+ | <a href="#T"><strong>T</strong></a>
+ | <a href="#U"><strong>U</strong></a>
+ | <a href="#V"><strong>V</strong></a>
+ | <a href="#W"><strong>W</strong></a>
+ | <a href="#X"><strong>X</strong></a>
+ 
+</div>
+<h2 id="A">A</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-active"><strong>active</strong></a>
+</li>
+      <li><a href="glossary.html#term-active-task"><strong>active task</strong></a>
+</li>
+      <li><a href="glossary.html#term-active-task-pool"><strong>active task pool</strong></a>
+</li>
+      <li><a href="glossary.html#term-active-window"><strong>active window</strong></a>
+</li>
+      <li><a href="glossary.html#term-active-waiting"><strong>active-waiting</strong></a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-active-waiting-task"><strong>active-waiting task</strong></a>
+</li>
+      <li><a href="reference/api/zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.api">api() (cylc.flow.network.server.WorkflowRuntimeServer method)</a>
+</li>
+      <li><a href="reference/api/scan.html#cylc.flow.network.scan.api_version">api_version() (in module cylc.flow.network.scan)</a>
+</li>
+      <li><a href="glossary.html#term-artificial-dependency"><strong>artificial dependency</strong></a>
+</li>
+      <li><a href="reference/api/zmq.html#cylc.flow.network.client.WorkflowRuntimeClient.async_request">async_request() (cylc.flow.network.client.WorkflowRuntimeClient method)</a>
+</li>
+      <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.html#cylc.flow.main_loop.auto_restart.auto_restart">auto_restart() (in module cylc.flow.main_loop.auto_restart)</a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="B">B</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-branching"><strong>branching</strong></a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="C">C</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-clock-trigger"><strong>clock trigger</strong></a>
+</li>
+      <li><a href="glossary.html#term-cold-start"><strong>cold start</strong></a>
+</li>
+      <li><a href="glossary.html#term-conditional-dependence"><strong>conditional dependence</strong></a>
+</li>
+      <li><a href="glossary.html#term-conditional-dependency"><strong>conditional dependency</strong></a>
+</li>
+      <li><a href="glossary.html#term-conditional-trigger"><strong>conditional trigger</strong></a>
+</li>
+      <li><a href="glossary.html#term-contact-file"><strong>contact file</strong></a>
+</li>
+      <li><a href="reference/api/scan.html#cylc.flow.network.scan.contact_info">contact_info() (in module cylc.flow.network.scan)</a>
+</li>
+      <li><a href="glossary.html#term-custom-output"><strong>custom output</strong></a>
+</li>
+      <li><a href="glossary.html#term-cycle"><strong>cycle</strong></a>
+</li>
+      <li><a href="glossary.html#term-cycle-point"><strong>cycle point</strong></a>
+</li>
+      <li><a href="glossary.html#term-cycle-point-time-zone"><strong>cycle point time zone</strong></a>
+</li>
+      <li><a href="glossary.html#term-cycling"><strong>cycling</strong></a>
+</li>
+      <li><a href="glossary.html#term-cycling-workflow"><strong>cycling workflow</strong></a>
+</li>
+      <li><a href="glossary.html#term-cylc-workflow"><strong>cylc workflow</strong></a>
+</li>
+      <li><a href="glossary.html#term-cylc-run-directory"><strong>cylc-run directory</strong></a>
+</li>
+      <li>
+    cylc.flow.install_plugins.log_vc_info
+
+      <ul>
+        <li><a href="plugins/install/built-in/cylc.flow.install_plugins.log_vc_info.html#module-cylc.flow.install_plugins.log_vc_info">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.job_runner_handlers
+
+      <ul>
+        <li><a href="user-guide/task-implementation/job-submission.html#module-cylc.flow.job_runner_handlers">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.job_runner_handlers.at
+
+      <ul>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.at.html#module-cylc.flow.job_runner_handlers.at">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.job_runner_handlers.background
+
+      <ul>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background.html#module-cylc.flow.job_runner_handlers.background">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.job_runner_handlers.loadleveler
+
+      <ul>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler.html#module-cylc.flow.job_runner_handlers.loadleveler">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.job_runner_handlers.lsf
+
+      <ul>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.lsf.html#module-cylc.flow.job_runner_handlers.lsf">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.job_runner_handlers.moab
+
+      <ul>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.moab.html#module-cylc.flow.job_runner_handlers.moab">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.job_runner_handlers.pbs
+
+      <ul>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.pbs.html#module-cylc.flow.job_runner_handlers.pbs">module</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    cylc.flow.job_runner_handlers.sge
+
+      <ul>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.sge.html#module-cylc.flow.job_runner_handlers.sge">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.job_runner_handlers.slurm
+
+      <ul>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm.html#module-cylc.flow.job_runner_handlers.slurm">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.job_runner_handlers.slurm_packjob
+
+      <ul>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob.html#module-cylc.flow.job_runner_handlers.slurm_packjob">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.main_loop
+
+      <ul>
+        <li><a href="plugins/main-loop/index.html#module-cylc.flow.main_loop">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.main_loop.auto_restart
+
+      <ul>
+        <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.html#module-cylc.flow.main_loop.auto_restart">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.main_loop.health_check
+
+      <ul>
+        <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.health_check.html#module-cylc.flow.main_loop.health_check">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.main_loop.log_data_store
+
+      <ul>
+        <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store.html#module-cylc.flow.main_loop.log_data_store">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.main_loop.log_main_loop
+
+      <ul>
+        <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop.html#module-cylc.flow.main_loop.log_main_loop">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.main_loop.log_memory
+
+      <ul>
+        <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.log_memory.html#module-cylc.flow.main_loop.log_memory">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.main_loop.reset_bad_hosts
+
+      <ul>
+        <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts.html#module-cylc.flow.main_loop.reset_bad_hosts">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.network.scan
+
+      <ul>
+        <li><a href="reference/api/scan.html#module-cylc.flow.network.scan">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.flow.scripts.lint
+
+      <ul>
+        <li><a href="user-guide/writing-workflows/configuration.html#module-cylc.flow.scripts.lint">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.rose
+
+      <ul>
+        <li><a href="plugins/cylc-rose.html#module-cylc.rose">module</a>
+</li>
+      </ul></li>
+      <li>
+    cylc.uiserver.app
+
+      <ul>
+        <li><a href="reference/config/ui-server.html#module-cylc.uiserver.app">module</a>
+</li>
+      </ul></li>
+      <li><a href="reference/config/global.html#index-0">CYLC_SITE_CONF_PATH</a>
+</li>
+      <li><a href="reference/api/scan.html#cylc.flow.network.scan.cylc_version">cylc_version() (in module cylc.flow.network.scan)</a>
+</li>
+      <li><a href="user-guide/sharing-access-to-workflows.html#cylc.uiserver.authorise.CylcAuthorizer">CylcAuthorizer (class in cylc.uiserver.authorise)</a>
+</li>
+      <li><a href="reference/config/ui-server.html#cylc.uiserver.app.CylcUIServer">CylcUIServer (class in cylc.uiserver.app)</a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="D">D</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-datetime-cycling"><strong>datetime cycling</strong></a>
+</li>
+      <li><a href="glossary.html#term-dependence"><strong>dependence</strong></a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-dependency"><strong>dependency</strong></a>
+</li>
+      <li><a href="glossary.html#term-directive"><strong>directive</strong></a>
+</li>
+      <li><a href="user-guide/writing-workflows/jinja2.html#cylc.flow.jinja.filters.duration_as.duration_as">duration_as() (in module cylc.flow.jinja.filters.duration_as)</a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="E">E</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li>
+    environment variable
+
+      <ul>
+        <li><a href="reference/config/global.html#envvar-CYLC_CONF_PATH">CYLC_CONF_PATH</a>
+</li>
+        <li><a href="reference/config/global.html#envvar-CYLC_SITE_CONF_PATH">CYLC_SITE_CONF_PATH</a>, <a href="reference/config/global.html#index-0">[1]</a>
+</li>
+        <li><a href="tutorial/runtime/introduction.html#index-0">PYTHONPATH</a>, <a href="tutorial/runtime/introduction.html#index-1">[1]</a>
+</li>
+      </ul></li>
+      <li><a href="glossary.html#term-event"><strong>event</strong></a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-event-handler"><strong>event handler</strong></a>
+</li>
+      <li><a href="glossary.html#term-event-handlers"><strong>event handlers</strong></a>
+</li>
+      <li><a href="glossary.html#term-exact-datetime-unit"><strong>exact datetime unit</strong></a>
+</li>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler">ExampleHandler (class in cylc.flow.job_runner_handlers.documentation)</a>
+</li>
+      <li><a href="glossary.html#term-expected-output"><strong>expected output</strong></a>
+</li>
+      <li><a href="glossary.html#term-external-trigger"><strong>external trigger</strong></a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="F">F</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.FAIL_SIGNALS">FAIL_SIGNALS (cylc.flow.job_runner_handlers.documentation.ExampleHandler attribute)</a>
+</li>
+      <li><a href="glossary.html#term-family"><strong>family</strong></a>
+</li>
+      <li><a href="glossary.html#term-family-inheritance"><strong>family inheritance</strong></a>
+</li>
+      <li><a href="glossary.html#term-family-trigger"><strong>family trigger</strong></a>
+</li>
+      <li><a href="reference/api/scan.html#cylc.flow.network.scan.filter_name">filter_name() (in module cylc.flow.network.scan)</a>
+</li>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.filter_poll_many_output">filter_poll_many_output() (cylc.flow.job_runner_handlers.documentation.ExampleHandler method)</a>
+</li>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.filter_submit_output">filter_submit_output() (cylc.flow.job_runner_handlers.documentation.ExampleHandler method)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-final-cycle-point"><strong>final cycle point</strong></a>
+</li>
+      <li><a href="glossary.html#term-flow"><strong>flow</strong></a>
+</li>
+      <li><a href="glossary.html#term-flow-front"><strong>flow front</strong></a>
+</li>
+      <li><a href="glossary.html#term-flow-merge"><strong>flow merge</strong></a>
+</li>
+      <li><a href="glossary.html#term-flow-number"><strong>flow number</strong></a>
+</li>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.format_directives">format_directives() (cylc.flow.job_runner_handlers.documentation.ExampleHandler method)</a>
+</li>
+      <li><a href="glossary.html#term-future-trigger"><strong>future trigger</strong></a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="G">G</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="user-guide/sharing-access-to-workflows.html#cylc.uiserver.authorise.get_groups">get_groups() (in module cylc.uiserver.authorise)</a>
+</li>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.get_poll_many_cmd">get_poll_many_cmd() (cylc.flow.job_runner_handlers.documentation.ExampleHandler method)</a>
+</li>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.get_submit_stdin">get_submit_stdin() (cylc.flow.job_runner_handlers.documentation.ExampleHandler method)</a>
+</li>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.get_vacation_signal">get_vacation_signal() (cylc.flow.job_runner_handlers.documentation.ExampleHandler method)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-graph"><strong>graph</strong></a>
+</li>
+      <li><a href="glossary.html#term-graph-branching"><strong>graph branching</strong></a>
+</li>
+      <li><a href="glossary.html#term-graph-string"><strong>graph string</strong></a>
+</li>
+      <li><a href="reference/api/zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.graphql">graphql() (cylc.flow.network.server.WorkflowRuntimeServer method)</a>
+</li>
+      <li><a href="reference/api/scan.html#cylc.flow.network.scan.graphql_query">graphql_query() (in module cylc.flow.network.scan)</a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="H">H</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-handler"><strong>handler</strong></a>
+</li>
+      <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.health_check.html#cylc.flow.main_loop.health_check.health_check">health_check() (in module cylc.flow.main_loop.health_check)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-held-task"><strong>held task</strong></a>
+</li>
+      <li><a href="glossary.html#term-hold"><strong>hold</strong></a>
+</li>
+      <li><a href="glossary.html#term-hold-after-cycle-point"><strong>hold after cycle point</strong></a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="I">I</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-implicit-task"><strong>implicit task</strong></a>
+</li>
+      <li><a href="glossary.html#term-incomplete"><strong>incomplete</strong></a>
+</li>
+      <li><a href="glossary.html#term-incomplete-task"><strong>incomplete task</strong></a>
+</li>
+      <li><a href="glossary.html#term-inexact-datetime-unit"><strong>inexact datetime unit</strong></a>
+</li>
+      <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store.html#cylc.flow.main_loop.log_data_store.init">init() (in module cylc.flow.main_loop.log_data_store)</a>
+
+      <ul>
+        <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop.html#cylc.flow.main_loop.log_main_loop.init">(in module cylc.flow.main_loop.log_main_loop)</a>
+</li>
+        <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.log_memory.html#cylc.flow.main_loop.log_memory.init">(in module cylc.flow.main_loop.log_memory)</a>
+</li>
+      </ul></li>
+      <li><a href="glossary.html#term-initial-cycle-point"><strong>initial cycle point</strong></a>
+</li>
+      <li><a href="glossary.html#term-install"><strong>install</strong></a>
+</li>
+      <li><a href="glossary.html#term-install-target"><strong>install target</strong></a>
+</li>
+      <li><a href="glossary.html#term-installation"><strong>installation</strong></a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-integer-cycling"><strong>integer cycling</strong></a>
+</li>
+      <li><a href="glossary.html#term-intercycle-dependence"><strong>intercycle dependence</strong></a>
+</li>
+      <li><a href="glossary.html#term-intercycle-dependency"><strong>intercycle dependency</strong></a>
+</li>
+      <li><a href="glossary.html#term-intercycle-trigger"><strong>intercycle trigger</strong></a>
+</li>
+      <li><a href="glossary.html#term-internal-queue"><strong>internal queue</strong></a>
+</li>
+      <li><a href="reference/api/scan.html#cylc.flow.network.scan.is_active">is_active() (in module cylc.flow.network.scan)</a>
+</li>
+      <li><a href="glossary.html#term-ISO-8601"><strong>ISO 8601</strong></a>
+</li>
+      <li><a href="glossary.html#term-ISO-8601-datetime"><strong>ISO 8601 datetime</strong></a>
+</li>
+      <li><a href="glossary.html#term-ISO-8601-duration"><strong>ISO 8601 duration</strong></a>
+</li>
+      <li><a href="glossary.html#term-ISO8601"><strong>ISO8601</strong></a>
+</li>
+      <li><a href="glossary.html#term-ISO8601-datetime"><strong>ISO8601 datetime</strong></a>
+</li>
+      <li><a href="glossary.html#term-ISO8601-duration"><strong>ISO8601 duration</strong></a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="J">J</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-job"><strong>job</strong></a>
+</li>
+      <li><a href="glossary.html#term-job-host"><strong>job host</strong></a>
+</li>
+      <li><a href="glossary.html#term-job-log"><strong>job log</strong></a>
+</li>
+      <li><a href="glossary.html#term-job-log-directory"><strong>job log directory</strong></a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-job-platform"><strong>job platform</strong></a>
+</li>
+      <li><a href="glossary.html#term-job-runner"><strong>job runner</strong></a>
+</li>
+      <li><a href="glossary.html#term-job-script"><strong>job script</strong></a>
+</li>
+      <li><a href="glossary.html#term-job-submission-number"><strong>job submission number</strong></a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="K">K</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.KILL_CMD_TMPL">KILL_CMD_TMPL (cylc.flow.job_runner_handlers.documentation.ExampleHandler attribute)</a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="L">L</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store.html#cylc.flow.main_loop.log_data_store.log_data_store">log_data_store() (in module cylc.flow.main_loop.log_data_store)</a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="M">M</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.manip_job_id">manip_job_id() (cylc.flow.job_runner_handlers.documentation.ExampleHandler method)</a>
+</li>
+      <li><a href="reference/config/ui-server.html#cylc.uiserver.app.CylcUIServer.max_workers">max_workers (cylc.uiserver.app.CylcUIServer attribute)</a>
+</li>
+      <li><a href="glossary.html#term-message-trigger"><strong>message trigger</strong></a>
+</li>
+      <li>
+    module
+
+      <ul>
+        <li><a href="plugins/install/built-in/cylc.flow.install_plugins.log_vc_info.html#module-cylc.flow.install_plugins.log_vc_info">cylc.flow.install_plugins.log_vc_info</a>
+</li>
+        <li><a href="user-guide/task-implementation/job-submission.html#module-cylc.flow.job_runner_handlers">cylc.flow.job_runner_handlers</a>
+</li>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.at.html#module-cylc.flow.job_runner_handlers.at">cylc.flow.job_runner_handlers.at</a>
+</li>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background.html#module-cylc.flow.job_runner_handlers.background">cylc.flow.job_runner_handlers.background</a>
+</li>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler.html#module-cylc.flow.job_runner_handlers.loadleveler">cylc.flow.job_runner_handlers.loadleveler</a>
+</li>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.lsf.html#module-cylc.flow.job_runner_handlers.lsf">cylc.flow.job_runner_handlers.lsf</a>
+</li>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.moab.html#module-cylc.flow.job_runner_handlers.moab">cylc.flow.job_runner_handlers.moab</a>
+</li>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.pbs.html#module-cylc.flow.job_runner_handlers.pbs">cylc.flow.job_runner_handlers.pbs</a>
+</li>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.sge.html#module-cylc.flow.job_runner_handlers.sge">cylc.flow.job_runner_handlers.sge</a>
+</li>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm.html#module-cylc.flow.job_runner_handlers.slurm">cylc.flow.job_runner_handlers.slurm</a>
+</li>
+        <li><a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob.html#module-cylc.flow.job_runner_handlers.slurm_packjob">cylc.flow.job_runner_handlers.slurm_packjob</a>
+</li>
+        <li><a href="plugins/main-loop/index.html#module-cylc.flow.main_loop">cylc.flow.main_loop</a>
+</li>
+        <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.html#module-cylc.flow.main_loop.auto_restart">cylc.flow.main_loop.auto_restart</a>
+</li>
+        <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.health_check.html#module-cylc.flow.main_loop.health_check">cylc.flow.main_loop.health_check</a>
+</li>
+        <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store.html#module-cylc.flow.main_loop.log_data_store">cylc.flow.main_loop.log_data_store</a>
+</li>
+        <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop.html#module-cylc.flow.main_loop.log_main_loop">cylc.flow.main_loop.log_main_loop</a>
+</li>
+        <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.log_memory.html#module-cylc.flow.main_loop.log_memory">cylc.flow.main_loop.log_memory</a>
+</li>
+        <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts.html#module-cylc.flow.main_loop.reset_bad_hosts">cylc.flow.main_loop.reset_bad_hosts</a>
+</li>
+        <li><a href="reference/api/scan.html#module-cylc.flow.network.scan">cylc.flow.network.scan</a>
+</li>
+        <li><a href="user-guide/writing-workflows/configuration.html#module-cylc.flow.scripts.lint">cylc.flow.scripts.lint</a>
+</li>
+        <li><a href="plugins/cylc-rose.html#module-cylc.rose">cylc.rose</a>
+</li>
+        <li><a href="reference/config/ui-server.html#module-cylc.uiserver.app">cylc.uiserver.app</a>
+</li>
+      </ul></li>
+  </ul></td>
+</tr></table>
+
+<h2 id="N">N</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-n-window"><strong>n-window</strong></a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-nominal-duration"><strong>nominal duration</strong></a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="O">O</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/api/zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.operate">operate() (cylc.flow.network.server.WorkflowRuntimeServer method)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-optional-output"><strong>optional output</strong></a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="P">P</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="user-guide/writing-workflows/jinja2.html#cylc.flow.jinja.filters.pad.pad">pad() (in module cylc.flow.jinja.filters.pad)</a>
+</li>
+      <li><a href="glossary.html#term-parameterization"><strong>parameterization</strong></a>
+</li>
+      <li><a href="glossary.html#term-pause"><strong>pause</strong></a>
+</li>
+      <li><a href="reference/api/zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.pb_data_elements">pb_data_elements() (cylc.flow.network.server.WorkflowRuntimeServer method)</a>
+</li>
+      <li><a href="reference/api/zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.pb_entire_workflow">pb_entire_workflow() (cylc.flow.network.server.WorkflowRuntimeServer method)</a>
+</li>
+      <li><a href="plugins/main-loop/index.html#cylc.flow.main_loop.periodic">periodic() (in module cylc.flow.main_loop)</a>
+</li>
+      <li><a href="glossary.html#term-platform"><strong>platform</strong></a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-platform-group"><strong>platform group</strong></a>
+</li>
+      <li><a href="glossary.html#term-play"><strong>play</strong></a>
+</li>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.POLL_CANT_CONNECT_ERR">POLL_CANT_CONNECT_ERR (cylc.flow.job_runner_handlers.documentation.ExampleHandler attribute)</a>
+</li>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.POLL_CMD">POLL_CMD (cylc.flow.job_runner_handlers.documentation.ExampleHandler attribute)</a>
+</li>
+      <li><a href="reference/config/ui-server.html#cylc.uiserver.app.CylcUIServer.profile">profile (cylc.uiserver.app.CylcUIServer attribute)</a>
+</li>
+      <li><a href="reference/api/zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.publish_queued_items">publish_queued_items() (cylc.flow.network.server.WorkflowRuntimeServer method)</a>
+</li>
+      <li><a href="tutorial/runtime/introduction.html#index-0">PYTHONPATH</a>, <a href="tutorial/runtime/introduction.html#index-1">[1]</a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="Q">Q</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-qualifier"><strong>qualifier</strong></a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-queue"><strong>queue</strong></a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="R">R</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.REC_ID_FROM_SUBMIT_ERR">REC_ID_FROM_SUBMIT_ERR (cylc.flow.job_runner_handlers.documentation.ExampleHandler attribute)</a>
+</li>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.REC_ID_FROM_SUBMIT_OUT">REC_ID_FROM_SUBMIT_OUT (cylc.flow.job_runner_handlers.documentation.ExampleHandler attribute)</a>
+</li>
+      <li><a href="reference/api/zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.receiver">receiver() (cylc.flow.network.server.WorkflowRuntimeServer method)</a>
+</li>
+      <li><a href="glossary.html#term-recurrence"><strong>recurrence</strong></a>
+</li>
+      <li><a href="reference/api/zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.register_endpoints">register_endpoints() (cylc.flow.network.server.WorkflowRuntimeServer method)</a>
+</li>
+      <li><a href="glossary.html#term-reinstall"><strong>reinstall</strong></a>
+</li>
+      <li><a href="glossary.html#term-reinstallation"><strong>reinstallation</strong></a>
+</li>
+      <li><a href="glossary.html#term-release"><strong>release</strong></a>
+</li>
+      <li><a href="glossary.html#term-reload"><strong>reload</strong></a>
+</li>
+      <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store.html#cylc.flow.main_loop.log_data_store.report">report() (in module cylc.flow.main_loop.log_data_store)</a>
+
+      <ul>
+        <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop.html#cylc.flow.main_loop.log_main_loop.report">(in module cylc.flow.main_loop.log_main_loop)</a>
+</li>
+        <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.log_memory.html#cylc.flow.main_loop.log_memory.report">(in module cylc.flow.main_loop.log_memory)</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-required-output"><strong>required output</strong></a>
+</li>
+      <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts.html#cylc.flow.main_loop.reset_bad_hosts.reset_bad_hosts">reset_bad_hosts() (in module cylc.flow.main_loop.reset_bad_hosts)</a>
+</li>
+      <li><a href="glossary.html#term-restart"><strong>restart</strong></a>
+</li>
+      <li><a href="glossary.html#term-retry"><strong>retry</strong></a>
+</li>
+      <li><a href="glossary.html#term-run-directory"><strong>run directory</strong></a>
+</li>
+      <li><a href="glossary.html#term-runahead"><strong>runahead</strong></a>
+</li>
+      <li><a href="glossary.html#term-runahead-limit"><strong>runahead limit</strong></a>
+</li>
+      <li><a href="glossary.html#term-runtime-inheritance"><strong>runtime inheritance</strong></a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="S">S</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/api/scan.html#cylc.flow.network.scan.scan">scan() (in module cylc.flow.network.scan)</a>
+</li>
+      <li><a href="reference/config/ui-server.html#cylc.uiserver.app.CylcUIServer.scan_interval">scan_interval (cylc.uiserver.app.CylcUIServer attribute)</a>
+</li>
+      <li><a href="glossary.html#term-scheduler"><strong>scheduler</strong></a>
+</li>
+      <li><a href="glossary.html#term-scheduler-log"><strong>scheduler log</strong></a>
+</li>
+      <li><a href="reference/api/zmq.html#cylc.flow.network.client.WorkflowRuntimeClient.serial_request">serial_request() (cylc.flow.network.client.WorkflowRuntimeClient method)</a>
+</li>
+      <li><a href="glossary.html#term-service-directory"><strong>service directory</strong></a>
+</li>
+      <li><a href="glossary.html#term-share-directory"><strong>share directory</strong></a>
+</li>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.SHOULD_KILL_PROC_GROUP">SHOULD_KILL_PROC_GROUP (cylc.flow.job_runner_handlers.documentation.ExampleHandler attribute)</a>
+</li>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.SHOULD_POLL_PROC_GROUP">SHOULD_POLL_PROC_GROUP (cylc.flow.job_runner_handlers.documentation.ExampleHandler attribute)</a>
+</li>
+      <li><a href="glossary.html#term-shutdown"><strong>shutdown</strong></a>
+</li>
+      <li><a href="plugins/main-loop/index.html#cylc.flow.main_loop.shutdown">shutdown() (in module cylc.flow.main_loop)</a>
+</li>
+      <li><a href="reference/config/ui-server.html#cylc.uiserver.app.CylcUIServer.site_authorization">site_authorization (cylc.uiserver.app.CylcUIServer attribute)</a>
+</li>
+      <li><a href="glossary.html#term-source-directory"><strong>source directory</strong></a>
+</li>
+      <li><a href="glossary.html#term-source-workflow"><strong>source workflow</strong></a>
+</li>
+      <li><a href="glossary.html#term-stall"><strong>stall</strong></a>
+</li>
+      <li><a href="glossary.html#term-stalled-state"><strong>stalled state</strong></a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-stalled-workflow"><strong>stalled workflow</strong></a>
+</li>
+      <li><a href="glossary.html#term-standard-output"><strong>standard output</strong></a>
+</li>
+      <li><a href="glossary.html#term-start"><strong>start</strong></a>
+</li>
+      <li><a href="glossary.html#term-start-cycle-point"><strong>start cycle point</strong></a>
+</li>
+      <li><a href="glossary.html#term-start-task"><strong>start task</strong></a>
+</li>
+      <li><a href="reference/api/zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.start">start() (cylc.flow.network.server.WorkflowRuntimeServer method)</a>
+</li>
+      <li><a href="glossary.html#term-startup"><strong>startup</strong></a>
+</li>
+      <li><a href="plugins/main-loop/index.html#cylc.flow.main_loop.startup">startup() (in module cylc.flow.main_loop)</a>
+</li>
+      <li><a href="glossary.html#term-stop"><strong>stop</strong></a>
+</li>
+      <li><a href="glossary.html#term-stop-cycle-point"><strong>stop cycle point</strong></a>
+</li>
+      <li><a href="reference/api/zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.stop">stop() (cylc.flow.network.server.WorkflowRuntimeServer method)</a>
+</li>
+      <li><a href="user-guide/writing-workflows/jinja2.html#cylc.flow.jinja.filters.strftime.strftime">strftime() (in module cylc.flow.jinja.filters.strftime)</a>
+</li>
+      <li><a href="glossary.html#term-submit-number"><strong>submit number</strong></a>
+</li>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.submit">submit() (cylc.flow.job_runner_handlers.documentation.ExampleHandler method)</a>
+</li>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.SUBMIT_CMD_ENV">SUBMIT_CMD_ENV (cylc.flow.job_runner_handlers.documentation.ExampleHandler attribute)</a>
+</li>
+      <li><a href="plugins/job-runners/index.html#cylc.flow.job_runner_handlers.documentation.ExampleHandler.SUBMIT_CMD_TMPL">SUBMIT_CMD_TMPL (cylc.flow.job_runner_handlers.documentation.ExampleHandler attribute)</a>
+</li>
+      <li><a href="glossary.html#term-suicide-trigger"><strong>suicide trigger</strong></a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="T">T</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="plugins/main-loop/built-in/cylc.flow.main_loop.log_memory.html#cylc.flow.main_loop.log_memory.take_snapshot">take_snapshot() (in module cylc.flow.main_loop.log_memory)</a>
+</li>
+      <li><a href="glossary.html#term-task"><strong>task</strong></a>
+</li>
+      <li><a href="glossary.html#term-task-output"><strong>task output</strong></a>
+</li>
+      <li><a href="glossary.html#term-task-parameters"><strong>task parameters</strong></a>
+</li>
+      <li><a href="glossary.html#term-task-retry"><strong>task retry</strong></a>
+</li>
+      <li><a href="glossary.html#term-task-state"><strong>task state</strong></a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-task-submit-number"><strong>task submit number</strong></a>
+</li>
+      <li><a href="glossary.html#term-task-trigger"><strong>task trigger</strong></a>
+</li>
+      <li><a href="user-guide/writing-workflows/runtime.html#cylc.flow.unicode_rules.TaskNameValidator">TaskNameValidator (class in cylc.flow.unicode_rules)</a>
+</li>
+      <li><a href="reference/api/scan.html#cylc.flow.network.scan.title">title() (in module cylc.flow.network.scan)</a>
+</li>
+      <li><a href="glossary.html#term-trigger"><strong>trigger</strong></a>
+</li>
+      <li><a href="glossary.html#term-try-number"><strong>try number</strong></a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="U">U</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/config/ui-server.html#cylc.uiserver.app.CylcUIServer.ui_build_dir">ui_build_dir (cylc.uiserver.app.CylcUIServer attribute)</a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/config/ui-server.html#cylc.uiserver.app.CylcUIServer.ui_version">ui_version (cylc.uiserver.app.CylcUIServer attribute)</a>
+</li>
+      <li><a href="reference/config/ui-server.html#cylc.uiserver.app.CylcUIServer.user_authorization">user_authorization (cylc.uiserver.app.CylcUIServer attribute)</a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="V">V</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-validation"><strong>validation</strong></a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="W">W</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-wallclock-time"><strong>wallclock time</strong></a>
+</li>
+      <li><a href="glossary.html#term-warm-start"><strong>warm start</strong></a>
+</li>
+      <li><a href="glossary.html#term-window"><strong>window</strong></a>
+</li>
+      <li><a href="glossary.html#term-work-directory"><strong>work directory</strong></a>
+</li>
+      <li><a href="glossary.html#term-workflow"><strong>workflow</strong></a>
+</li>
+      <li><a href="glossary.html#term-workflow-completion"><strong>workflow completion</strong></a>
+</li>
+      <li><a href="glossary.html#term-workflow-id"><strong>workflow id</strong></a>
+</li>
+      <li><a href="glossary.html#term-workflow-installation"><strong>workflow installation</strong></a>
+</li>
+      <li><a href="glossary.html#term-workflow-log"><strong>workflow log</strong></a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-workflow-log-directory"><strong>workflow log directory</strong></a>
+</li>
+      <li><a href="glossary.html#term-workflow-name"><strong>workflow name</strong></a>
+</li>
+      <li><a href="glossary.html#term-workflow-run-directory"><strong>workflow run directory</strong></a>
+</li>
+      <li><a href="glossary.html#term-workflow-validation"><strong>workflow validation</strong></a>
+</li>
+      <li><a href="glossary.html#term-workflow-window"><strong>workflow window</strong></a>
+</li>
+      <li><a href="reference/api/scan.html#cylc.flow.network.scan.workflow_params">workflow_params() (in module cylc.flow.network.scan)</a>
+</li>
+      <li><a href="user-guide/installing-workflows.html#cylc.flow.unicode_rules.WorkflowNameValidator">WorkflowNameValidator (class in cylc.flow.unicode_rules)</a>
+</li>
+      <li><a href="reference/api/zmq.html#cylc.flow.network.client.WorkflowRuntimeClient">WorkflowRuntimeClient (class in cylc.flow.network.client)</a>
+</li>
+      <li><a href="reference/api/zmq.html#cylc.flow.network.server.WorkflowRuntimeServer">WorkflowRuntimeServer (class in cylc.flow.network.server)</a>
+</li>
+  </ul></td>
+</tr></table>
+
+<h2 id="X">X</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="glossary.html#term-xtrigger"><strong>xtrigger</strong></a>
+</li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="user-guide/writing-workflows/external-triggers.html#cylc.flow.unicode_rules.XtriggerNameValidator">XtriggerNameValidator (class in cylc.flow.unicode_rules)</a>
+</li>
+  </ul></td>
+</tr></table>
+
+
+
+           </div>
+          </div>
+          <footer>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "genindex";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/glossary.html b/nightly_8.3/html/glossary.html
new file mode 100644
index 00000000000..e5b0ee9915e
--- /dev/null
+++ b/nightly_8.3/html/glossary.html
@@ -0,0 +1,1585 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="./">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Glossary &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="_static/jquery.js?v=5d32c60e"></script>
+        <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="_static/doctools.js?v=888ff710"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="_static/js/spoiler.js?v=12631137"></script>
+        <script src="_static/js/addons.js?v=39bd7dee"></script>
+    <script src="_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="prev" title="Cylc Development History - Major Changes" href="reference/dev-history-major-changes.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="index.html">
+            
+              <img src="_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="reference/index.html">Reference</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">Glossary</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="_sources/glossary.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="glossary">
+<h1>Glossary<a class="headerlink" href="#glossary" title="Link to this heading"></a></h1>
+<dl class="glossary">
+<dt id="term-active">active<a class="headerlink" href="#term-active" title="Link to this term"></a></dt><dt id="term-active-task">active task<a class="headerlink" href="#term-active-task" title="Link to this term"></a></dt><dd><p>An active task is a task in the submitted or running state.</p>
+</dd>
+<dt id="term-active-waiting">active-waiting<a class="headerlink" href="#term-active-waiting" title="Link to this term"></a></dt><dt id="term-active-waiting-task">active-waiting task<a class="headerlink" href="#term-active-waiting-task" title="Link to this term"></a></dt><dd><p>An active-waiting task is a task in the <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler’s</span></a>
+<code class="docutils literal notranslate"><span class="pre">n=0</span></code> <a class="reference internal" href="#term-active-window"><span class="xref std std-term">active window</span></a> that is ready to run according to its task
+prerequisites, but is still waiting on a limiting mechanism such as a
+<a class="reference internal" href="#term-clock-trigger"><span class="xref std std-term">clock trigger</span></a>, task <a class="reference internal" href="#term-hold"><span class="xref std std-term">hold</span></a>, or <a class="reference internal" href="#term-internal-queue"><span class="xref std std-term">internal queue</span></a>.</p>
+</dd>
+<dt id="term-artificial-dependency">artificial dependency<a class="headerlink" href="#term-artificial-dependency" title="Link to this term"></a></dt><dd><p>An artificial <a class="reference internal" href="#term-dependency"><span class="xref std std-term">dependency</span></a> in the <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a> does not reflect
+real dependence between the tasks involved. This can sometimes be
+useful but should be avoided if possible. Artificial dependencies muddy
+the real dependencies of the workflow and they may unnecessarily
+constrain the scheduler.</p>
+<p>In the following <a class="reference internal" href="#term-cycling"><span class="xref std std-term">cycling</span></a> workflow, if the task <code class="docutils literal notranslate"><span class="pre">foo</span></code> does not
+actually depend on any real outputs of <code class="docutils literal notranslate"><span class="pre">baz</span></code> in the previous cycle,
+then the intercycle dependence is artificial.</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">P1</span> <span class="c">=</span> <span class="c">&quot;&quot;&quot;</span>
+   <span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">bar</span> <span class="o">=&gt;</span> <span class="kd">baz</span>
+   <span class="kd">baz</span>[<span class="nb">-P1</span>] <span class="o">=&gt;</span> <span class="kd">foo</span>
+<span class="c">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</dd>
+<dt id="term-branching">branching<a class="headerlink" href="#term-branching" title="Link to this term"></a></dt><dt id="term-graph-branching">graph branching<a class="headerlink" href="#term-graph-branching" title="Link to this term"></a></dt><dd><p>Cylc handles workflow <a class="reference internal" href="#term-graph"><span class="xref std std-term">graphs</span></a> in an event-driven way.
+It can automatically follow different paths depending on events at
+runtime. This relies on <a class="reference internal" href="#term-optional-output"><span class="xref std std-term">optional outputs</span></a> and is
+called <em>branching</em>.</p>
+<p>For example, the following workflow follows one of two possible paths
+depending on the outcome of task <code class="docutils literal notranslate"><span class="pre">b</span></code>:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="c1"># the success branch</span>
+<span class="kd">a</span> <span class="o">=&gt;</span> <span class="kd">b</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">c</span>
+<span class="c1"># the fail branch</span>
+<span class="kd">b</span><span class="c">:</span><span class="kd">fail</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">r</span>
+<span class="c1"># joining the two branches together</span>
+<span class="kd">c</span> <span class="o">|</span> <span class="kd">r</span> <span class="o">=&gt;</span> <span class="kd">d</span>
+</pre></div>
+</div>
+<div align="center" class="align-center"><div class="graphviz"><object data="_images/graphviz-a8b1e9e93fab74bdbf93d1612a22c4eef701651d.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph example {
+subgraph cluster_success {
+   label = &quot;:succeed&quot;
+   color = &quot;green&quot;
+   fontcolor = &quot;green&quot;
+   style = &quot;dashed&quot;
+
+   c
+}
+
+subgraph cluster_failure {
+   label = &quot;:fail&quot;
+   color = &quot;red&quot;
+   fontcolor = &quot;red&quot;
+   style = &quot;dashed&quot;
+
+   r
+}
+
+a -&gt; b -&gt; c -&gt; d
+b -&gt; r -&gt; d
+}</p></object></div>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-optional-output"><span class="xref std std-term">optional output</span></a></p></li>
+<li><p><a class="reference internal" href="user-guide/writing-workflows/scheduling.html#graph-branching"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-clock-trigger">clock trigger<a class="headerlink" href="#term-clock-trigger" title="Link to this term"></a></dt><dd><p>Clock triggers connect cycle points to the <a class="reference internal" href="#term-wallclock-time"><span class="xref std std-term">wallclock time</span></a>, in
+<a class="reference internal" href="#term-datetime-cycling"><span class="xref std std-term">datetime cycling</span></a> workflows. Tasks that depend on a clock trigger
+will not trigger until the wallclock time is equal to their cycle point
+plus or minus some offset.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="user-guide/writing-workflows/external-triggers.html#built-in-clock-triggers"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+<li><p><a class="reference internal" href="tutorial/furthertopics/clock-triggered-tasks.html#tutorial-cylc-clock-trigger"><span class="std std-ref">Cylc Tutorial</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-cold-start">cold start<a class="headerlink" href="#term-cold-start" title="Link to this term"></a></dt><dd><p>A cold start is when the <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a> <a class="reference internal" href="#term-startup"><span class="xref std std-term">starts</span></a> a
+<a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow</span></a> at the beginning of <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a>. In a <a class="reference internal" href="#term-cycling-workflow"><span class="xref std std-term">cycling
+workflow</span></a> this is determined by the <a class="reference internal" href="#term-initial-cycle-point"><span class="xref std std-term">initial cycle point</span></a>.</p>
+<p>This is the default behaviour of <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> for an installed workflow
+that hasn’t run yet.</p>
+<p>To satisfy unbounded <a class="reference internal" href="#term-intercycle-dependence"><span class="xref std std-term">intercycle dependence</span></a> in the graph, tasks
+prior to the initial cycle point are treated as if they have succeeded.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="reference/config/workflow.html#flow.cylc[scheduling]initial cycle point" title="flow.cylc[scheduling]initial cycle point"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling]initial</span> <span class="pre">cycle</span> <span class="pre">point</span></code></a></p></li>
+<li><p><a class="reference internal" href="#term-warm-start"><span class="xref std std-term">warm start</span></a></p></li>
+<li><p><a class="reference internal" href="#term-start-task"><span class="xref std std-term">start task</span></a></p></li>
+<li><p><a class="reference internal" href="#term-restart"><span class="xref std std-term">restart</span></a></p></li>
+<li><p><a class="reference internal" href="#term-shutdown"><span class="xref std std-term">shutdown</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-conditional-dependence">conditional dependence<a class="headerlink" href="#term-conditional-dependence" title="Link to this term"></a></dt><dt id="term-conditional-dependency">conditional dependency<a class="headerlink" href="#term-conditional-dependency" title="Link to this term"></a></dt><dt id="term-conditional-trigger">conditional trigger<a class="headerlink" href="#term-conditional-trigger" title="Link to this term"></a></dt><dd><p>Conditional <a class="reference internal" href="#term-dependence"><span class="xref std std-term">dependence</span></a> is when a <a class="reference internal" href="#term-task"><span class="xref std std-term">task</span></a> depends on a
+combination of multiple upstream <a class="reference internal" href="#term-task-output"><span class="xref std std-term">task outputs</span></a>.</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">a</span> <span class="o">&amp;</span> <span class="p">(</span><span class="kd">b</span><span class="c">:</span><span class="kd">fail</span> <span class="o">|</span> <span class="kd">c</span><span class="p">)</span> <span class="o">=&gt;</span> <span class="kd">d</span>
+</pre></div>
+</div>
+<p>The left hand side of a conditional dependency can be called a
+conditional <a class="reference internal" href="#term-trigger"><span class="xref std std-term">trigger</span></a>.</p>
+</dd>
+<dt id="term-contact-file">contact file<a class="headerlink" href="#term-contact-file" title="Link to this term"></a></dt><dd><p>The contact file, in the <a class="reference internal" href="#term-service-directory"><span class="xref std std-term">service directory</span></a>, records information
+about a running <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a> such as host, TCP port, and process ID.
+It is read by Cylc client commands so they can target the right scheduler.</p>
+<p>The contact file is created at scheduler startup and removed on clean
+shutdown. If you delete it, the scheduler will (after a delay) notice
+this and shut down.</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="s">&lt;run-directory&gt;</span>/.service/contact
+</pre></div>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>If the scheduler dies in an uncontrolled way, for example if the
+process is killed or the host goes down, the contact file may be
+left behind. Some Cylc commands automatically detect these files
+and remove them, otherwise they should be manually removed.</p>
+</div>
+</dd>
+<dt id="term-custom-output">custom output<a class="headerlink" href="#term-custom-output" title="Link to this term"></a></dt><dd><p>A custom task output is a user-defined <a class="reference internal" href="#term-task-output"><span class="xref std std-term">task output</span></a> that marks
+an event runtime event between task <a class="reference internal" href="#term-job"><span class="xref std std-term">job</span></a> start and finish. To
+complete a custom output, the job must send a message defined in the
+<a class="reference internal" href="reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file to the <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a>.</p>
+<p>Triggers based on custom outputs are called <a class="reference internal" href="#term-message-trigger"><span class="xref std std-term">message triggers</span></a>.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nt">[[[outputs]]]</span>
+            <span class="c1"># output name = output message</span>
+            <span class="nv">out1 </span><span class="o">=</span><span class="s"> &quot;Output 1 completed&quot;</span>
+            <span class="nv">out2 </span><span class="o">=</span><span class="s"> &quot;Output 2 completed&quot;</span>
+</pre></div>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-standard-output"><span class="xref std std-term">standard output</span></a></p></li>
+<li><p><a class="reference internal" href="tutorial/furthertopics/message-triggers.html#tutorial-cylc-message-triggers"><span class="std std-ref">Cylc Tutorial</span></a></p></li>
+<li><p><a class="reference internal" href="user-guide/writing-workflows/scheduling.html#messagetriggers"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-cycle">cycle<a class="headerlink" href="#term-cycle" title="Link to this term"></a></dt><dd><p>In a <a class="reference internal" href="#term-cycling-workflow"><span class="xref std std-term">cycling workflow</span></a>, cycles are repetitions of a <a class="reference internal" href="#term-graph-string"><span class="xref std std-term">graph
+string</span></a>. Each cycle is identified by a <a class="reference internal" href="#term-cycle-point"><span class="xref std std-term">cycle point</span></a>. The sequence
+of cycle points is defined by the graph string’s <a class="reference internal" href="#term-recurrence"><span class="xref std std-term">recurrence</span></a>
+pattern.</p>
+<p>This defines the structure of the <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a>. At runtime, however,
+Cylc does not impose a global loop over cycles. Each individual task,
+with its own cycle point, advances according to its own
+<a class="reference internal" href="#term-dependency"><span class="xref std std-term">dependencies</span></a>.</p>
+<p>For example, in the following workflow each dotted box represents a cycle
+and the <a class="reference internal" href="#term-task"><span class="xref std std-term">tasks</span></a> within it are the <a class="reference internal" href="#term-task"><span class="xref std std-term">tasks</span></a>
+belonging to that cycle. The numbers (i.e. <code class="docutils literal notranslate"><span class="pre">1</span></code>, <code class="docutils literal notranslate"><span class="pre">2</span></code>, <code class="docutils literal notranslate"><span class="pre">3</span></code>) are the
+<a class="reference internal" href="#term-cycle-point"><span class="xref std std-term">cycle points</span></a>.</p>
+<div align="center" class="align-center"><div class="graphviz"><object data="_images/graphviz-a0b983d4be5182e8e12f4aacfcc75c2683db3c40.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Example {
+size = &quot;3,5&quot;
+
+subgraph cluster_1 {
+    label = &quot;1&quot;
+    style = dashed
+    &quot;1/foo&quot; [label=&quot;foo\n1&quot;]
+    &quot;1/bar&quot; [label=&quot;bar\n1&quot;]
+    &quot;1/baz&quot; [label=&quot;baz\n1&quot;]
+}
+
+subgraph cluster_2 {
+    label = &quot;2&quot;
+    style = dashed
+    &quot;2/foo&quot; [label=&quot;foo\n2&quot;]
+    &quot;2/bar&quot; [label=&quot;bar\n2&quot;]
+    &quot;2/baz&quot; [label=&quot;baz\n2&quot;]
+}
+
+subgraph cluster_3 {
+    label = &quot;3&quot;
+    style = dashed
+    &quot;3/foo&quot; [label=&quot;foo\n3&quot;]
+    &quot;3/bar&quot; [label=&quot;bar\n3&quot;]
+    &quot;3/baz&quot; [label=&quot;baz\n3&quot;]
+}
+
+&quot;1/foo&quot; -&gt; &quot;1/bar&quot; -&gt; &quot;1/baz&quot;
+&quot;2/foo&quot; -&gt; &quot;2/bar&quot; -&gt; &quot;2/baz&quot;
+&quot;3/foo&quot; -&gt; &quot;3/bar&quot; -&gt; &quot;3/baz&quot;
+&quot;1/bar&quot; -&gt; &quot;2/bar&quot; -&gt; &quot;3/bar&quot;
+}</p></object></div>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="tutorial/scheduling/integer-cycling.html#tutorial-integer-cycling"><span class="std std-ref">Basic Cycling</span></a></p></li>
+<li><p><a class="reference internal" href="tutorial/scheduling/datetime-cycling.html#tutorial-datetime-cycling"><span class="std std-ref">Datetime Cycling</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-cycle-point">cycle point<a class="headerlink" href="#term-cycle-point" title="Link to this term"></a></dt><dd><p>The unique label given to tasks that belong to a particular <a class="reference internal" href="#term-cycle"><span class="xref std std-term">cycle</span></a>.
+For <a class="reference internal" href="#term-integer-cycling"><span class="xref std std-term">integer cycling</span></a> these will be integers, e.g. <code class="docutils literal notranslate"><span class="pre">1</span></code>, <code class="docutils literal notranslate"><span class="pre">2</span></code>,
+<code class="docutils literal notranslate"><span class="pre">3</span></code>, etc.
+For <a class="reference internal" href="#term-datetime-cycling"><span class="xref std std-term">datetime cycling</span></a> they will be <a class="reference internal" href="#term-ISO-8601"><span class="xref std std-term">ISO 8601</span></a> datetimes,
+e.g. <code class="docutils literal notranslate"><span class="pre">2000-01-01T00:00Z</span></code>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-initial-cycle-point"><span class="xref std std-term">initial cycle point</span></a></p></li>
+<li><p><a class="reference internal" href="#term-final-cycle-point"><span class="xref std std-term">final cycle point</span></a></p></li>
+<li><p><a class="reference internal" href="#term-start-cycle-point"><span class="xref std std-term">start cycle point</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-cycle-point-time-zone">cycle point time zone<a class="headerlink" href="#term-cycle-point-time-zone" title="Link to this term"></a></dt><dd><p>The time zone used for task <a class="reference internal" href="#term-cycle-point"><span class="xref std std-term">cycle points</span></a>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="reference/config/workflow.html#flow.cylc[scheduler]cycle point time zone" title="flow.cylc[scheduler]cycle point time zone"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]cycle</span> <span class="pre">point</span> <span class="pre">time</span> <span class="pre">zone</span></code></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-cycling">cycling<a class="headerlink" href="#term-cycling" title="Link to this term"></a></dt><dt id="term-cycling-workflow">cycling workflow<a class="headerlink" href="#term-cycling-workflow" title="Link to this term"></a></dt><dd><p>A cycling <a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow</span></a> in Cylc is defined by a graph of
+repeating tasks with individual <a class="reference internal" href="#term-cycle-point"><span class="xref std std-term">cycle points</span></a>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-cycle"><span class="xref std std-term">cycle</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-cylc-run-directory">cylc-run directory<a class="headerlink" href="#term-cylc-run-directory" title="Link to this term"></a></dt><dd><p>This refers to the top level directory for <a class="reference internal" href="#term-workflow-installation"><span class="xref std std-term">installed</span></a> workflows: <code class="docutils literal notranslate"><span class="pre">~/cylc-run</span></code>.</p>
+<p>Cylc can be configured to symlink cylc-run sub-directories to
+other locations.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="reference/config/global.html#global.cylc[install][symlink dirs]" title="global.cylc[install][symlink dirs]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs]</span></code></a>.</p></li>
+<li><p><a class="reference internal" href="#term-run-directory"><span class="xref std std-term">run directory</span></a></p></li>
+</ul>
+</div>
+<div class="admonition caution">
+<p class="admonition-title">Caution</p>
+<p>The cylc-run directory should not be confused with specific
+<a class="reference internal" href="#term-run-directory"><span class="xref std std-term">workflow run directories</span></a> below it.</p>
+</div>
+</dd>
+<dt id="term-datetime-cycling">datetime cycling<a class="headerlink" href="#term-datetime-cycling" title="Link to this term"></a></dt><dd><p>A datetime <a class="reference internal" href="#term-cycling"><span class="xref std std-term">cycling</span></a> workflow uses
+<a class="reference internal" href="#term-ISO-8601-datetime"><span class="xref std std-term">ISO 8601 datetime</span></a> <a class="reference internal" href="#term-cycle-point"><span class="xref std std-term">cycle points</span></a>
+(e.g.  <code class="docutils literal notranslate"><span class="pre">2000-01-01T00:00Z</span></code>) and <a class="reference internal" href="#term-recurrence"><span class="xref std std-term">recurrences</span></a>
+(e.g. <code class="docutils literal notranslate"><span class="pre">P3D</span></code> means every third day).</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="reference/config/workflow.html#flow.cylc[scheduling]cycling mode" title="flow.cylc[scheduling]cycling mode"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling]cycling</span> <span class="pre">mode</span></code></a></p></li>
+<li><p><a class="reference internal" href="#term-integer-cycling"><span class="xref std std-term">integer cycling</span></a></p></li>
+<li><p><a class="reference internal" href="tutorial/scheduling/datetime-cycling.html#tutorial-datetime-cycling"><span class="std std-ref">Cylc tutorial</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-dependence">dependence<a class="headerlink" href="#term-dependence" title="Link to this term"></a></dt><dt id="term-dependency">dependency<a class="headerlink" href="#term-dependency" title="Link to this term"></a></dt><dd><p>Dependencies in the <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a> show how <a class="reference internal" href="#term-task"><span class="xref std std-term">tasks</span></a> depend on
+some combination of the <a class="reference internal" href="#term-task-output"><span class="xref std std-term">outputs</span></a> of other tasks.</p>
+<p>For example, in the following dependency the task <code class="docutils literal notranslate"><span class="pre">baz</span></code> depends on both
+<code class="docutils literal notranslate"><span class="pre">foo</span></code> and <code class="docutils literal notranslate"><span class="pre">bar</span></code> succeeding:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span> <span class="o">&amp;</span> <span class="kd">bar</span> <span class="o">=&gt;</span> <span class="kd">baz</span>
+</pre></div>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-task-trigger"><span class="xref std std-term">task trigger</span></a></p></li>
+<li><p><a class="reference internal" href="#term-conditional-dependence"><span class="xref std std-term">conditional dependence</span></a></p></li>
+<li><p><a class="reference internal" href="#term-intercycle-dependence"><span class="xref std std-term">intercycle dependence</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-directive">directive<a class="headerlink" href="#term-directive" title="Link to this term"></a></dt><dd><p>Directives request task <a class="reference internal" href="#term-job"><span class="xref std std-term">jobs</span></a> resources such as memory and
+node count from external <a class="reference internal" href="#term-job-runner"><span class="xref std std-term">job runners</span></a>. They are job
+runner-specific.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][directives]" title="flow.cylc[runtime][&lt;namespace&gt;][directives]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][directives]</span></code></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-event">event<a class="headerlink" href="#term-event" title="Link to this term"></a></dt><dd><p>An event is a milestone in the lifecycle of a <a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow</span></a> or
+<a class="reference internal" href="#term-task"><span class="xref std std-term">task</span></a> at which the <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a> provides a hook for
+attaching <a class="reference internal" href="#term-event-handler"><span class="xref std std-term">event handlers</span></a>.</p>
+<p>Workflow events include <a class="reference internal" href="#term-startup"><span class="xref std std-term">startup</span></a>, <a class="reference internal" href="#term-stall"><span class="xref std std-term">stall</span></a>, and
+<a class="reference internal" href="#term-shutdown"><span class="xref std std-term">shutdown</span></a>.</p>
+<p>Task events include <a class="reference internal" href="#term-task-state"><span class="xref std std-term">task state</span></a> changes, to <code class="docutils literal notranslate"><span class="pre">running</span></code> or
+<code class="docutils literal notranslate"><span class="pre">failed</span></code>, for example, or when the scheduler receivers CRITICAL or
+WARNING messages from a task <a class="reference internal" href="#term-job"><span class="xref std std-term">job</span></a>.</p>
+</dd>
+<dt id="term-exact-datetime-unit">exact datetime unit<a class="headerlink" href="#term-exact-datetime-unit" title="Link to this term"></a></dt><dd><p>An exact datetime unit is any unit of a datetime that has a fixed
+duration, which does not depend on its position in the calendar.
+In Cylc, the following are exact units:</p>
+<ul class="simple">
+<li><p>second: SI base unit</p></li>
+<li><p>minute: 60 seconds</p></li>
+<li><p>hour: 60 minutes</p></li>
+<li><p>day: 24 hours</p></li>
+<li><p>week: 7 days</p></li>
+</ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Although the <a class="reference internal" href="#term-ISO-8601"><span class="xref std std-term">ISO 8601</span></a> standard specifies that weeks and days
+are <a class="reference internal" href="#term-inexact-datetime-unit"><span class="xref std std-term">inexact</span></a> due to the possibility of
+daylight saving time, leap seconds etc., they are always exact in
+Cylc because workflows always maintain the same time zone, and leap
+seconds are not supported.</p>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-inexact-datetime-unit"><span class="xref std std-term">inexact datetime unit</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-external-trigger">external trigger<a class="headerlink" href="#term-external-trigger" title="Link to this term"></a></dt><dt id="term-xtrigger">xtrigger<a class="headerlink" href="#term-xtrigger" title="Link to this term"></a></dt><dd><p>External triggers allow <a class="reference internal" href="#term-task"><span class="xref std std-term">tasks</span></a> in the <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a> to
+depend on external events, such as a file being delivered to some
+location, or a database being updated in some way.</p>
+<p>The <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a> can repeatedly call a user-supplied Python function
+to check that the external event has occurred.</p>
+<p>Cylc has a built in external trigger for triggering off of events in
+other workflows.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="reference/config/workflow.html#flow.cylc[scheduling][xtriggers]" title="flow.cylc[scheduling][xtriggers]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling][xtriggers]</span></code></a></p></li>
+<li><p><a class="reference internal" href="#term-clock-trigger"><span class="xref std std-term">clock trigger</span></a></p></li>
+<li><p><a class="reference internal" href="user-guide/writing-workflows/external-triggers.html#section-external-triggers"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+<li><p><a class="reference internal" href="user-guide/writing-workflows/external-triggers.html#built-in-workflow-state-triggers"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-family">family<a class="headerlink" href="#term-family" title="Link to this term"></a></dt><dd><p>In Cylc a family is a collection of <a class="reference internal" href="#term-task"><span class="xref std std-term">tasks</span></a> that share
+common configuration and which can be referred to collectively in the
+<a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a>.</p>
+<p>By convention, family names are upper case, with the exception of the
+special <code class="docutils literal notranslate"><span class="pre">root</span></code> family that all tasks inherit from.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-family-inheritance"><span class="xref std std-term">family inheritance</span></a></p></li>
+<li><p><a class="reference internal" href="#term-family-trigger"><span class="xref std std-term">family trigger</span></a></p></li>
+<li><p><a class="reference internal" href="user-guide/writing-workflows/runtime.html#user-guide-runtime"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+<li><p><a class="reference internal" href="tutorial/runtime/configuration-consolidation/families.html#tutorial-cylc-families"><span class="std std-ref">Cylc tutorial</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-family-trigger">family trigger<a class="headerlink" href="#term-family-trigger" title="Link to this term"></a></dt><dd><p><a class="reference internal" href="#term-task"><span class="xref std std-term">Tasks</span></a> that belong to a <a class="reference internal" href="#term-family"><span class="xref std std-term">family</span></a> can be
+referred to collectively in the <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a> using a family
+<a class="reference internal" href="#term-trigger"><span class="xref std std-term">trigger</span></a>.</p>
+<p>Family triggers take the form <code class="docutils literal notranslate"><span class="pre">family-name:qualifier</span></code>, where
+the <a class="reference internal" href="#term-qualifier"><span class="xref std std-term">qualifier</span></a> describes the collective state of member tasks
+needed for the dependency to be met. Some commonly used qualifiers
+are:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">succeed-all</span></code></dt><dd><p>All members succeeded.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">succeed-any</span></code></dt><dd><p>Any one member succeeded.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">fail-all</span></code></dt><dd><p>All members failed.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">finish-all</span></code></dt><dd><p>All members finished (succeeded or failed).</p>
+</dd>
+</dl>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-dependency"><span class="xref std std-term">dependency</span></a></p></li>
+<li><p><a class="reference internal" href="tutorial/furthertopics/family-triggers.html#tutorial-cylc-family-triggers"><span class="std std-ref">Cylc Tutorial</span></a></p></li>
+<li><p><a class="reference internal" href="user-guide/writing-workflows/scheduling.html#familytriggers"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-final-cycle-point">final cycle point<a class="headerlink" href="#term-final-cycle-point" title="Link to this term"></a></dt><dd><p>In a <a class="reference internal" href="#term-cycling"><span class="xref std std-term">cycling workflow</span></a> the final cycle point, if there
+is one, is the last <a class="reference internal" href="#term-cycle-point"><span class="xref std std-term">cycle point</span></a> in the <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="reference/config/workflow.html#flow.cylc[scheduling]final cycle point" title="flow.cylc[scheduling]final cycle point"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling]final</span> <span class="pre">cycle</span> <span class="pre">point</span></code></a>.</p></li>
+<li><p><a class="reference internal" href="#term-stop-cycle-point"><span class="xref std std-term">stop cycle point</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-flow">flow<a class="headerlink" href="#term-flow" title="Link to this term"></a></dt><dd><p>A flow is a self-propagating run through the a Cylc <a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow</span></a>
+<a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a> starting from some initial task or tasks.</p>
+<p>Cylc <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">schedulers</span></a> can manage multiple flows at once.</p>
+<p>Flows are identified by a <a class="reference internal" href="#term-flow-number"><span class="xref std std-term">flow number</span></a>. The original flow
+started automatically by <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> has flow number <code class="docutils literal notranslate"><span class="pre">1</span></code>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="user-guide/running-workflows/reflow.html#user-guide-reflow"><span class="std std-ref">Concurrent Flows</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-flow-front">flow front<a class="headerlink" href="#term-flow-front" title="Link to this term"></a></dt><dd><p>Active (submitted or running) tasks, i.e. tasks in the <code class="docutils literal notranslate"><span class="pre">n=0</span></code>
+<a class="reference internal" href="#term-active-window"><span class="xref std std-term">active window</span></a>, with a common <a class="reference internal" href="#term-flow-number"><span class="xref std std-term">flow number</span></a> comprise the
+active front of that flow.</p>
+</dd>
+<dt id="term-flow-merge">flow merge<a class="headerlink" href="#term-flow-merge" title="Link to this term"></a></dt><dd><p>When a <a class="reference internal" href="#term-flow"><span class="xref std std-term">flow</span></a> tries to spawn a child task and finds an instance
+with the same task ID already exists in the <code class="docutils literal notranslate"><span class="pre">n=0</span></code> <a class="reference internal" href="#term-active-window"><span class="xref std std-term">active
+window</span></a>, the one active task will carry both flow numbers forward.</p>
+</dd>
+<dt id="term-flow-number">flow number<a class="headerlink" href="#term-flow-number" title="Link to this term"></a></dt><dd><p>Flow numbers are integers passed down from parent task to child task in
+the <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a> as a flow progresses, to identify which <a class="reference internal" href="#term-flow"><span class="xref std std-term">flow</span></a>
+(or flows) the tasks belong to. They are passed to job environments as
+<code class="docutils literal notranslate"><span class="pre">$CYLC_TASK_FLOW_NUMBERS</span></code>.</p>
+</dd>
+<dt id="term-future-trigger">future trigger<a class="headerlink" href="#term-future-trigger" title="Link to this term"></a></dt><dd><p>A future trigger expresses dependence on a task in a “future”
+(higher-valued) <a class="reference internal" href="#term-cycle-point"><span class="xref std std-term">cycle point</span></a>.</p>
+<p>Here, <code class="docutils literal notranslate"><span class="pre">1/bar</span></code> triggers off of <code class="docutils literal notranslate"><span class="pre">2/foo</span></code>; <code class="docutils literal notranslate"><span class="pre">2/bar</span></code> triggers off of
+<code class="docutils literal notranslate"><span class="pre">3/foo</span></code>; and so on:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 1</span>
+    <span class="nv">cycling mode </span><span class="o">=</span><span class="s"> integer</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P1 = &quot;foo[+P1] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">bar</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-intercycle-trigger"><span class="xref std std-term">intercycle trigger</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-graph">graph<a class="headerlink" href="#term-graph" title="Link to this term"></a></dt><dd><p>A workflow graph is defined by one or more <a class="reference internal" href="#term-graph-string"><span class="xref std std-term">graph strings</span></a>
+under the <a class="reference internal" href="reference/config/workflow.html#flow.cylc[scheduling][graph]" title="flow.cylc[scheduling][graph]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling][graph]</span></code></a> section of a <a class="reference internal" href="#term-cylc-workflow"><span class="xref std std-term">workflow</span></a> definition.</p>
+<p>For example, the following is, collectively, a graph:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">P1D</span> <span class="c">=</span> <span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+<span class="kd">PT12H</span> <span class="c">=</span> <span class="kd">baz</span>
+</pre></div>
+</div>
+<div align="center" class="align-center"><div class="graphviz"><object data="_images/graphviz-9c6c3320344b9bad792fb330e3b5a3287587062f.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Example {
+size = &quot;7,15&quot;
+
+subgraph cluster_1 {
+    label = &quot;2000-01-01T00:00Z&quot;
+    style = dashed
+    &quot;01T00/foo&quot; [label=&quot;foo\n2000-01-01T00:00Z&quot;]
+    &quot;01T00/bar&quot; [label=&quot;bar\n2000-01-01T00:00Z&quot;]
+    &quot;01T00/baz&quot; [label=&quot;baz\n2000-01-01T00:00Z&quot;]
+}
+
+subgraph cluster_2 {
+    label = &quot;2000-01-01T12:00Z&quot;
+    style = dashed
+    &quot;b01T12/az&quot; [label=&quot;baz\n2000-01-01T12:00Z&quot;]
+}
+
+subgraph cluster_3 {
+    label = &quot;2000-01-02T00:00Z&quot;
+    style = dashed
+    &quot;02T00/foo&quot; [label=&quot;foo\n2000-01-02T00:00Z&quot;]
+    &quot;02T00/bar&quot; [label=&quot;bar\n2000-01-02T00:00Z&quot;]
+    &quot;02T00/baz&quot; [label=&quot;baz\n2000-01-02T00:00Z&quot;]
+}
+
+&quot;01T00/foo&quot; -&gt; &quot;01T00/bar&quot;
+&quot;02T00/foo&quot; -&gt; &quot;02T00/bar&quot;
+}</p></object></div>
+</div>
+</dd>
+<dt id="term-graph-string">graph string<a class="headerlink" href="#term-graph-string" title="Link to this term"></a></dt><dd><p>A graph string is a collection of task <a class="reference internal" href="#term-dependency"><span class="xref std std-term">dependencies</span></a>
+in the <a class="reference internal" href="reference/config/workflow.html#flow.cylc[scheduling][graph]" title="flow.cylc[scheduling][graph]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling][graph]</span></code></a> section of a workflow definition,
+with an associated recurrence that defines its sequence of cycle points.</p>
+<p>The example below shows one graph string in a datetime cycling workflow,
+with a daily cycle point sequence:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">R</span><span class="c">/^/</span><span class="kd">P1D</span> <span class="c">=</span> <span class="c">&quot;&quot;&quot;</span>
+   <span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">bar</span> <span class="o">=&gt;</span> <span class="kd">baz</span> <span class="o">&amp;</span> <span class="kd">pub</span> <span class="o">=&gt;</span> <span class="kd">qux</span>
+   <span class="kd">pub</span> <span class="o">=&gt;</span> <span class="kd">bool</span>
+<span class="c">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</dd>
+<dt id="term-handler">handler<a class="headerlink" href="#term-handler" title="Link to this term"></a></dt><dt id="term-event-handler">event handler<a class="headerlink" href="#term-event-handler" title="Link to this term"></a></dt><dt id="term-event-handlers">event handlers<a class="headerlink" href="#term-event-handlers" title="Link to this term"></a></dt><dd><p>An event handler is a user-defined executable that the
+<a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a> runs when selected <a class="reference internal" href="#term-task"><span class="xref std std-term">task</span></a> or <a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow</span></a>
+<a class="reference internal" href="#term-event"><span class="xref std std-term">events</span></a> occur.</p>
+<p>Use-cases include:</p>
+<ul class="simple">
+<li><p>Send an email message.</p></li>
+<li><p>Run a Cylc command.</p></li>
+<li><p>Run <em>any</em> user-specified script or command.</p></li>
+</ul>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="user-guide/writing-workflows/scheduler.html#user-guide-scheduler-workflow-event-handling"><span class="std std-ref">Workflow Event Handling</span></a></p></li>
+<li><p><a class="reference internal" href="user-guide/writing-workflows/runtime.html#user-guide-runtime-task-event-handling"><span class="std std-ref">Task Event Handling</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-hold">hold<a class="headerlink" href="#term-hold" title="Link to this term"></a></dt><dt id="term-held-task">held task<a class="headerlink" href="#term-held-task" title="Link to this term"></a></dt><dt id="term-hold-after-cycle-point">hold after cycle point<a class="headerlink" href="#term-hold-after-cycle-point" title="Link to this term"></a></dt><dd><p>A <a class="reference internal" href="#term-task"><span class="xref std std-term">task</span></a> held with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">hold</span></code> will not submit its <a class="reference internal" href="#term-job"><span class="xref std std-term">jobs</span></a> when ready to run.</p>
+<p>It is also possible to set a “hold after cycle point”; all tasks after
+this cycle point will be held.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><a class="reference internal" href="#term-workflow"><span class="xref std std-term">Workflows</span></a> can be <a class="reference internal" href="#term-pause"><span class="xref std std-term">paused</span></a> with <code class="docutils literal notranslate"><span class="pre">cylc</span>
+<span class="pre">pause</span></code>, and unpaused/resumed with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code>.</p>
+<p><a class="reference internal" href="#term-task"><span class="xref std std-term">Tasks</span></a> can be <a class="reference internal" href="#term-hold"><span class="xref std std-term">held</span></a> with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">hold</span></code> and
+<a class="reference internal" href="#term-release"><span class="xref std std-term">released</span></a> with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">release</span></code>.</p>
+<p>When a workflow is resumed, any held tasks remain held.</p>
+</div>
+</dd>
+<dt id="term-implicit-task">implicit task<a class="headerlink" href="#term-implicit-task" title="Link to this term"></a></dt><dd><p>Implicit tasks are <a class="reference internal" href="#term-task"><span class="xref std std-term">tasks</span></a> which are not defined in
+the <a class="reference internal" href="reference/config/workflow.html#flow.cylc[runtime]" title="flow.cylc[runtime]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime]</span></code></a> section.</p>
+<p>Like regular tasks they <a class="reference internal" href="#term-family-inheritance"><span class="xref std std-term">inherit</span></a> from the <code class="docutils literal notranslate"><span class="pre">root</span></code>
+<a class="reference internal" href="#term-family"><span class="xref std std-term">family</span></a>.</p>
+<p>Implicit tasks submit real jobs that just exit without doing anything
+useful. They may be useful placeholders during workflow development but
+are not allowed by default because they can be created accidentally by
+simply misspelling a task name in the graph or under <code class="docutils literal notranslate"><span class="pre">[runtime]</span></code>.</p>
+<p>Here <code class="docutils literal notranslate"><span class="pre">bar</span></code> is implicit:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="kd">foo</span> <span class="o">&amp;</span> <span class="kd">bar</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+<span class="c1"># eof</span>
+</pre></div>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="reference/config/workflow.html#flow.cylc[scheduler]allow implicit tasks" title="flow.cylc[scheduler]allow implicit tasks"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]allow</span> <span class="pre">implicit</span> <span class="pre">tasks</span></code></a></p></li>
+<li><p><a class="reference internal" href="user-guide/writing-workflows/runtime.html#implicittasks"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+</ul>
+</div>
+<div class="tip admonition">
+<p class="admonition-title">Cylc 7</p>
+<p>In Cylc 7 and earlier, implicit tasks were known as “naked dummy tasks”.</p>
+</div>
+</dd>
+<dt id="term-incomplete">incomplete<a class="headerlink" href="#term-incomplete" title="Link to this term"></a></dt><dt id="term-incomplete-task">incomplete task<a class="headerlink" href="#term-incomplete-task" title="Link to this term"></a></dt><dd><p>Incomplete tasks are <a class="reference internal" href="#term-task"><span class="xref std std-term">tasks</span></a> that finish (succeed or fail)
+without completing all <a class="reference internal" href="#term-required-output"><span class="xref std std-term">required outputs</span></a>. They
+are retained by the <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a> in the <a class="reference internal" href="#term-n-window"><span class="xref std std-term">n=0 window</span></a> pending user intervention, and will cause a <a class="reference internal" href="#term-stall"><span class="xref std std-term">stall</span></a>
+if there are no more tasks to run.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-optional-output"><span class="xref std std-term">optional output</span></a></p></li>
+<li><p><a class="reference internal" href="user-guide/writing-workflows/scheduling.html#incomplete-tasks"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-inexact-datetime-unit">inexact datetime unit<a class="headerlink" href="#term-inexact-datetime-unit" title="Link to this term"></a></dt><dt id="term-nominal-duration">nominal duration<a class="headerlink" href="#term-nominal-duration" title="Link to this term"></a></dt><dd><p>An inexact datetime unit is any unit of a datetime that does not have
+a fixed duration; it instead depends on its position in the calendar.
+In Cylc, the following are inexact units (when using the Gregorian
+calendar):</p>
+<ul class="simple">
+<li><p>year: either 365 or 366 days depending on whether it is a leap year</p></li>
+<li><p>month: between 28 - 31 days depending on the specific month and year</p></li>
+</ul>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-exact-datetime-unit"><span class="xref std std-term">exact datetime unit</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-initial-cycle-point">initial cycle point<a class="headerlink" href="#term-initial-cycle-point" title="Link to this term"></a></dt><dd><p>In a <a class="reference internal" href="#term-cycling"><span class="xref std std-term">cycling workflow</span></a> the initial cycle point is the
+first <a class="reference internal" href="#term-cycle-point"><span class="xref std std-term">cycle point</span></a> in the <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="reference/config/workflow.html#flow.cylc[scheduling]initial cycle point" title="flow.cylc[scheduling]initial cycle point"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling]initial</span> <span class="pre">cycle</span> <span class="pre">point</span></code></a>.</p></li>
+<li><p><a class="reference internal" href="#term-start-cycle-point"><span class="xref std std-term">start cycle point</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-install">install<a class="headerlink" href="#term-install" title="Link to this term"></a></dt><dt id="term-installation">installation<a class="headerlink" href="#term-installation" title="Link to this term"></a></dt><dt id="term-workflow-installation">workflow installation<a class="headerlink" href="#term-workflow-installation" title="Link to this term"></a></dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> command installs workflow <a class="reference internal" href="#term-source-directory"><span class="xref std std-term">source files</span></a> into a new <a class="reference internal" href="#term-run-directory"><span class="xref std std-term">run directory</span></a> under the
+<a class="reference internal" href="#term-cylc-run-directory"><span class="xref std std-term">cylc-run directory</span></a>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-reinstall"><span class="xref std std-term">reinstall</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-install-target">install target<a class="headerlink" href="#term-install-target" title="Link to this term"></a></dt><dd><p>Cylc uses install targets to determine which platforms share file systems.
+Install targets should normally be managed at site level. They are configured in
+<a class="reference internal" href="reference/config/global.html#global.cylc[platforms][&lt;platform name&gt;]install target" title="global.cylc[platforms][&lt;platform name&gt;]install target"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]install</span> <span class="pre">target</span></code></a>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="reference/config/writing-platform-configs.html#install-targets"><span class="std std-ref">What Are Install Targets?</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-integer-cycling">integer cycling<a class="headerlink" href="#term-integer-cycling" title="Link to this term"></a></dt><dd><p>An integer <a class="reference internal" href="#term-cycling-workflow"><span class="xref std std-term">cycling workflow</span></a> uses integer <a class="reference internal" href="#term-cycle-point"><span class="xref std std-term">cycle points</span></a> and <a class="reference internal" href="#term-recurrence"><span class="xref std std-term">recurrences</span></a> (e.g. <code class="docutils literal notranslate"><span class="pre">P3</span></code> means
+every third cycle).</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="reference/config/workflow.html#flow.cylc[scheduling]cycling mode" title="flow.cylc[scheduling]cycling mode"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling]cycling</span> <span class="pre">mode</span></code></a></p></li>
+<li><p><a class="reference internal" href="#term-datetime-cycling"><span class="xref std std-term">datetime cycling</span></a></p></li>
+<li><p><a class="reference internal" href="tutorial/scheduling/integer-cycling.html#tutorial-integer-cycling"><span class="std std-ref">Cylc tutorial</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-intercycle-dependence">intercycle dependence<a class="headerlink" href="#term-intercycle-dependence" title="Link to this term"></a></dt><dt id="term-intercycle-dependency">intercycle dependency<a class="headerlink" href="#term-intercycle-dependency" title="Link to this term"></a></dt><dt id="term-intercycle-trigger">intercycle trigger<a class="headerlink" href="#term-intercycle-trigger" title="Link to this term"></a></dt><dd><p>In a <a class="reference internal" href="#term-cycling"><span class="xref std std-term">cycling workflow</span></a>, intercycle dependence refers to
+a <a class="reference internal" href="#term-task"><span class="xref std std-term">task</span></a> depending on other tasks at different cycle points.</p>
+<p>For example, in the following workflow the task <code class="docutils literal notranslate"><span class="pre">bar</span></code> depends on
+its own previous instance:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 1</span>
+    <span class="nv">cycling mode </span><span class="o">=</span><span class="s"> integer</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">bar</span> <span class="o">=&gt;</span> <span class="kd">baz</span>
+            <span class="kd">bar</span>[<span class="nb">-P1</span>] <span class="o">=&gt;</span> <span class="kd">bar</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<div align="center" class="align-center"><div class="graphviz"><object data="_images/graphviz-a0b983d4be5182e8e12f4aacfcc75c2683db3c40.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Example {
+size = &quot;3,5&quot;
+
+subgraph cluster_1 {
+    label = &quot;1&quot;
+    style = dashed
+    &quot;1/foo&quot; [label=&quot;foo\n1&quot;]
+    &quot;1/bar&quot; [label=&quot;bar\n1&quot;]
+    &quot;1/baz&quot; [label=&quot;baz\n1&quot;]
+}
+
+subgraph cluster_2 {
+    label = &quot;2&quot;
+    style = dashed
+    &quot;2/foo&quot; [label=&quot;foo\n2&quot;]
+    &quot;2/bar&quot; [label=&quot;bar\n2&quot;]
+    &quot;2/baz&quot; [label=&quot;baz\n2&quot;]
+}
+
+subgraph cluster_3 {
+    label = &quot;3&quot;
+    style = dashed
+    &quot;3/foo&quot; [label=&quot;foo\n3&quot;]
+    &quot;3/bar&quot; [label=&quot;bar\n3&quot;]
+    &quot;3/baz&quot; [label=&quot;baz\n3&quot;]
+}
+
+&quot;1/foo&quot; -&gt; &quot;1/bar&quot; -&gt; &quot;1/baz&quot;
+&quot;2/foo&quot; -&gt; &quot;2/bar&quot; -&gt; &quot;2/baz&quot;
+&quot;3/foo&quot; -&gt; &quot;3/bar&quot; -&gt; &quot;3/baz&quot;
+&quot;1/bar&quot; -&gt; &quot;2/bar&quot; -&gt; &quot;3/bar&quot;
+}</p></object></div>
+</div>
+</dd>
+<dt id="term-ISO-8601">ISO 8601<a class="headerlink" href="#term-ISO-8601" title="Link to this term"></a></dt><dt id="term-ISO8601">ISO8601<a class="headerlink" href="#term-ISO8601" title="Link to this term"></a></dt><dd><p>ISO 8601 is an international standard for writing datetimes, durations,
+and <a class="reference internal" href="#term-recurrence"><span class="xref std std-term">recurrences</span></a> (sequences of datetimes). Cylc uses
+ISO 8601 for <a class="reference internal" href="#term-datetime-cycling"><span class="xref std std-term">datetime cycling</span></a>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-ISO-8601-datetime"><span class="xref std std-term">ISO 8601 datetime</span></a></p></li>
+<li><p><a class="reference external" href="https://en.wikipedia.org/wiki/ISO_8601">Wikipedia (ISO 8601)</a></p></li>
+<li><p><a class="reference external" href="https://www.iso.org/iso-8601-date-and-time-format.html">International Organisation For Standardisation</a></p></li>
+<li><p><a class="reference external" href="http://www.cl.cam.ac.uk/%7Emgk25/iso-time.html">a summary of the international standard date and time notation</a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-ISO-8601-datetime">ISO 8601 datetime<a class="headerlink" href="#term-ISO-8601-datetime" title="Link to this term"></a></dt><dt id="term-ISO8601-datetime">ISO8601 datetime<a class="headerlink" href="#term-ISO8601-datetime" title="Link to this term"></a></dt><dd><p>A datetime written in the <a class="reference internal" href="#term-ISO-8601"><span class="xref std std-term">ISO 8601</span></a> format, e.g:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">2000-01-01T00:00Z</span></code>: midnight on the 1st of January 2000, UTC.</p></li>
+</ul>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="tutorial/scheduling/datetime-cycling.html#tutorial-iso8601-datetimes"><span class="std std-ref">Cylc tutorial</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-ISO-8601-duration">ISO 8601 duration<a class="headerlink" href="#term-ISO-8601-duration" title="Link to this term"></a></dt><dt id="term-ISO8601-duration">ISO8601 duration<a class="headerlink" href="#term-ISO8601-duration" title="Link to this term"></a></dt><dd><p>A duration written in the ISO 8601 format e.g:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">PT1H30M</span></code>: one hour and thirty minutes.</p></li>
+</ul>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-ISO-8601"><span class="xref std std-term">ISO 8601</span></a></p></li>
+<li><p><a class="reference internal" href="tutorial/scheduling/datetime-cycling.html#tutorial-iso8601-durations"><span class="std std-ref">Cylc tutorial</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-job">job<a class="headerlink" href="#term-job" title="Link to this term"></a></dt><dd><p>Jobs are real processes that perform <a class="reference internal" href="#term-task"><span class="xref std std-term">tasks</span></a> in a
+<a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow</span></a>. In Cylc, they are implemented by <a class="reference internal" href="#term-job-script"><span class="xref std std-term">job scripts</span></a> prepared by the <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a>.</p>
+</dd>
+<dt id="term-job-host">job host<a class="headerlink" href="#term-job-host" title="Link to this term"></a></dt><dd><p>A job host is a compute resource that a <a class="reference internal" href="#term-job"><span class="xref std std-term">job</span></a> runs on. For
+example <code class="docutils literal notranslate"><span class="pre">node_1</span></code> would be one of two possible job hosts on the
+<a class="reference internal" href="#term-platform"><span class="xref std std-term">platform</span></a> <code class="docutils literal notranslate"><span class="pre">my_hpc</span></code> for the task <code class="docutils literal notranslate"><span class="pre">solver</span></code> in the
+following workflow:</p>
+<div class="literal-block-wrapper docutils container" id="id2">
+<div class="code-block-caption"><span class="caption-text">global.cylc</span><a class="headerlink" href="#id2" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[my_hpc]]</span>
+        <span class="nv">hosts </span><span class="o">=</span><span class="s"> node_1, node_2</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> slurm</span>
+</pre></div>
+</div>
+</div>
+<div class="literal-block-wrapper docutils container" id="id3">
+<div class="code-block-caption"><span class="caption-text">flow.cylc</span><a class="headerlink" href="#id3" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[solver]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> my_hpc</span>
+</pre></div>
+</div>
+</div>
+</dd>
+<dt id="term-job-log">job log<a class="headerlink" href="#term-job-log" title="Link to this term"></a></dt><dt id="term-job-log-directory">job log directory<a class="headerlink" href="#term-job-log-directory" title="Link to this term"></a></dt><dd><p>Task <a class="reference internal" href="#term-job"><span class="xref std std-term">job</span></a> log files are stored in job specific log directories
+under the workflow <a class="reference internal" href="#term-run-directory"><span class="xref std std-term">run directory</span></a>. These include:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">job</span></code></dt><dd><p>The task <a class="reference internal" href="#term-job-script"><span class="xref std std-term">job script</span></a>.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">job.out</span></code></dt><dd><p>Job stdout.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">job.err</span></code></dt><dd><p>Job stderr.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">job.status</span></code></dt><dd><p>Job status data in case of lost contact with the scheduler.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">job-activity.log</span></code></dt><dd><p>Job data logged by the scheduler, rather than
+the job itself, such as output from the job submission command.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">job.xtrace</span></code></dt><dd><p>Debugging information from Bash captured when Cylc is run in
+<code class="docutils literal notranslate"><span class="pre">--debug</span></code> mode.</p>
+</dd>
+</dl>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="s">&lt;run-directory&gt;</span>/log/job/<span class="s">&lt;cycle-point&gt;</span>/<span class="s">&lt;task-name&gt;</span>/<span class="s">&lt;job-submit-num&gt;</span>
+</pre></div>
+</div>
+<p>You can print job logs at the terminal with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">cat-log</span>
+<span class="pre">&lt;workflow-name&gt;</span> <span class="pre">&lt;task-id&gt;</span></code>. By default this prints <code class="docutils literal notranslate"><span class="pre">job.out</span></code>.
+There are command options to select the other logs.</p>
+</dd>
+<dt id="term-job-runner">job runner<a class="headerlink" href="#term-job-runner" title="Link to this term"></a></dt><dd><p>A job runner is a system for submitting task <a class="reference internal" href="#term-job"><span class="xref std std-term">jobs</span></a> to run on
+a <a class="reference internal" href="#term-platform"><span class="xref std std-term">job platform</span></a>.</p>
+<p>Cylc supports various job runners, from direct background process
+execution to HPC batch queueing systems like PBS and Slurm (these are
+also known as <em>job schedulers</em> and <em>resource managers</em>).</p>
+<p>Job runners are configured on a per-platform basis in <code class="docutils literal notranslate"><span class="pre">global.cylc</span></code>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="reference/config/global.html#global.cylc[platforms][&lt;platform name&gt;]job runner" title="global.cylc[platforms][&lt;platform name&gt;]job runner"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]job</span> <span class="pre">runner</span></code></a>.</p></li>
+<li><p><a class="reference internal" href="#term-directive"><span class="xref std std-term">directive</span></a></p></li>
+<li><p><a class="reference external" href="https://en.wikipedia.org/wiki/Job_scheduler">Wikipedia (job scheduler)</a></p></li>
+</ul>
+</div>
+<div class="tip admonition">
+<p class="admonition-title">Cylc 7</p>
+<p>In Cylc 7 and earlier, job runners were referred to as “batch systems”.</p>
+</div>
+</dd>
+<dt id="term-job-script">job script<a class="headerlink" href="#term-job-script" title="Link to this term"></a></dt><dd><p>A Cylc job script is a file containing bash code to implement a task
+definition in a workflow. It prepared and submitted to run by the
+<a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a> when the task is ready to run.</p>
+<p>Job scripts can be found in the task <a class="reference internal" href="#term-job-log-directory"><span class="xref std std-term">job log directory</span></a>.</p>
+</dd>
+<dt id="term-job-submission-number">job submission number<a class="headerlink" href="#term-job-submission-number" title="Link to this term"></a></dt><dd><p>A single <a class="reference internal" href="#term-task"><span class="xref std std-term">task</span></a> may run multiple <a class="reference internal" href="#term-job"><span class="xref std std-term">jobs</span></a> as a result of
+automatic <a class="reference internal" href="#term-retry"><span class="xref std std-term">retries</span></a> or manually retriggering.
+The job submission number is incremented each time, starting from 1.</p>
+</dd>
+<dt id="term-message-trigger">message trigger<a class="headerlink" href="#term-message-trigger" title="Link to this term"></a></dt><dd><p>A message trigger is a <a class="reference internal" href="#term-trigger"><span class="xref std std-term">trigger</span></a> based on a
+<a class="reference internal" href="#term-custom-output"><span class="xref std std-term">custom task output</span></a>. The task <a class="reference internal" href="#term-job"><span class="xref std std-term">job</span></a> must
+send a user-defined message to the scheduler to complete the output.</p>
+<p>For brevity, the trigger in the <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a> uses the output name, not
+the full message:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+           <span class="kd">foo</span><span class="c">:</span><span class="kd">out1</span> <span class="o">=&gt;</span> <span class="kd">proc</span><span class="c">-</span><span class="kd">out</span><span class="c">-</span><span class="kd">1</span>
+           <span class="kd">foo</span><span class="c">:</span><span class="kd">out2</span> <span class="o">=&gt;</span> <span class="kd">proc</span><span class="c">-</span><span class="kd">out</span><span class="c">-</span><span class="kd">2</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="c1"># ...</span>
+<span class="s2">            cylc message &quot;Output 1 completed&quot;</span>
+            <span class="c1"># ...</span>
+<span class="s2">            cylc message &quot;Output 2 completed&quot;</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+        <span class="nt">[[[outputs]]]</span>
+            <span class="c1"># output name = output message</span>
+            <span class="nv">out1 </span><span class="o">=</span><span class="s"> &quot;Output 1 completed&quot;</span>
+            <span class="nv">out2 </span><span class="o">=</span><span class="s"> &quot;Output 2 completed&quot;</span>
+</pre></div>
+</div>
+<p>However, if you don’t need a descriptive message for the workflow
+log, you can make the message the same as its name:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[[outputs]]]</span>
+    <span class="nv">out1 </span><span class="o">=</span><span class="s"> out1</span>
+</pre></div>
+</div>
+</dd>
+<dt id="term-optional-output">optional output<a class="headerlink" href="#term-optional-output" title="Link to this term"></a></dt><dd><p>Optional <a class="reference internal" href="#term-task-output"><span class="xref std std-term">task outputs</span></a> are marked with a question
+mark in the <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a>, e.g. <code class="docutils literal notranslate"><span class="pre">foo:x?</span></code>, or <code class="docutils literal notranslate"><span class="pre">foo:fail?</span></code>,  or
+<code class="docutils literal notranslate"><span class="pre">foo?</span></code> (short for <code class="docutils literal notranslate"><span class="pre">foo:succeed?</span></code>). The may or may not be completed at
+runtime. Optional outputs are primarily used for <a class="reference internal" href="#term-graph-branching"><span class="xref std std-term">graph branching</span></a>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-required-output"><span class="xref std std-term">required output</span></a></p></li>
+<li><p><a class="reference internal" href="user-guide/writing-workflows/scheduling.html#user-guide-optional-outputs"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-pause">pause<a class="headerlink" href="#term-pause" title="Link to this term"></a></dt><dd><p>When a <a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow</span></a> is “paused” the <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a> is still
+running but it will not submit any new jobs.</p>
+<p>This can be useful if you want to make a change to a running workflow.</p>
+<p>Pause a workflow with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">pause</span></code> and resume it with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-play"><span class="xref std std-term">play</span></a></p></li>
+<li><p><a class="reference internal" href="#term-stop"><span class="xref std std-term">stop</span></a></p></li>
+<li><p><a class="reference internal" href="#term-hold"><span class="xref std std-term">hold</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-platform">platform<a class="headerlink" href="#term-platform" title="Link to this term"></a></dt><dt id="term-job-platform">job platform<a class="headerlink" href="#term-job-platform" title="Link to this term"></a></dt><dd><p>A platform for running Cylc task <a class="reference internal" href="#term-job"><span class="xref std std-term">jobs</span></a> is primarily defined
+by the combination of a <a class="reference internal" href="#term-job-runner"><span class="xref std std-term">job runner</span></a> and a group of <a class="reference internal" href="#term-job-host"><span class="xref std std-term">hosts</span></a> that share a file system.</p>
+<p>For example <code class="docutils literal notranslate"><span class="pre">my_hpc</span></code> could be the platform for the task <code class="docutils literal notranslate"><span class="pre">solver</span></code>
+in the following workflow:</p>
+<div class="literal-block-wrapper docutils container" id="id4">
+<div class="code-block-caption"><span class="caption-text">Global configuration (<code class="docutils literal notranslate"><span class="pre">global.cylc</span></code>)</span><a class="headerlink" href="#id4" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[my_hpc]]</span>
+        <span class="nv">hosts </span><span class="o">=</span><span class="s"> node_1, node_2</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> slurm</span>
+</pre></div>
+</div>
+</div>
+<div class="literal-block-wrapper docutils container" id="id5">
+<div class="code-block-caption"><span class="caption-text">Workflow configuration (<code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code>)</span><a class="headerlink" href="#id5" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[solver]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> my_hpc</span>
+</pre></div>
+</div>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-platform-group"><span class="xref std std-term">platform group</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-platform-group">platform group<a class="headerlink" href="#term-platform-group" title="Link to this term"></a></dt><dd><p>A set of <a class="reference internal" href="#term-platform"><span class="xref std std-term">platforms</span></a> grouped under a common name.</p>
+<p>Platforms are configured by <a class="reference internal" href="reference/config/global.html#global.cylc[platform groups]" title="global.cylc[platform groups]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platform</span> <span class="pre">groups]</span></code></a>.</p>
+</dd>
+<dt id="term-play">play<a class="headerlink" href="#term-play" title="Link to this term"></a></dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> command runs an instance of the <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a>
+program to <a class="reference internal" href="#term-start"><span class="xref std std-term">start</span></a> or <a class="reference internal" href="#term-restart"><span class="xref std std-term">restart</span></a> a <a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow</span></a>.</p>
+<p>You can <a class="reference internal" href="#term-play"><span class="xref std std-term">play</span></a>, <a class="reference internal" href="#term-pause"><span class="xref std std-term">pause</span></a> and <a class="reference internal" href="#term-stop"><span class="xref std std-term">stop</span></a> a <a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow</span></a>,
+Cylc will always carry on where it left off.</p>
+</dd>
+<dt id="term-qualifier">qualifier<a class="headerlink" href="#term-qualifier" title="Link to this term"></a></dt><dd><p>A qualifier is what follows <a class="reference internal" href="#term-task"><span class="xref std std-term">task</span></a> or family <a class="reference internal" href="#term-family"><span class="xref std std-term">family</span></a> names
+after a colon <code class="docutils literal notranslate"><span class="pre">:</span></code> in <a class="reference internal" href="#term-trigger"><span class="xref std std-term">triggers</span></a>, in the <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a>,
+to specify exactly which <a class="reference internal" href="#term-task-output"><span class="xref std std-term">task outputs</span></a> must be
+completed for the <a class="reference internal" href="#term-dependency"><span class="xref std std-term">dependency</span></a> to be satisfied.</p>
+<p>For example, in <code class="docutils literal notranslate"><span class="pre">foo:start</span> <span class="pre">=&gt;</span> <span class="pre">bar</span></code>, the <code class="docutils literal notranslate"><span class="pre">:start</span></code> qualifier means that
+the <code class="docutils literal notranslate"><span class="pre">started</span></code> output of task <code class="docutils literal notranslate"><span class="pre">foo</span></code> must be completed to satisfy the
+dependency.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-task-trigger"><span class="xref std std-term">task triggers</span></a></p></li>
+<li><p><a class="reference internal" href="#term-family-trigger"><span class="xref std std-term">family triggers</span></a></p></li>
+<li><p><a class="reference internal" href="tutorial/scheduling/further-scheduling.html#tutorial-qualifiers"><span class="std std-ref">Cylc tutorial</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-queue">queue<a class="headerlink" href="#term-queue" title="Link to this term"></a></dt><dt id="term-internal-queue">internal queue<a class="headerlink" href="#term-internal-queue" title="Link to this term"></a></dt><dd><p>Internal queues (so called to distinguish them from external batch
+queueing systems) allow you to limit how many <a class="reference internal" href="#term-task"><span class="xref std std-term">tasks</span></a> can be
+active (submitted or running) at once, across defined groups of tasks.</p>
+<p>Use queues prevent large or busy workflows from swamping their
+<a class="reference internal" href="#term-job-platform"><span class="xref std std-term">job platforms</span></a> with too many jobs at once.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="reference/config/workflow.html#flow.cylc[scheduling][queues]" title="flow.cylc[scheduling][queues]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling][queues]</span></code></a></p></li>
+<li><p><a class="reference internal" href="user-guide/writing-workflows/scheduling.html#internalqueues"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-recurrence">recurrence<a class="headerlink" href="#term-recurrence" title="Link to this term"></a></dt><dd><p>In a <a class="reference internal" href="#term-cycling"><span class="xref std std-term">cycling workflow</span></a> a recurrence determines the
+sequence of cycle points given to task instances that appear in the
+associated <a class="reference internal" href="#term-graph-string"><span class="xref std std-term">graph string</span></a>.</p>
+<p>Recurrences for <a class="reference internal" href="#term-datetime-cycling"><span class="xref std std-term">datetime cycling</span></a> are based on the <a class="reference internal" href="#term-ISO8601"><span class="xref std std-term">ISO8601</span></a>
+standard. Those for <a class="reference internal" href="#term-integer-cycling"><span class="xref std std-term">integer cycling</span></a> are designed to have similar
+syntax, but are much simpler.</p>
+</dd>
+<dt id="term-reinstall">reinstall<a class="headerlink" href="#term-reinstall" title="Link to this term"></a></dt><dt id="term-reinstallation">reinstallation<a class="headerlink" href="#term-reinstallation" title="Link to this term"></a></dt><dd><p>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">reinstall</span></code> command reinstalls workflow <a class="reference internal" href="#term-source-directory"><span class="xref std std-term">source files</span></a> into an existing <a class="reference internal" href="#term-run-directory"><span class="xref std std-term">run directory</span></a> under the
+<a class="reference internal" href="#term-cylc-run-directory"><span class="xref std std-term">cylc-run directory</span></a>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-install"><span class="xref std std-term">install</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-release">release<a class="headerlink" href="#term-release" title="Link to this term"></a></dt><dd><p><a class="reference internal" href="#term-hold"><span class="xref std std-term">Held tasks</span></a> can be released with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">release</span></code>,
+allowing submission of task <a class="reference internal" href="#term-job"><span class="xref std std-term">jobs</span></a> once again.</p>
+<p>It is also possible to remove the “hold after cycle point” if set,
+using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">release</span> <span class="pre">--all</span></code>. This will also release all held tasks.</p>
+</dd>
+<dt id="term-reload">reload<a class="headerlink" href="#term-reload" title="Link to this term"></a></dt><dd><p><a class="reference internal" href="#term-scheduler"><span class="xref std std-term">Schedulers</span></a> can reload their <a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow</span></a>
+configuration from the <a class="reference internal" href="#term-install"><span class="xref std std-term">installed</span></a> <a class="reference internal" href="reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a>
+file, to pick up changes made at runtime.</p>
+<p>We recommend that changes are <a class="reference internal" href="#term-reinstall"><span class="xref std std-term">reinstalled</span></a> from the
+workflow <a class="reference internal" href="#term-source-directory"><span class="xref std std-term">source directory</span></a> before reload, rather than made by
+editing the installed files directly.</p>
+<p><a class="reference internal" href="user-guide/running-workflows/scheduler-start-up.html#remoteinit"><span class="std std-ref">Remote Initialization</span></a> will be redone for each job platform, when the first job is submitted there after a reload.</p>
+<p>Any <a class="reference internal" href="#term-task"><span class="xref std std-term">task</span></a> that is active at reload will continue with its
+pre-reload configuration. It’s next instance (at the next cycle point)
+will adopt the new configuration.</p>
+<p>Reloading changes is safe providing they don’t affect the
+<a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow’s</span></a> <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a>. Changes to the graph have
+certain caveats attached, see the
+<a class="reference internal" href="user-guide/running-workflows/scheduler-start-up.html#reloading-the-workflow-configuration-at-runtime"><span class="std std-ref">Cylc User Guide</span></a>
+for details.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-restart"><span class="xref std std-term">restart</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-required-output">required output<a class="headerlink" href="#term-required-output" title="Link to this term"></a></dt><dt id="term-expected-output">expected output<a class="headerlink" href="#term-expected-output" title="Link to this term"></a></dt><dd><p>Task outputs that are not marked as <a class="reference internal" href="#term-optional-output"><span class="xref std std-term">optional</span></a>
+in the <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a> are required to be completed at runtime. If not, the
+<a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a> retains the task as <a class="reference internal" href="#term-incomplete"><span class="xref std std-term">incomplete</span></a> pending user
+intervention.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="user-guide/writing-workflows/scheduling.html#required-outputs"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-restart">restart<a class="headerlink" href="#term-restart" title="Link to this term"></a></dt><dd><p>When a <a class="reference internal" href="#term-stop"><span class="xref std std-term">stopped</span></a> <a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow</span></a> is <a class="reference internal" href="#term-play"><span class="xref std std-term">played</span></a>
+again, the <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a> picks up where it left off rather than
+starting again from scratch. It also detects any orphaned <a class="reference internal" href="#term-job"><span class="xref std std-term">jobs</span></a> that changed state (e.g. succeeded) while the system was down.</p>
+<p>Changes made to the <a class="reference internal" href="#term-install"><span class="xref std std-term">installed</span></a> <a class="reference internal" href="reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a>
+file will be picked at restart. We recommend that changes are
+<a class="reference internal" href="#term-reinstall"><span class="xref std std-term">reinstalled</span></a> from the workflow <a class="reference internal" href="#term-source-directory"><span class="xref std std-term">source
+directory</span></a> before restart, rather than made by editing the installed
+files directly.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-start"><span class="xref std std-term">start</span></a></p></li>
+<li><p><a class="reference internal" href="#term-stop"><span class="xref std std-term">stop</span></a></p></li>
+<li><p><a class="reference internal" href="#term-reload"><span class="xref std std-term">reload</span></a></p></li>
+<li><p><a class="reference internal" href="tutorial/runtime/runtime-configuration.html#tutorial-start-stop-restart"><span class="std std-ref">Tutorial</span></a>.</p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-retry">retry<a class="headerlink" href="#term-retry" title="Link to this term"></a></dt><dt id="term-task-retry">task retry<a class="headerlink" href="#term-task-retry" title="Link to this term"></a></dt><dt id="term-try-number">try number<a class="headerlink" href="#term-try-number" title="Link to this term"></a></dt><dd><p>Tasks can be configured to retry automatically on failure, one or more
+times. They return to the <code class="docutils literal notranslate"><span class="pre">waiting</span></code> state with a <a class="reference internal" href="#term-clock-trigger"><span class="xref std std-term">clock trigger</span></a>
+to delay the retry, and only go to the <code class="docutils literal notranslate"><span class="pre">failed</span></code> <a class="reference internal" href="#term-task-state"><span class="xref std std-term">state</span></a> once the final try fails.</p>
+<p>The task try number increments with every automatic retry, and is
+passed to the job environment as <code class="docutils literal notranslate"><span class="pre">$CYLC_TASK_TRY_NUMBER</span></code>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="user-guide/writing-workflows/runtime.html#taskretries"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-run-directory">run directory<a class="headerlink" href="#term-run-directory" title="Link to this term"></a></dt><dt id="term-workflow-run-directory">workflow run directory<a class="headerlink" href="#term-workflow-run-directory" title="Link to this term"></a></dt><dd><p>This is a location under the <a class="reference internal" href="#term-cylc-run-directory"><span class="xref std std-term">cylc-run directory</span></a> that contains the
+<a class="reference internal" href="#term-install"><span class="xref std std-term">installed</span></a> configuration used to run a <a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow</span></a>.</p>
+<p>At runtime, task <a class="reference internal" href="#term-job"><span class="xref std std-term">jobs</span></a> can get their workflow run
+directory from the environment variable <code class="docutils literal notranslate"><span class="pre">CYLC_WORKFLOW_RUN_DIR</span></code>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-source-directory"><span class="xref std std-term">source directory</span></a></p></li>
+<li><p><a class="reference internal" href="#term-work-directory"><span class="xref std std-term">work directory</span></a></p></li>
+<li><p><a class="reference internal" href="#term-share-directory"><span class="xref std std-term">share directory</span></a></p></li>
+<li><p><a class="reference internal" href="#term-job-log-directory"><span class="xref std std-term">job log directory</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-runahead-limit">runahead limit<a class="headerlink" href="#term-runahead-limit" title="Link to this term"></a></dt><dt id="term-runahead">runahead<a class="headerlink" href="#term-runahead" title="Link to this term"></a></dt><dd><p>In a <a class="reference internal" href="#term-cycling-workflow"><span class="xref std std-term">cycling workflow</span></a>, the runahead limit determines the maximum
+number of consecutive cycle points that can be active at once.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="reference/config/workflow.html#flow.cylc[scheduling]runahead limit" title="flow.cylc[scheduling]runahead limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling]runahead</span> <span class="pre">limit</span></code></a></p></li>
+<li><p><a class="reference internal" href="workflow-design-guide/general-principles.html#runahead-limiting"><span class="std std-ref">Runahead Limiting</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-runtime-inheritance">runtime inheritance<a class="headerlink" href="#term-runtime-inheritance" title="Link to this term"></a></dt><dt id="term-family-inheritance">family inheritance<a class="headerlink" href="#term-family-inheritance" title="Link to this term"></a></dt><dd><p>A <a class="reference internal" href="#term-task"><span class="xref std std-term">task</span></a> is a member of a <a class="reference internal" href="#term-family"><span class="xref std std-term">family</span></a> if it inherits the
+family configuration via <a class="reference internal" href="reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]inherit" title="flow.cylc[runtime][&lt;namespace&gt;]inherit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;]inherit</span></code></a>.</p>
+<p>For example the <a class="reference internal" href="#term-task"><span class="xref std std-term">task</span></a> <code class="docutils literal notranslate"><span class="pre">cheddar</span></code> “belongs” to the <a class="reference internal" href="#term-family"><span class="xref std std-term">family</span></a>
+<code class="docutils literal notranslate"><span class="pre">CHEESE</span></code> in the following snippet:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[CHEESE]]</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">COLOR </span><span class="o">=</span><span class="s"> yellow</span>
+    <span class="nt">[[cheddar]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> FAMILY</span>
+</pre></div>
+</div>
+<p>Families can also inherit from other families. All tasks implicitly
+inherit from a special <code class="docutils literal notranslate"><span class="pre">root</span></code> family at the base of the inheritance
+hierarchy.</p>
+<p>Tasks can inherit from multiple families at once using a comma-separated
+list:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">inherit </span><span class="o">=</span><span class="s"> foo, bar, baz</span>
+</pre></div>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-family-trigger"><span class="xref std std-term">family trigger</span></a></p></li>
+<li><p><a class="reference internal" href="user-guide/writing-workflows/runtime.html#user-guide-runtime"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+<li><p><a class="reference internal" href="tutorial/furthertopics/inheritance.html#tutorial-inheritance"><span class="std std-ref">Cylc Tutorial</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-scheduler">scheduler<a class="headerlink" href="#term-scheduler" title="Link to this term"></a></dt><dd><p>The Cylc scheduler is a program responsible for managing a single
+Cylc <a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow</span></a>. It determines when each <a class="reference internal" href="#term-task"><span class="xref std std-term">tasks</span></a> is
+ready to run, submits its <a class="reference internal" href="#term-job"><span class="xref std std-term">jobs</span></a> to selected job runners,
+tracks job status, maintains the workflow state, and listens for queries
+and commands from the user.</p>
+<p>By default, Cylc schedulers run as daemons (and potentially on a remote
+host) so they won’t be killed if you log out.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference external" href="https://en.wikipedia.org/wiki/Daemon_(computing)">Wikipedia: daemon</a></p></li>
+</ul>
+</div>
+<div class="tip admonition">
+<p class="admonition-title">Cylc 7</p>
+<p>In Cylc 7 and earlier, schedulers were known as “suite daemons”.</p>
+</div>
+</dd>
+<dt id="term-service-directory">service directory<a class="headerlink" href="#term-service-directory" title="Link to this term"></a></dt><dd><p>The hidden service directory, under the workflow <a class="reference internal" href="#term-run-directory"><span class="xref std std-term">run directory</span></a>,
+stores information for internal use by Cylc. It is created at
+<a class="reference internal" href="#term-install"><span class="xref std std-term">install</span></a> time.</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="s">&lt;run-directory&gt;</span>/.service/
+</pre></div>
+</div>
+</dd>
+<dt id="term-share-directory">share directory<a class="headerlink" href="#term-share-directory" title="Link to this term"></a></dt><dd><p>Cylc automatically creates a share directory inside the workflow
+<a class="reference internal" href="#term-run-directory"><span class="xref std std-term">run directory</span></a> as a place to store files that need to be
+shared between tasks.</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="s">&lt;run-directory&gt;</span>/share
+</pre></div>
+</div>
+<p>Tasks can get their own share directory path at runtime from
+the <code class="docutils literal notranslate"><span class="pre">CYLC_WORKFLOW_SHARE_DIR</span></code> environment variable.</p>
+<p>In cycling workflows files are typically stored in cycle point
+sub-directories of the share directory.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-run-directory"><span class="xref std std-term">run directory</span></a></p></li>
+<li><p><a class="reference internal" href="#term-work-directory"><span class="xref std std-term">work directory</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-source-directory">source directory<a class="headerlink" href="#term-source-directory" title="Link to this term"></a></dt><dt id="term-source-workflow">source workflow<a class="headerlink" href="#term-source-workflow" title="Link to this term"></a></dt><dd><p>A source directory is any location where <a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflows</span></a> are
+written and stored in preparation for installation with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code>
+or reinstallation with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">reinstall</span></code>.</p>
+<p>These locations are configurable. The default is <code class="docutils literal notranslate"><span class="pre">~/cylc-src</span></code>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-run-directory"><span class="xref std std-term">run directory</span></a></p></li>
+<li><p><a class="reference internal" href="reference/config/global.html#global.cylc[install]source dirs" title="global.cylc[install]source dirs"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[install]source</span> <span class="pre">dirs</span></code></a></p></li>
+<li><p><a class="reference internal" href="user-guide/installing-workflows.html#installing-workflows"><span class="std std-ref">Installing Workflows</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-stall">stall<a class="headerlink" href="#term-stall" title="Link to this term"></a></dt><dt id="term-stalled-workflow">stalled workflow<a class="headerlink" href="#term-stalled-workflow" title="Link to this term"></a></dt><dt id="term-stalled-state">stalled state<a class="headerlink" href="#term-stalled-state" title="Link to this term"></a></dt><dd><p>If there are no more tasks to run according to the <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a>, but
+<a class="reference internal" href="#term-incomplete-task"><span class="xref std std-term">incomplete tasks</span></a> are present, the
+<a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a> will stall and stay up for a time instead of
+shutting down with the workflow <a class="reference internal" href="#term-workflow-completion"><span class="xref std std-term">complete</span></a>.</p>
+<p>Stalls are usually caused by unexpected task failures:</p>
+<div align="center" class="align-center"><div class="graphviz"><object data="_images/graphviz-8e0c9728aa86a233cf46544e68a49dea2fe207ab.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Example {
+foo [style=&quot;filled&quot; color=&quot;#ada5a5&quot;]
+bar [style=&quot;filled&quot; color=&quot;#ff0000&quot; fontcolor=&quot;white&quot;]
+baz [color=&quot;#88c6ff&quot;]
+
+foo -&gt; bar -&gt; baz
+}</p></object></div>
+</div>
+<p>In this example the task <code class="docutils literal notranslate"><span class="pre">bar</span></code> has failed, so  that <code class="docutils literal notranslate"><span class="pre">baz</span></code> cannot
+run, but <code class="docutils literal notranslate"><span class="pre">bar:fail</span></code> was not marked as an <a class="reference internal" href="#term-optional-output"><span class="xref std std-term">optional output</span></a>.</p>
+<p>User intervention is required to fix a stall, e.g. by retriggering
+incomplete tasks after fixing the problems that caused them to fail.</p>
+</dd>
+<dt id="term-standard-output">standard output<a class="headerlink" href="#term-standard-output" title="Link to this term"></a></dt><dd><p>Every <a class="reference internal" href="#term-task"><span class="xref std std-term">task</span></a> has a set of standard <a class="reference internal" href="#term-task-output"><span class="xref std std-term">outputs</span></a>
+that trigger <a class="reference internal" href="#term-task-state"><span class="xref std std-term">task state</span></a> changes:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">:submitted</span></code>, or <code class="docutils literal notranslate"><span class="pre">:submit-failed</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">:started</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">:succeeded</span></code>, or <code class="docutils literal notranslate"><span class="pre">:failed</span></code></p></li>
+</ul>
+</div></blockquote>
+</dd>
+<dt id="term-start">start<a class="headerlink" href="#term-start" title="Link to this term"></a></dt><dt id="term-startup">startup<a class="headerlink" href="#term-startup" title="Link to this term"></a></dt><dd><p>This refers to starting a new instance of the Cylc <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a>
+program to manage a particular <a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow</span></a>. This can be from
+scratch, for installed workflows that haven’t run previously, or to
+restart one that shut down prior to <a class="reference internal" href="#term-workflow-completion"><span class="xref std std-term">completion</span></a>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-cold-start"><span class="xref std std-term">cold start</span></a></p></li>
+<li><p><a class="reference internal" href="#term-warm-start"><span class="xref std std-term">warm start</span></a></p></li>
+<li><p><a class="reference internal" href="#term-start-task"><span class="xref std std-term">start task</span></a></p></li>
+<li><p><a class="reference internal" href="#term-restart"><span class="xref std std-term">restart</span></a></p></li>
+<li><p><a class="reference internal" href="#term-reload"><span class="xref std std-term">reload</span></a></p></li>
+<li><p><a class="reference internal" href="#term-shutdown"><span class="xref std std-term">shutdown</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-start-cycle-point">start cycle point<a class="headerlink" href="#term-start-cycle-point" title="Link to this term"></a></dt><dd><p>In a <a class="reference internal" href="#term-cycling"><span class="xref std std-term">cycling workflow</span></a> the start cycle point is the
+<a class="reference internal" href="#term-cycle-point"><span class="xref std std-term">cycle point</span></a> where the <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a> <a class="reference internal" href="#term-start"><span class="xref std std-term">starts</span></a>
+running the workflow.</p>
+<p>This may be at or after the <a class="reference internal" href="#term-initial-cycle-point"><span class="xref std std-term">initial cycle point</span></a>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-stop-cycle-point"><span class="xref std std-term">stop cycle point</span></a></p></li>
+<li><p><a class="reference internal" href="user-guide/running-workflows/scheduler-start-up.html#start-stop-cycle-point"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-start-task">start task<a class="headerlink" href="#term-start-task" title="Link to this term"></a></dt><dd><p>A start task is <a class="reference internal" href="#term-task"><span class="xref std std-term">task</span></a> in the <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a> from which the
+<a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a> <a class="reference internal" href="#term-start"><span class="xref std std-term">starts</span></a> running a <a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow</span></a> from
+scratch.</p>
+<p>Earlier tasks depended on by start tasks are treated as if they have
+succeeded.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-cold-start"><span class="xref std std-term">cold start</span></a></p></li>
+<li><p><a class="reference internal" href="#term-warm-start"><span class="xref std std-term">warm start</span></a></p></li>
+<li><p><a class="reference internal" href="#term-start-cycle-point"><span class="xref std std-term">start cycle point</span></a></p></li>
+<li><p><a class="reference internal" href="#term-shutdown"><span class="xref std std-term">shutdown</span></a></p></li>
+</ul>
+</div>
+<div class="tip admonition">
+<p class="admonition-title">Cylc 7</p>
+<p>Cylc 7 and earlier did not have the capability to start from any task
+in the graph.</p>
+</div>
+</dd>
+<dt id="term-stop">stop<a class="headerlink" href="#term-stop" title="Link to this term"></a></dt><dt id="term-shutdown">shutdown<a class="headerlink" href="#term-shutdown" title="Link to this term"></a></dt><dd><p>A <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a> can shut down on request, or automatically on
+<a class="reference internal" href="#term-workflow-completion"><span class="xref std std-term">workflow completion</span></a>. The <a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow</span></a> is then stopped and no
+further <a class="reference internal" href="#term-job"><span class="xref std std-term">jobs</span></a> will be submitted.</p>
+<p>By default, the scheduler waits for any submitted or running task
+<a class="reference internal" href="#term-job"><span class="xref std std-term">jobs</span></a> to finish (either succeed or fail) before shutting
+down.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-play"><span class="xref std std-term">play</span></a></p></li>
+<li><p><a class="reference internal" href="#term-pause"><span class="xref std std-term">pause</span></a></p></li>
+<li><p><a class="reference internal" href="#term-start"><span class="xref std std-term">start</span></a></p></li>
+<li><p><a class="reference internal" href="#term-restart"><span class="xref std std-term">restart</span></a></p></li>
+<li><p><a class="reference internal" href="#term-reload"><span class="xref std std-term">reload</span></a></p></li>
+<li><p><a class="reference internal" href="tutorial/runtime/runtime-configuration.html#tutorial-start-stop-restart"><span class="std std-ref">Tutorial</span></a>.</p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-stop-cycle-point">stop cycle point<a class="headerlink" href="#term-stop-cycle-point" title="Link to this term"></a></dt><dd><p>The stop cycle point is the <a class="reference internal" href="#term-cycle-point"><span class="xref std std-term">cycle point</span></a> where <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a>
+stops running the workflow and <a class="reference internal" href="#term-shutdown"><span class="xref std std-term">shuts down</span></a>.</p>
+<p>This may be at or before the <a class="reference internal" href="#term-final-cycle-point"><span class="xref std std-term">final cycle point</span></a>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-start-cycle-point"><span class="xref std std-term">start cycle point</span></a></p></li>
+<li><p><a class="reference internal" href="user-guide/running-workflows/scheduler-start-up.html#start-stop-cycle-point"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-submit-number">submit number<a class="headerlink" href="#term-submit-number" title="Link to this term"></a></dt><dt id="term-task-submit-number">task submit number<a class="headerlink" href="#term-task-submit-number" title="Link to this term"></a></dt><dd><p>Every time a task re-runs, whether by automatic <a class="reference internal" href="#term-retry"><span class="xref std std-term">retry</span></a> or manual
+triggering, its submit number increments. It is passed to
+the job environment as <code class="docutils literal notranslate"><span class="pre">$CYLC_TASK_SUBMIT_NUMBER</span></code>.</p>
+<p>Submit number also appears in the job log path so that job log files
+don’t get overwritten.</p>
+</dd>
+<dt id="term-suicide-trigger">suicide trigger<a class="headerlink" href="#term-suicide-trigger" title="Link to this term"></a></dt><dd><p>Suicide triggers remove <a class="reference internal" href="#term-task"><span class="xref std std-term">tasks</span></a> from the <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler’s</span></a> active (<a class="reference internal" href="#term-n-window"><span class="xref std std-term">n=0</span></a>) window at runtime.</p>
+<p>They are denoted by exclamation marks, and are triggered like normal
+dependencies. For instance, the following suicide trigger will remove the
+task <code class="docutils literal notranslate"><span class="pre">bar</span></code> from the active window if <code class="docutils literal notranslate"><span class="pre">foo</span></code> succeeds:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span> <span class="o">=&gt;</span> <span class="c">!</span> <span class="kd">bar</span>
+</pre></div>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Suicide triggers are not needed in Cylc 8 for <a class="reference internal" href="#term-graph-branching"><span class="xref std std-term">graph branching</span></a>.
+They are retained for backward compatibility and rare edge cases.</p>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="user-guide/writing-workflows/suicide-triggers.html#suicidetriggers"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-task">task<a class="headerlink" href="#term-task" title="Link to this term"></a></dt><dd><p>A task represents an activity in a <a class="reference internal" href="#term-workflow"><span class="xref std std-term">workflow</span></a>. The workflow
+definition specifies how tasks depends on other tasks, what they
+should do, how and where to run them, and details of their
+runtime environment.</p>
+<p>Task definitions are used to create a <a class="reference internal" href="#term-job-script"><span class="xref std std-term">job script</span></a> that is
+executed as a <a class="reference internal" href="#term-job"><span class="xref std std-term">job</span></a> on behalf of the task.</p>
+<p>Tasks submit <a class="reference internal" href="#term-job"><span class="xref std std-term">jobs</span></a>. Each <a class="reference internal" href="#term-job"><span class="xref std std-term">job</span></a> belongs to one task,
+but one task can submit multiple <a class="reference internal" href="#term-job"><span class="xref std std-term">jobs</span></a>.</p>
+</dd>
+<dt id="term-task-output">task output<a class="headerlink" href="#term-task-output" title="Link to this term"></a></dt><dd><p>Task outputs mark the progression of a <a class="reference internal" href="#term-task"><span class="xref std std-term">task</span></a> from waiting (for
+prerequisites to be satisfied) through to success or failure at run
+time. Downstream tasks can trigger off of the outputs of other tasks, as
+determined by the <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a>.</p>
+<p>Outputs are written as <code class="docutils literal notranslate"><span class="pre">task-name:output</span></code> in the <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a>, and can
+be <a class="reference internal" href="#term-required-output"><span class="xref std std-term">required</span></a> or <a class="reference internal" href="#term-optional-output"><span class="xref std std-term">optional</span></a>.</p>
+<p>Tasks may have <a class="reference internal" href="#term-custom-output"><span class="xref std std-term">custom outputs</span></a> as well as
+<a class="reference internal" href="#term-standard-output"><span class="xref std std-term">standard outputs</span></a>.</p>
+<p>Here the task <code class="docutils literal notranslate"><span class="pre">bar</span></code> depends on the standard <code class="docutils literal notranslate"><span class="pre">:started</span></code> output of
+<code class="docutils literal notranslate"><span class="pre">foo</span></code>:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span><span class="c">:</span><span class="kd">started</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+</pre></div>
+</div>
+<p>The standard <code class="docutils literal notranslate"><span class="pre">:succeeded</span></code> output is usually implicit:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">bar</span>  <span class="c1"># means foo:succeeded =&gt; bar</span>
+</pre></div>
+</div>
+</dd>
+<dt id="term-task-parameters">task parameters<a class="headerlink" href="#term-task-parameters" title="Link to this term"></a></dt><dt id="term-parameterization">parameterization<a class="headerlink" href="#term-parameterization" title="Link to this term"></a></dt><dd><p>Task parameterization is one way of consolidating configuration in the
+<a class="reference internal" href="reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file. Cylc implicitly loops over ranges or lists
+of pre-defined parameters to automatically generate sets of similar
+tasks.</p>
+<p>Other ways of consolidating configuration include <a class="reference internal" href="#term-runtime-inheritance"><span class="xref std std-term">runtime
+inheritance</span></a> and templating with <a class="reference internal" href="user-guide/writing-workflows/jinja2.html#jinja"><span class="std std-ref">Jinja2</span></a> or <a class="reference internal" href="user-guide/writing-workflows/empy.html#user-guide-empy"><span class="std std-ref">Empy</span></a>.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+    <span class="nv">m </span><span class="o">=</span><span class="s"> 1..3</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = bar&lt;m&gt; </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">baz</span>&lt;<span class="nb">m</span>&gt;
+</pre></div>
+</div>
+<div class="minicylc" style="text-align: center;" data-dependencies="bar_m1 => baz_m1//bar_m2 => baz_m2//bar_m3 => baz_m3" data-theme="none" ><div class="graphviz"><object data="_images/graphviz-1567c5ca9415a41f14869c8104bfc463878870c5.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Mini_Cylc {
+bar_m3 -&gt; baz_m3
+bar_m1 -&gt; baz_m1
+baz_m1
+baz_m3
+baz_m2
+bar_m2 -&gt; baz_m2
+}</p></object></div>
+</div><div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="user-guide/writing-workflows/parameterized-tasks.html#user-guide-param"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+<li><p><a class="reference internal" href="tutorial/runtime/configuration-consolidation/parameters.html#tutorial-cylc-parameterization"><span class="std std-ref">Cylc tutorial</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-task-state">task state<a class="headerlink" href="#term-task-state" title="Link to this term"></a></dt><dd><p>A <a class="reference internal" href="#term-task"><span class="xref std std-term">task</span></a> progresses through a series of states in its lifetime.
+These include the <code class="docutils literal notranslate"><span class="pre">submitted</span></code> state after <a class="reference internal" href="#term-job"><span class="xref std std-term">job</span></a> submission;
+<code class="docutils literal notranslate"><span class="pre">running</span></code> after execution commences, and <code class="docutils literal notranslate"><span class="pre">succeeded</span></code> after
+successful job execution.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="user-guide/running-workflows/task-job-states.html#task-job-states"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+<li><p><a class="reference internal" href="tutorial/runtime/introduction.html#tutorial-tasks-and-jobs"><span class="std std-ref">Cylc tutorial</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-trigger">trigger<a class="headerlink" href="#term-trigger" title="Link to this term"></a></dt><dt id="term-task-trigger">task trigger<a class="headerlink" href="#term-task-trigger" title="Link to this term"></a></dt><dd><p>A trigger is the left-hand side of a <a class="reference internal" href="#term-dependency"><span class="xref std std-term">dependency</span></a> in the
+<a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a>. It defines the combination of <a class="reference internal" href="#term-task-output"><span class="xref std std-term">task outputs</span></a> that must be completed before downstream tasks can run.</p>
+<p>In this example, the task <code class="docutils literal notranslate"><span class="pre">bar</span></code> can be said to trigger off of
+completion of the <code class="docutils literal notranslate"><span class="pre">foo:started</span></code> output:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span><span class="c">:</span><span class="kd">started</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+</pre></div>
+</div>
+<p>Triggers can be based on <a class="reference internal" href="#term-standard-output"><span class="xref std std-term">standard</span></a> or
+<a class="reference internal" href="#term-custom-output"><span class="xref std std-term">custom</span></a> task outputs. In the latter case they
+are known as <a class="reference internal" href="#term-message-trigger"><span class="xref std std-term">message triggers</span></a>.</p>
+</dd>
+<dt id="term-validation">validation<a class="headerlink" href="#term-validation" title="Link to this term"></a></dt><dt id="term-workflow-validation">workflow validation<a class="headerlink" href="#term-workflow-validation" title="Link to this term"></a></dt><dd><p>Validation parses a <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> file to report any illegal items,
+syntax errors, deprecation warnings, and other problems.</p>
+<p>It is done automatically at start up, and should be done manually with
+the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">validate</span></code> command after making changes.</p>
+</dd>
+<dt id="term-wallclock-time">wallclock time<a class="headerlink" href="#term-wallclock-time" title="Link to this term"></a></dt><dd><p>The actual time (in the real world).</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-datetime-cycling"><span class="xref std std-term">datetime cycling</span></a></p></li>
+<li><p><a class="reference internal" href="#term-clock-trigger"><span class="xref std std-term">clock trigger</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-warm-start">warm start<a class="headerlink" href="#term-warm-start" title="Link to this term"></a></dt><dd><p>A warm start is when the <a class="reference internal" href="#term-scheduler"><span class="xref std std-term">scheduler</span></a> <a class="reference internal" href="#term-start"><span class="xref std std-term">starts</span></a> a
+<a class="reference internal" href="#term-cycling-workflow"><span class="xref std std-term">cycling workflow</span></a> running from a <a class="reference internal" href="#term-start-cycle-point"><span class="xref std std-term">start cycle point</span></a> after
+the <a class="reference internal" href="#term-initial-cycle-point"><span class="xref std std-term">initial cycle point</span></a>.</p>
+<p>To satisfy unbounded <a class="reference internal" href="#term-intercycle-dependence"><span class="xref std std-term">intercycle dependence</span></a> in the graph, tasks
+prior to the start cycle point are treated as if they have succeeded.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-cold-start"><span class="xref std std-term">cold start</span></a></p></li>
+<li><p><a class="reference internal" href="#term-start-task"><span class="xref std std-term">start task</span></a></p></li>
+<li><p><a class="reference internal" href="#term-restart"><span class="xref std std-term">restart</span></a></p></li>
+<li><p><a class="reference internal" href="#term-shutdown"><span class="xref std std-term">shutdown</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-window">window<a class="headerlink" href="#term-window" title="Link to this term"></a></dt><dt id="term-n-window">n-window<a class="headerlink" href="#term-n-window" title="Link to this term"></a></dt><dt id="term-active-window">active window<a class="headerlink" href="#term-active-window" title="Link to this term"></a></dt><dt id="term-workflow-window">workflow window<a class="headerlink" href="#term-workflow-window" title="Link to this term"></a></dt><dt id="term-active-task-pool">active task pool<a class="headerlink" href="#term-active-task-pool" title="Link to this term"></a></dt><dd><p>This is a <a class="reference internal" href="#term-graph"><span class="xref std std-term">graph</span></a>-based window or view of the workflow at runtime,
+including tasks out to <code class="docutils literal notranslate"><span class="pre">n</span></code> graph edges from current <a class="reference internal" href="#term-active-task"><span class="xref std std-term">active
+tasks</span></a>. The <em>active window</em> is <code class="docutils literal notranslate"><span class="pre">n=0</span></code>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="user-guide/running-workflows/tasks-jobs-ui.html#n-window"><span class="std std-ref">Cylc User Guide</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-work-directory">work directory<a class="headerlink" href="#term-work-directory" title="Link to this term"></a></dt><dd><p>Cylc executes task <a class="reference internal" href="#term-job"><span class="xref std std-term">jobs</span></a> inside a job-specific working
+directory, automatically created under the workflow <a class="reference internal" href="#term-run-directory"><span class="xref std std-term">run
+directory</span></a>.</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="s">&lt;run-directory&gt;</span>/work/<span class="s">&lt;cycle-point&gt;</span>/<span class="s">&lt;task-name&gt;</span>
+</pre></div>
+</div>
+<p>Tasks can get their own work directory path at runtime from
+the <code class="docutils literal notranslate"><span class="pre">CYLC_TASK_WORK_DIR</span></code> environment variable or the Posix <code class="docutils literal notranslate"><span class="pre">pwd</span></code>
+command.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#term-run-directory"><span class="xref std std-term">run directory</span></a></p></li>
+<li><p><a class="reference internal" href="#term-share-directory"><span class="xref std std-term">share directory</span></a></p></li>
+</ul>
+</div>
+</dd>
+<dt id="term-workflow">workflow<a class="headerlink" href="#term-workflow" title="Link to this term"></a></dt><dt id="term-cylc-workflow">cylc workflow<a class="headerlink" href="#term-cylc-workflow" title="Link to this term"></a></dt><dd><p>A workflow is a collection of <a class="reference internal" href="#term-task"><span class="xref std std-term">tasks</span></a> with
+<a class="reference internal" href="#term-dependency"><span class="xref std std-term">dependencies</span></a> between them that govern the order in
+which they can run.</p>
+<p>Cylc workflows are defined in <a class="reference internal" href="reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> files.</p>
+<p>For example, the following workflow represents the beer brewing process:</p>
+<div class="literal-block-wrapper docutils container" id="id1">
+<div class="code-block-caption"><span class="caption-text">flow.cylc</span><a class="headerlink" href="#id1" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">cycling mode </span><span class="o">=</span><span class="s"> integer</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 1</span>
+    <span class="nt">[[graph]]</span>
+        <span class="c1"># repeat this for each batch</span>
+        <span class="nv">P1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="c1"># the stages of brewing in the order they must occur in:</span>
+            <span class="kd">malt</span> <span class="o">=&gt;</span> <span class="kd">mash</span> <span class="o">=&gt;</span> <span class="kd">sparge</span> <span class="o">=&gt;</span> <span class="kd">boil</span> <span class="o">=&gt;</span> <span class="kd">chill</span> <span class="o">=&gt;</span> <span class="kd">ferment</span> <span class="o">=&gt;</span> <span class="kd">rack</span>
+            <span class="c1"># finish the sparge of one batch before starting the next:</span>
+            <span class="kd">sparge</span>[<span class="nb">-P1</span>] <span class="o">=&gt;</span> <span class="kd">mash</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</div>
+<div class="tip admonition">
+<p class="admonition-title">Cylc 7</p>
+<p>In Cylc 7 and earlier, “workflows” were referred to as “suites”.</p>
+</div>
+</dd>
+<dt id="term-workflow-completion">workflow completion<a class="headerlink" href="#term-workflow-completion" title="Link to this term"></a></dt><dd><p>A workflow is deemed complete if there are no more tasks to run,
+according to the graph, and there are no <a class="reference internal" href="#term-incomplete-task"><span class="xref std std-term">incomplete task</span></a> present.</p>
+<p>If the workflow is complete, the scheduler will automatically <a class="reference internal" href="#term-shutdown"><span class="xref std std-term">shut
+down</span></a>.</p>
+<p>If there are no more tasks to run, but there are incomplete tasks
+present, the scheduler will <a class="reference internal" href="#term-stall"><span class="xref std std-term">stall</span></a> rather than shut down.</p>
+</dd>
+<dt id="term-workflow-id">workflow id<a class="headerlink" href="#term-workflow-id" title="Link to this term"></a></dt><dd><p>A workflow can be uniquely identified by the relative path between the <a class="reference internal" href="#term-cylc-run-directory"><span class="xref std std-term">cylc-run directory</span></a>
+(<code class="docutils literal notranslate"><span class="pre">~/cylc-run</span></code>) and its <a class="reference internal" href="#term-run-directory"><span class="xref std std-term">run directory</span></a>.</p>
+<p>This ID is used on the command line and in the GUI, to target the right
+workflow.</p>
+<p>For example, the ID of the workflow in <code class="docutils literal notranslate"><span class="pre">~/cylc-run/foo/bar/run1</span></code>
+is <code class="docutils literal notranslate"><span class="pre">foo/bar/run1</span></code>.</p>
+<p>Unlike <a class="reference internal" href="#term-workflow-name"><span class="xref std std-term">workflow name</span></a> the ID is always a unique identifier. In the
+example below each run has a different ID despite sharing the same
+<a class="reference internal" href="#term-workflow-name"><span class="xref std std-term">workflow name</span></a> (<code class="docutils literal notranslate"><span class="pre">my_workflow</span></code>).</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="sb">`</span>-<span class="w"> </span>my_workflow
+<span class="w">  </span><span class="p">|</span>-<span class="w"> </span>runN
+<span class="w">  </span><span class="p">|</span>-<span class="w"> </span>run1<span class="w">      </span><span class="c1"># CYLC_WORKFLOW_ID = my_workflow/run1</span>
+<span class="w">  </span><span class="sb">`</span>-<span class="w"> </span>run2<span class="w">      </span><span class="c1"># CYLC_WORKFLOW_ID = my_workflow/run2</span>
+</pre></div>
+</div>
+</dd>
+<dt id="term-workflow-log">workflow log<a class="headerlink" href="#term-workflow-log" title="Link to this term"></a></dt><dt id="term-scheduler-log">scheduler log<a class="headerlink" href="#term-scheduler-log" title="Link to this term"></a></dt><dt id="term-workflow-log-directory">workflow log directory<a class="headerlink" href="#term-workflow-log-directory" title="Link to this term"></a></dt><dd><p>At runtime the scheduler logs timestamped events and other information to
+files under the workflow <a class="reference internal" href="#term-run-directory"><span class="xref std std-term">run directory</span></a>. These logs take the format
+&lt;log-number&gt;-&lt;start/restart&gt;-&lt;start-number&gt;.log, with the latest log being
+automatically symlinked to <code class="docutils literal notranslate"><span class="pre">&lt;run-directory&gt;/log/scheduler/log</span></code></p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="s">&lt;run-directory&gt;</span>/log/scheduler/
+</pre></div>
+</div>
+<p>You can print the scheduler log at the terminal with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">cat-log</span>
+<span class="pre">&lt;workflow-name&gt;</span></code>.</p>
+</dd>
+<dt id="term-workflow-name">workflow name<a class="headerlink" href="#term-workflow-name" title="Link to this term"></a></dt><dd><p>The workflow name is a path relative to the cylc-run directory which
+contains one or more workflow <a class="reference internal" href="#term-run-directory"><span class="xref std std-term">run directories</span></a>.</p>
+<p>Tasks can get the workflow name from <code class="docutils literal notranslate"><span class="pre">$CYLC_WORKFLOW_NAME</span></code> in their
+runtime environment.</p>
+<p>Unlike <a class="reference internal" href="#term-workflow-id"><span class="xref std std-term">workflow id</span></a> the name is not always a unique identifier. In
+the example below <code class="docutils literal notranslate"><span class="pre">run1</span></code> and <code class="docutils literal notranslate"><span class="pre">run2</span></code> would both have the same name,
+<code class="docutils literal notranslate"><span class="pre">my_workflow</span></code>:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="sb">`</span>-<span class="w"> </span>my_workflow
+<span class="w">  </span><span class="p">|</span>-<span class="w"> </span>runN
+<span class="w">  </span><span class="p">|</span>-<span class="w"> </span>run1
+<span class="w">  </span><span class="sb">`</span>-<span class="w"> </span>run2
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>If you are not using named or numbered runs, the workflow name will be
+the same as <a class="reference internal" href="#term-workflow-id"><span class="xref std std-term">workflow id</span></a>.</p>
+</div>
+</dd>
+</dl>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="reference/dev-history-major-changes.html" class="btn btn-neutral float-left" title="Cylc Development History - Major Changes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "glossary";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/index.html b/nightly_8.3/html/index.html
new file mode 100644
index 00000000000..67dc4e75fb7
--- /dev/null
+++ b/nightly_8.3/html/index.html
@@ -0,0 +1,224 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="./">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Cylc Documentation &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="_static/jquery.js?v=5d32c60e"></script>
+        <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="_static/doctools.js?v=888ff710"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="_static/js/spoiler.js?v=12631137"></script>
+        <script src="_static/js/addons.js?v=39bd7dee"></script>
+    <script src="_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="next" title="Cylc 8 Migration Guide" href="7-to-8/index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="#">
+            
+              <img src="_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="#">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="#" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">Cylc Documentation</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="_sources/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="cylc-documentation">
+<h1>Cylc Documentation<a class="headerlink" href="#cylc-documentation" title="Link to this heading"></a></h1>
+<p>Cylc (”<em>silk</em>”) is a workflow engine for cycling systems - it orchestrates
+distributed workflows of interdependent cycling tasks that may continue to run
+indefinitely.</p>
+<a class="reference external image-reference" href="https://cylc.discourse.group"><img alt="https://img.shields.io/discourse/users?label=Join%20the%20community%20on%20Discourse&amp;logo=discourse&amp;server=https%3A%2F%2Fcylc.discourse.group&amp;style=socia0l" class="align-center" src="https://img.shields.io/discourse/users?label=Join%20the%20community%20on%20Discourse&amp;logo=discourse&amp;server=https%3A%2F%2Fcylc.discourse.group&amp;style=socia0l" style="width: 50%;" /></a>
+<div class="line-block">
+<div class="line"><br /></div>
+</div>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="7-to-8/index.html">Cylc 8 Migration Guide</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="7-to-8/summary.html">Summary Of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="7-to-8/cheat-sheet.html">Cheat Sheet</a></li>
+<li class="toctree-l2"><a class="reference internal" href="7-to-8/major-changes/index.html">Detailed Description of Major Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="7-to-8/caveats.html">Cylc 8.3 Caveats</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="installation.html#quick-installation">Quick Installation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation.html#non-python-requirements">Non-Python Requirements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation.html#installing-on-mac-os">Installing On Mac OS</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation.html#advanced-installation">Advanced Installation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installation.html#configuration">Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="tutorial/index.html">Tutorial</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="tutorial/introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="tutorial/scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="tutorial/runtime/index.html">Runtime</a></li>
+<li class="toctree-l2"><a class="reference internal" href="tutorial/furthertopics/index.html">Further Topics</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="user-guide/index.html">User Guide</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="user-guide/introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="user-guide/writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="user-guide/installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="user-guide/running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="user-guide/task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="user-guide/removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="user-guide/sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="user-guide/compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="plugins/index.html">Plugins</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="plugins/cylc-rose.html">Cylc Rose</a></li>
+<li class="toctree-l2"><a class="reference internal" href="plugins/main-loop/index.html">Main Loop Plugins</a></li>
+<li class="toctree-l2"><a class="reference internal" href="plugins/install/index.html">Pre-Configure And Post-Install Plugins</a></li>
+<li class="toctree-l2"><a class="reference internal" href="plugins/job-runners/index.html">Custom Job Submission Methods</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="workflow-design-guide/index.html">Workflow Design Guide</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="workflow-design-guide/style-guide.html">Style Guidelines</a></li>
+<li class="toctree-l2"><a class="reference internal" href="workflow-design-guide/general-principles.html">Basic Principles</a></li>
+<li class="toctree-l2"><a class="reference internal" href="workflow-design-guide/efficiency.html">Efficiency And Maintainability</a></li>
+<li class="toctree-l2"><a class="reference internal" href="workflow-design-guide/portable-workflows.html">Portable Workflows</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="reference/index.html">Reference</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="reference/changes.html">Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="reference/config/index.html">Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="reference/job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="reference/architecture/index.html">Architecture</a></li>
+<li class="toctree-l2"><a class="reference internal" href="reference/api/index.html">Cylc API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="reference/environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="reference/dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="glossary.html">Glossary</a></li>
+</ul>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="7-to-8/index.html" class="btn btn-neutral float-right" title="Cylc 8 Migration Guide" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/installation.html b/nightly_8.3/html/installation.html
new file mode 100644
index 00000000000..cf8a44aa236
--- /dev/null
+++ b/nightly_8.3/html/installation.html
@@ -0,0 +1,458 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="./">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Installation &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="_static/jquery.js?v=5d32c60e"></script>
+        <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="_static/doctools.js?v=888ff710"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="_static/js/spoiler.js?v=12631137"></script>
+        <script src="_static/js/addons.js?v=39bd7dee"></script>
+    <script src="_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="next" title="Tutorial" href="tutorial/index.html" />
+    <link rel="prev" title="Cylc 8.3 Caveats" href="7-to-8/caveats.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="index.html">
+            
+              <img src="_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Installation</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#quick-installation">Quick Installation</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#via-conda-recommended">Via Conda (recommended)</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#via-pip-npm">Via Pip (+npm)</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="#non-python-requirements">Non-Python Requirements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#installing-on-mac-os">Installing On Mac OS</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#advanced-installation">Advanced Installation</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#the-cylc-components">The Cylc Components</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#installation-types">Installation Types</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#recommended-installation">Recommended Installation</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#managing-environments">Managing Environments</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="#configuration">Configuration</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-flow">Cylc Flow</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-ui-server">Cylc UI Server</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#bash-profile">Bash Profile</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#shell-auto-completion">Shell Auto-Completion</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#text-editors">Text Editors</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">Installation</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="_sources/installation.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="installation">
+<span id="id1"></span><h1>Installation<a class="headerlink" href="#installation" title="Link to this heading"></a></h1>
+<p>Cylc 8 and its core software dependencies can be installed quickly from Conda
+Forge, into a conda environment; or from PyPI, into a Python 3 virtual environment.</p>
+<section id="quick-installation">
+<h2>Quick Installation<a class="headerlink" href="#quick-installation" title="Link to this heading"></a></h2>
+<p>Cylc runs on Unix-like systems including Linux and Mac OS.</p>
+<section id="via-conda-recommended">
+<h3>Via Conda (recommended)<a class="headerlink" href="#via-conda-recommended" title="Link to this heading"></a></h3>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>We recommend using the fast Mamba environment solver to install Cylc.
+Mamba can be used as <a class="reference external" href="https://mamba.readthedocs.io/en/latest/index.html">a drop-in replacement for the conda command</a>,
+or as <a class="reference external" href="https://conda.github.io/conda-libmamba-solver/getting-started/">a conda command plugin</a>.
+The classic conda environment solver may be too slow for a complex package
+like Cylc.</p>
+</div>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>$ conda install -c conda-forge cylc-flow
+
+<span class="c"># Install the browser-GUI (optional)</span>
+$ conda install -c conda-forge cylc-uiserver
+
+<span class="c"># Install Rose support (optional)</span>
+$ conda install -c conda-forge cylc-rose metomi-rose
+</pre></div>
+</div>
+</section>
+<section id="via-pip-npm">
+<h3>Via Pip (+npm)<a class="headerlink" href="#via-pip-npm" title="Link to this heading"></a></h3>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Requires Python 3.7 - 3.9</p>
+</div>
+<div class="admonition important">
+<p class="admonition-title">Important</p>
+<p>We recommend installing Cylc versions into virtual environments.
+This avoids software dependency conflicts and allows multiple
+Cylc versions to be installed on your system.</p>
+<p>Without virtual environments, users can inadvertently break Cylc (or other
+Python programs) by <code class="docutils literal notranslate"><span class="pre">pip</span></code>-installing conflicting package versions to
+<code class="docutils literal notranslate"><span class="pre">$HOME/.local</span></code>, which takes precedence over central library locations.</p>
+</div>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>$ pip install cylc-flow
+
+<span class="c"># Install the browser-GUI (optional)</span>
+<span class="c"># (requires nodejs &amp; npm)</span>
+$ pip install cylc-uiserver
+
+<span class="c"># Install Rose support (optional)</span>
+$ pip install cylc-rose metomi-rose
+</pre></div>
+</div>
+<p>There are also certain optional extra requirements which you may choose to
+install:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="c"># EmPy support</span>
+$ pip install &#39;cylc-flow[empy]&#39;
+
+<span class="c"># Support for running the tutorial workflows</span>
+$ pip install &#39;cylc-flow[tutorial]&#39;
+
+<span class="c"># The GUI with multi-user (hub) support</span>
+$ pip install &#39;cylc-uiserver[hub]&#39;
+$ npm install configurable-http-proxy
+</pre></div>
+</div>
+<p>You might also want to configure:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#installation-shell-auto-completion"><span class="std std-ref">Shell auto-completion</span></a></p></li>
+<li><p><a class="reference internal" href="user-guide/writing-workflows/configuration.html#syntaxhighlighting"><span class="std std-ref">Text editor support</span></a></p></li>
+</ul>
+</section>
+</section>
+<section id="non-python-requirements">
+<span id="id2"></span><h2>Non-Python Requirements<a class="headerlink" href="#non-python-requirements" title="Link to this heading"></a></h2>
+<p>These dependencies are not installed by Conda or pip:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">bash</span></code></p></li>
+<li><p>GNU <a class="reference external" href="https://www.gnu.org/software/coreutils/coreutils.html">coreutils</a></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">mail</span></code> (optional - for automated email functionality)</p></li>
+</ul>
+<p>These dependencies are installed by Conda but not by pip:</p>
+<ul class="simple">
+<li><p><a class="reference external" href="https://graphviz.org/download/">Graphviz</a> (optional - used by <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code> for displaying workflow
+graphs)</p></li>
+<li><p><a class="reference external" href="https://anaconda.org/conda-forge/configurable-http-proxy">configurable-http-proxy</a> (optional - for multi-user setups; can also be
+installed using npm)</p></li>
+</ul>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="user-guide/writing-workflows/configuration.html#syntaxhighlighting"><span class="std std-ref">Syntax Highlighting For Workflow Configuration</span></a></p>
+</div>
+</section>
+<section id="installing-on-mac-os">
+<h2>Installing On Mac OS<a class="headerlink" href="#installing-on-mac-os" title="Link to this heading"></a></h2>
+<p>Cylc requires some extra packages to function on Mac OS. We recommend
+installing them using the <a class="reference external" href="https://formulae.brew.sh/">Homebrew</a> package manager:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>brew<span class="w"> </span>install<span class="w"> </span>bash<span class="w"> </span>coreutils<span class="w"> </span>gnu-sed
+</pre></div>
+</div>
+<p>You will need to prepend the <code class="docutils literal notranslate"><span class="pre">coreutils</span></code> and <code class="docutils literal notranslate"><span class="pre">gnu-sed</span></code> installations to
+your <code class="docutils literal notranslate"><span class="pre">$PATH</span></code>, follow the instructions in the <code class="docutils literal notranslate"><span class="pre">brew</span> <span class="pre">install</span></code> output.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><a class="reference external" href="https://www.unix.com/man-page/FreeBSD/8/atrun/">atrun</a> (the <code class="docutils literal notranslate"><span class="pre">at</span></code> command) does not run out-of-the-box on Mac OS
+for security reasons and must be manually enabled.</p>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Newer version of Mac OS set <code class="docutils literal notranslate"><span class="pre">zsh</span></code> as the default shell (as opposed to
+<code class="docutils literal notranslate"><span class="pre">bash</span></code>). You do not need to change this but be aware that Cylc uses
+<code class="docutils literal notranslate"><span class="pre">bash</span></code> (for job scripts) which has a subtly different syntax.</p>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>For Mac OS Versions 10.15.0 (Catalina) and higher SSH is disabled by
+default. The ability to SSH into your Mac OS box may be required for
+certain Cylc installations.</p>
+<p>See the <a class="reference external" href="https://support.apple.com/en-gb/guide/mac-help/mchlp1066/mac">Apple support page</a>
+for instructions on enabling SSH.</p>
+</div>
+</section>
+<section id="advanced-installation">
+<h2>Advanced Installation<a class="headerlink" href="#advanced-installation" title="Link to this heading"></a></h2>
+<p>For distributed and multi-user installation we recommend using Conda and
+installing Cylc components only where required.</p>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>For examples of Conda environments and installation options see
+<a class="reference internal" href="reference/environments/conda.html#conda-environments"><span class="std std-ref">Conda Environments</span></a> for examples and details.</p>
+</div>
+<section id="the-cylc-components">
+<h3>The Cylc Components<a class="headerlink" href="#the-cylc-components" title="Link to this heading"></a></h3>
+<p>Cylc is split into a number of components providing different functionality:</p>
+<dl class="simple">
+<dt><a class="reference external" href="https://github.com/cylc/cylc-flow">Cylc Flow</a></dt><dd><p>Provides the scheduler “kernel” of Cylc along with the command line interface.</p>
+</dd>
+<dt><a class="reference external" href="https://github.com/cylc/cylc-uiserver">Cylc UI Server</a></dt><dd><p>Provides the “Cylc Hub” and the browser-based “Cylc GUI”.</p>
+</dd>
+<dt><a class="reference internal" href="plugins/cylc-rose.html#cylc-rose"><span class="std std-ref">Cylc Rose</span></a></dt><dd><p>Provides support for <a class="reference external" href="https://github.com/metomi/rose">Rose</a> suite configurations in Cylc workflows.</p>
+</dd>
+</dl>
+</section>
+<section id="installation-types">
+<h3>Installation Types<a class="headerlink" href="#installation-types" title="Link to this heading"></a></h3>
+<p>Cylc install locations may fall into the following “roles”:</p>
+<dl class="simple">
+<dt>User Machines</dt><dd><p>Where users write workflows and interact with the command line.</p>
+</dd>
+<dt>Cylc Servers</dt><dd><p>Where Cylc schedulers run to manage workflows.</p>
+</dd>
+<dt>Job Hosts</dt><dd><p>Where jobs run, e.g. supercomputers or clusters</p>
+</dd>
+</dl>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>These roles may overlap. For example, Cylc servers can also be job hosts.</p>
+</div>
+</section>
+<section id="recommended-installation">
+<h3>Recommended Installation<a class="headerlink" href="#recommended-installation" title="Link to this heading"></a></h3>
+<dl class="simple">
+<dt>User Machines</dt><dd><ul class="simple">
+<li><p><a class="reference external" href="https://github.com/cylc/cylc-flow">Cylc Flow</a></p></li>
+<li><p><a class="reference internal" href="plugins/cylc-rose.html#cylc-rose"><span class="std std-ref">Cylc Rose</span></a> (if using <a class="reference external" href="https://github.com/metomi/rose">Rose</a>)</p></li>
+</ul>
+</dd>
+<dt>Cylc Servers</dt><dd><ul class="simple">
+<li><p><a class="reference external" href="https://github.com/cylc/cylc-flow">Cylc Flow</a></p></li>
+<li><p><a class="reference internal" href="plugins/cylc-rose.html#cylc-rose"><span class="std std-ref">Cylc Rose</span></a> (if using <a class="reference external" href="https://github.com/metomi/rose">Rose</a>)</p></li>
+<li><p><a class="reference external" href="https://github.com/cylc/cylc-uiserver">Cylc UI Server</a></p></li>
+</ul>
+</dd>
+<dt>Job Hosts:</dt><dd><ul class="simple">
+<li><p><a class="reference external" href="https://github.com/cylc/cylc-flow">Cylc Flow</a></p></li>
+<li><p><a class="reference external" href="https://github.com/metomi/rose">Rose</a> (if running Rose applications on the job host)</p></li>
+</ul>
+</dd>
+</dl>
+</section>
+<section id="managing-environments">
+<span id="id3"></span><h3>Managing Environments<a class="headerlink" href="#managing-environments" title="Link to this heading"></a></h3>
+<p>For Cylc to run, the correct environment must be activated. Cylc can
+not do this automatically. You may need to have multiple Cylc versions
+available too.</p>
+<p>We recommend using a wrapper script named <code class="docutils literal notranslate"><span class="pre">cylc</span></code> to activate the correct
+environment before calling the environment’s  <code class="docutils literal notranslate"><span class="pre">cylc</span></code> command.</p>
+<p>Cylc comes with a wrapper that can be adapted to point at your Cylc
+environments. Extract it to a directory in your <code class="docutils literal notranslate"><span class="pre">$PATH</span></code> like this:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>get-resources<span class="w"> </span>cylc<span class="w"> </span>/path/to/cylc<span class="w">  </span><span class="c1"># should be in $PATH</span>
+chmod<span class="w"> </span>+x<span class="w"> </span>/path/to/cylc
+</pre></div>
+</div>
+<p>You may need to modify this file for your local installation e.g:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="gd">- CYLC_HOME_ROOT=&quot;${CYLC_HOME_ROOT:-/opt}&quot;</span>
+<span class="gi">+ CYLC_HOME_ROOT=&quot;${CYLC_HOME_ROOT:-/path/to}&quot;</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Developers can set <code class="docutils literal notranslate"><span class="pre">$CYLC_HOME_ROOT_ALT</span></code> to point
+to their development environments. For example:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">CYLC_HOME_ROOT_ALT</span><span class="o">=</span><span class="si">${</span><span class="nv">HOME</span><span class="si">}</span>/.conda/envs
+</pre></div>
+</div>
+</div>
+<p>You may wish to use the same approach for the <code class="docutils literal notranslate"><span class="pre">isodatetime</span></code> command, and, if using
+<a class="reference external" href="https://github.com/metomi/rose">Rose</a> for the <code class="docutils literal notranslate"><span class="pre">rose</span></code> and <code class="docutils literal notranslate"><span class="pre">rosie</span></code> commands.</p>
+<p>To do so create a symbolic link to the wrapper, for each of these commands:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span><span class="w"> </span>/path/to<span class="w">       </span><span class="c1"># Using the path where you installed the wrapper script</span>
+ln<span class="w"> </span>-s<span class="w"> </span>cylc<span class="w"> </span>rose
+ln<span class="w"> </span>-s<span class="w"> </span>cylc<span class="w"> </span>rosie
+ln<span class="w"> </span>-s<span class="w"> </span>cylc<span class="w"> </span>isodatetime
+</pre></div>
+</div>
+</section>
+</section>
+<section id="configuration">
+<h2>Configuration<a class="headerlink" href="#configuration" title="Link to this heading"></a></h2>
+<p>Cylc uses sane and safe defaults and is suitable for use “out of the box”,
+if all you need to do is run jobs locally in the background.
+However, many things may need to be configured, e.g:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="reference/config/writing-platform-configs.html#adminguide-platformconfigs"><span class="std std-ref">Platform Configuration</span></a> (jobs hosts, runners, etc)</p></li>
+<li><p><a class="reference internal" href="user-guide/writing-workflows/scheduler.html#submitting-workflows-to-a-pool-of-hosts"><span class="std std-ref">Scheduler Hosts</span></a></p></li>
+<li><p><a class="reference internal" href="user-guide/writing-workflows/runtime.html#user-guide-runtime-task-event-handling-general-event-handlers"><span class="std std-ref">Default Event Handlers</span></a>.</p></li>
+</ul>
+<section id="cylc-flow">
+<h3>Cylc Flow<a class="headerlink" href="#cylc-flow" title="Link to this heading"></a></h3>
+<p><a class="reference external" href="https://github.com/cylc/cylc-flow">Cylc Flow</a> is configured by the <a class="reference internal" href="reference/config/global.html#global.cylc" title="global.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc</span></code></a> file which supports
+configuration of the system on both a site and user basis.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Prior to Cylc 8, <code class="docutils literal notranslate"><span class="pre">global.cylc</span></code> was named <code class="docutils literal notranslate"><span class="pre">global.rc</span></code>, but that name is
+no longer supported.</p>
+</div>
+<p>The global.cylc file should be available on user machines (where users interact
+with Cylc on the command line) and on cylc servers (where Cylc schedulers run).
+It is not required to be available on job hosts.</p>
+<p>More information about supported configuration items and defaults can be found:
+<a class="reference internal" href="reference/config/global.html#global-configuration"><span class="std std-ref">Global Configuration</span></a>.</p>
+</section>
+<section id="cylc-ui-server">
+<h3>Cylc UI Server<a class="headerlink" href="#cylc-ui-server" title="Link to this heading"></a></h3>
+<p>The <a class="reference external" href="https://github.com/cylc/cylc-uiserver">Cylc UI Server</a> can be configured on a site and user basis.
+Guidance for configuration file storage, configuration variables and defaults
+can be found: <a class="reference internal" href="reference/config/ui-server.html#ui-server-config"><span class="std std-ref">UI Server Configuration</span></a>.</p>
+</section>
+<section id="bash-profile">
+<h3>Bash Profile<a class="headerlink" href="#bash-profile" title="Link to this heading"></a></h3>
+<p>Cylc <a class="reference internal" href="glossary.html#term-job-script"><span class="xref std std-term">job scripts</span></a> are bash scripts, which is good for
+manipulating files and processes, They invoke <code class="docutils literal notranslate"><span class="pre">bash</span> <span class="pre">-l</span></code> to allow environment
+configuration in login scripts.</p>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Sites and users should ensure their bash login scripts configure the
+environment correctly for Cylc and <em>do not write anything to stdout</em>.</p>
+</div>
+</section>
+<section id="shell-auto-completion">
+<span id="installation-shell-auto-completion"></span><h3>Shell Auto-Completion<a class="headerlink" href="#shell-auto-completion" title="Link to this heading"></a></h3>
+<p>Cylc provides auto-completion for the Bash shell which can save you typing:</p>
+<ul class="simple">
+<li><p>Cylc commands</p></li>
+<li><p>Workflow IDs</p></li>
+<li><p>Cycle points</p></li>
+<li><p>Task names</p></li>
+</ul>
+<p>To extract the auto-completion file run the following command:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc get-resources cylc-completion.bash <span class="s">&lt;path-to-copy-file&gt;</span>
+</pre></div>
+</div>
+<p>Then follow the comments in the file to install it.</p>
+</section>
+<section id="text-editors">
+<h3>Text Editors<a class="headerlink" href="#text-editors" title="Link to this heading"></a></h3>
+<p>There is support for the <code class="docutils literal notranslate"><span class="pre">.cylc</span></code> file format in various text editors.</p>
+<p>See <a class="reference internal" href="user-guide/writing-workflows/configuration.html#syntaxhighlighting"><span class="std std-ref">Syntax Highlighting For Workflow Configuration</span></a> for more details.</p>
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="7-to-8/caveats.html" class="btn btn-neutral float-left" title="Cylc 8.3 Caveats" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="tutorial/index.html" class="btn btn-neutral float-right" title="Tutorial" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "installation";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/objects.inv b/nightly_8.3/html/objects.inv
new file mode 100644
index 00000000000..186148b6e97
Binary files /dev/null and b/nightly_8.3/html/objects.inv differ
diff --git a/nightly_8.3/html/plugins/cylc-rose.html b/nightly_8.3/html/plugins/cylc-rose.html
new file mode 100644
index 00000000000..0448f4732d1
--- /dev/null
+++ b/nightly_8.3/html/plugins/cylc-rose.html
@@ -0,0 +1,345 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Cylc Rose &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Main Loop Plugins" href="main-loop/index.html" />
+    <link rel="prev" title="Plugins" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Plugins</a><ul class="current">
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Cylc Rose</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#rose-suite-configurations">Rose Suite Configurations</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#configuration-file">Configuration File</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#special-variables">Special Variables</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#additional-cli-options">Additional CLI options</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc-install-optional-config">Cylc Install Optional Config</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#example">Example</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#rose-stem">Rose Stem</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="main-loop/index.html">Main Loop Plugins</a></li>
+<li class="toctree-l2"><a class="reference internal" href="install/index.html">Pre-Configure And Post-Install Plugins</a></li>
+<li class="toctree-l2"><a class="reference internal" href="job-runners/index.html">Custom Job Submission Methods</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="index.html">Plugins</a></li>
+      <li class="breadcrumb-item active">Cylc Rose</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/plugins/cylc-rose.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="cylc-rose">
+<span id="id1"></span><h1>Cylc Rose<a class="headerlink" href="#cylc-rose" title="Link to this heading"></a></h1>
+<section id="rose-suite-configurations">
+<span id="module-cylc.rose"></span><h2>Rose Suite Configurations<a class="headerlink" href="#rose-suite-configurations" title="Link to this heading"></a></h2>
+<p>This plugin is activated by the existence of a Rose Suite Configuration file
+(called <code class="docutils literal notranslate"><span class="pre">rose-suite.conf</span></code>) in the workflow definition directory which allows
+you to:</p>
+<ul class="simple">
+<li><p>Set template variables used in the workflow definition.</p></li>
+<li><p>Configure files to be installed via <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code>.</p></li>
+<li><p>Define environment variables for the Cylc scheduler.</p></li>
+</ul>
+<p>The following Cylc commands will read Rose Suite Configurations:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">validate</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">list</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code></p></li>
+</ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Cylc Rose allows <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> to replace the <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">suite-run</span></code>
+command (present in Rose versions 2019.01 and earlier).</p>
+</div>
+<section id="configuration-file">
+<h3>Configuration File<a class="headerlink" href="#configuration-file" title="Link to this heading"></a></h3>
+<div class="admonition attention">
+<p class="admonition-title">Attention</p>
+<p>Although we now refer to Cylc <strong>workflows</strong> (rather than <strong>suites</strong>) we
+continue to refer to the <code class="docutils literal notranslate"><span class="pre">rose-suite.conf</span></code> file as a Rose Suite
+Configuration.</p>
+</div>
+<p>A fuller description of
+<a class="reference external" href="https://metomi.github.io/rose/2.1.0/html/api/configuration/suite.html#rose-suites" title="(in Rose Documentation v2.1.0)"><span class="xref std std-ref">Rose Suite Configuration is available here</span></a>.</p>
+<p>The following sections are permitted in the <code class="docutils literal notranslate"><span class="pre">rose-suite.conf</span></code> files:</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>config item</p></th>
+<th class="head"><p>description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">opts=A</span> <span class="pre">B</span> <span class="pre">C</span></code></p></td>
+<td><p>A space limited list of optional configs.</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">[env]</span></code></p></td>
+<td><p>Variables which the cylc-rose plugin will export to the
+environment.</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">[template</span> <span class="pre">variables]</span></code></p></td>
+<td><p>Variables which can be used by Jinja2 or Empy
+in the workflow definition.</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">[file:destination]</span></code></p></td>
+<td><p>A file from one or more sources to be installed.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>For compatibility with Cylc 7, sections <code class="docutils literal notranslate"><span class="pre">[suite.rc:empy]</span></code> and
+<code class="docutils literal notranslate"><span class="pre">[suite.rc:jinja2]</span></code> will be processed, but are deprecated and provided
+for ease of porting Cylc 7 workflows.</p>
+</div>
+</section>
+<section id="special-variables">
+<h3>Special Variables<a class="headerlink" href="#special-variables" title="Link to this heading"></a></h3>
+<p>The Cylc Rose plugin provides two environment/template variables
+to the Cylc scheduler:</p>
+<dl>
+<dt><code class="docutils literal notranslate"><span class="pre">ROSE_ORIG_HOST</span></code></dt><dd><p>Cylc commands (such as <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code>, <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">validate</span></code> and
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code>)
+will provide the name of the host on which the command is run.</p>
+<p>If the workflow is installed the value of <code class="docutils literal notranslate"><span class="pre">ROSE_ORIG_HOST</span></code> will be
+set in <code class="docutils literal notranslate"><span class="pre">opt/rose-suite-cylc-install.conf</span></code> and used by future commands
+e.g. <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code>.</p>
+<p>Using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> should produce a more consistent value
+for <code class="docutils literal notranslate"><span class="pre">ROSE_ORIG_HOST</span></code>; running Cylc commands on non-installed
+workflows may produce inconsistent values because the host
+is identified each time you run a command.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">ROSE_VERSION</span></code></dt><dd><p>When running Cylc commands such as <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code>,
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> and <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">validate</span></code>
+the plugin provides the version number of your installed Rose Version in
+workflow scheduler’s environment.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Setting <code class="docutils literal notranslate"><span class="pre">[env]ROSE_VERSION</span></code> in <code class="docutils literal notranslate"><span class="pre">rose-suite.conf</span></code>.
+With Cylc 7 / Rose2019 users could set <code class="docutils literal notranslate"><span class="pre">ROSE_VERSION</span></code> for their
+suites. This is no longer possible, and if set in your
+<code class="docutils literal notranslate"><span class="pre">ROSE_VERSION</span></code> in your suite configuration it will be ignored.</p>
+</div>
+</dd>
+</dl>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span><code class="docutils literal notranslate"><span class="pre">CYLC_VERSION</span></code> will be removed from your configuration by the
+Cylc-Rose plugin, as it is now set by Cylc.</p>
+</div>
+</div>
+</section>
+<section id="additional-cli-options">
+<h3>Additional CLI options<a class="headerlink" href="#additional-cli-options" title="Link to this heading"></a></h3>
+<p>You can use command line options to set or override
+any setting you could put in a <code class="docutils literal notranslate"><span class="pre">rose-suite.conf</span></code> file: If you
+have Cylc Rose installed see <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span> <span class="pre">--help</span></code>.</p>
+</section>
+<section id="cylc-install-optional-config">
+<h3>Cylc Install Optional Config<a class="headerlink" href="#cylc-install-optional-config" title="Link to this heading"></a></h3>
+<p>If Cylc-Rose is installed, using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> with a workflow containing a
+Rose Suite Configuration will write a record of command line options set in
+<code class="docutils literal notranslate"><span class="pre">$CYLC_RUN_DIR/workflow_name/opt/rose-suite-cylc-install.conf</span></code>.</p>
+</section>
+<section id="example">
+<h3>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h3>
+<p>For a workflow with the following definitions in the <a class="reference internal" href="../glossary.html#term-source-directory"><span class="xref std std-term">source directory</span></a>:</p>
+<p>rose-suite.conf</p>
+<div class="highlight-ini notranslate"><div class="highlight"><pre><span></span><span class="k">[template variables]</span>
+<span class="na">NAME</span><span class="o">=</span><span class="s">&#39;Mars&#39;</span>
+</pre></div>
+</div>
+<p>flow.cylc</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="ch">#!jinja2</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2020</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="kd">Hello_</span><span class="cp">{{ NAME }}</span>
+
+<span class="nt">[runtime]</span>
+    <span class="nt">[[Hello_</span><span class="cp">{{ NAME }}</span><span class="nt">]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> True</span>
+</pre></div>
+</div>
+<p>If you then ran</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>install
+</pre></div>
+</div>
+<p>Your final workflow would have the variable <code class="docutils literal notranslate"><span class="pre">NAME</span></code> inserted:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="gd">- Before processing</span>
+<span class="gi">+ After processing</span>
+
+<span class="gd">-           R1 = Hello_{{ NAME }}</span>
+<span class="gi">+           R1 = Hello_Mars</span>
+
+<span class="gd">-       [[Hello_{{ NAME }}]]</span>
+<span class="gi">+       [[Hello_Mars]]</span>
+</pre></div>
+</div>
+</section>
+</section>
+<section id="rose-stem">
+<span id="id2"></span><h2>Rose Stem<a class="headerlink" href="#rose-stem" title="Link to this heading"></a></h2>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference external" href="https://metomi.github.io/rose/2019.01.8/html/tutorial/rose/furthertopics/rose-stem.html">Rose Stem documentation</a></p>
+</div>
+<p>Cylc Rose provides a Rose Stem command, if FCM is installed on your system.
+At Cylc 8 Rose Stem is a wrapper to <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> rather than
+<code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">suite-run</span></code>.</p>
+<p>Rose Stem is a wrapper around the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> command which
+provides some additional Jinja2 variables.</p>
+<p>Cylc 8 stores variables set by rose and rose-stem in the optional
+configuration file <code class="docutils literal notranslate"><span class="pre">~/cylc-run/my_workflow/opt/rose-suite-cylc-install.conf</span></code>.</p>
+<div class="admonition caution">
+<p class="admonition-title">Caution</p>
+<p>To reinstall a rose stem suite use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">reinstall</span></code>.  Cylc can get any
+options you do not change from the <code class="docutils literal notranslate"><span class="pre">rose-suite-cylc-install.conf`</span></code> file.
+Using <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">stem</span></code> a second time will attempt install a new copy
+of your rose stem suite.</p>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="Plugins" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="main-loop/index.html" class="btn btn-neutral float-right" title="Main Loop Plugins" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "plugins/cylc-rose";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/plugins/index.html b/nightly_8.3/html/plugins/index.html
new file mode 100644
index 00000000000..cdaf1a7daf9
--- /dev/null
+++ b/nightly_8.3/html/plugins/index.html
@@ -0,0 +1,178 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Plugins &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Cylc Rose" href="cylc-rose.html" />
+    <link rel="prev" title="Compound Commands" href="../user-guide/compound-commands.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Plugins</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="cylc-rose.html">Cylc Rose</a></li>
+<li class="toctree-l2"><a class="reference internal" href="main-loop/index.html">Main Loop Plugins</a></li>
+<li class="toctree-l2"><a class="reference internal" href="install/index.html">Pre-Configure And Post-Install Plugins</a></li>
+<li class="toctree-l2"><a class="reference internal" href="job-runners/index.html">Custom Job Submission Methods</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">Plugins</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/plugins/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="plugins">
+<h1>Plugins<a class="headerlink" href="#plugins" title="Link to this heading"></a></h1>
+<p>Cylc supports plugins for providing additional functionality.</p>
+<p>The following are “core” plugins maintained by the Cylc team:</p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="cylc-rose.html">Cylc Rose</a></li>
+<li class="toctree-l1"><a class="reference internal" href="main-loop/index.html">Main Loop Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="install/index.html">Pre-Configure And Post-Install Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="job-runners/index.html">Custom Job Submission Methods</a></li>
+</ul>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Plugins are a new feature of Cylc 8 and the interface is likely to change in
+future releases.</p>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../user-guide/compound-commands.html" class="btn btn-neutral float-left" title="Compound Commands" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="cylc-rose.html" class="btn btn-neutral float-right" title="Cylc Rose" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "plugins/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/plugins/install/built-in/cylc.flow.install_plugins.log_vc_info.html b/nightly_8.3/html/plugins/install/built-in/cylc.flow.install_plugins.log_vc_info.html
new file mode 100644
index 00000000000..7b7bf7e899e
--- /dev/null
+++ b/nightly_8.3/html/plugins/install/built-in/cylc.flow.install_plugins.log_vc_info.html
@@ -0,0 +1,209 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>cylc.flow.install_plugins.log_vc_info &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="Custom Job Submission Methods" href="../../job-runners/index.html" />
+    <link rel="prev" title="Pre-Configure And Post-Install Plugins" href="../index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Plugins</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../cylc-rose.html">Cylc Rose</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../main-loop/index.html">Main Loop Plugins</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Pre-Configure And Post-Install Plugins</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../index.html#built-in-plugins">Built In Plugins</a><ul class="current">
+<li class="toctree-l4 current"><a class="current reference internal" href="#">cylc.flow.install_plugins.log_vc_info</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../index.html#developing-pre-configure-and-post-install-plugins">Developing <code class="docutils literal notranslate"><span class="pre">pre_configure</span></code> and <code class="docutils literal notranslate"><span class="pre">post_install</span></code> plugins</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../job-runners/index.html">Custom Job Submission Methods</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">Plugins</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Pre-Configure And Post-Install Plugins</a></li>
+      <li class="breadcrumb-item active">cylc.flow.install_plugins.log_vc_info</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/plugins/install/built-in/cylc.flow.install_plugins.log_vc_info.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.install_plugins.log_vc_info">
+<span id="cylc-flow-install-plugins-log-vc-info"></span><h1>cylc.flow.install_plugins.log_vc_info<a class="headerlink" href="#module-cylc.flow.install_plugins.log_vc_info" title="Link to this heading"></a></h1>
+<p>Record version control information to the workflow log directory on
+installation.</p>
+<p>If the workflow source directory is a supported repository/working copy
+(git or svn), information about the working copy will be saved in
+<code class="docutils literal notranslate"><span class="pre">&lt;run-dir&gt;/log/version/vcs.json</span></code>.</p>
+<p>An example of this information for a git repo:</p>
+<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
+<span class="w">    </span><span class="nt">&quot;version control system&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;git&quot;</span><span class="p">,</span>
+<span class="w">    </span><span class="nt">&quot;repository version&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;2.8.0-dirty&quot;</span><span class="p">,</span>
+<span class="w">    </span><span class="nt">&quot;commit&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;e5dc6573dd70cabd8f973d1535c17c29c026d553&quot;</span><span class="p">,</span>
+<span class="w">    </span><span class="nt">&quot;working copy root path&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;~/cylc-src/my-workflow-git&quot;</span><span class="p">,</span>
+<span class="w">    </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">        </span><span class="s2">&quot; M flow.cylc&quot;</span><span class="p">,</span>
+<span class="w">        </span><span class="s2">&quot;M  bin/thing.sh&quot;</span>
+<span class="w">    </span><span class="p">]</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>And for an svn working copy:</p>
+<div class="highlight-json notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
+<span class="w">    </span><span class="nt">&quot;version control system&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;svn&quot;</span><span class="p">,</span>
+<span class="w">    </span><span class="nt">&quot;working copy root path&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;~/cylc-src/my-workflow-svn&quot;</span><span class="p">,</span>
+<span class="w">    </span><span class="nt">&quot;url&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;file:///home/my-workflow-svn/trunk&quot;</span><span class="p">,</span>
+<span class="w">    </span><span class="nt">&quot;repository uuid&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;219f5687-8eb8-44b1-beb6-e8220fa964d3&quot;</span><span class="p">,</span>
+<span class="w">    </span><span class="nt">&quot;revision&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;14&quot;</span><span class="p">,</span>
+<span class="w">    </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>
+<span class="w">        </span><span class="s2">&quot;M       readme.txt&quot;</span>
+<span class="w">    </span><span class="p">]</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>Any uncommitted changes will also be saved as a diff in
+<code class="docutils literal notranslate"><span class="pre">&lt;run-dir&gt;/log/version/uncommitted.diff</span></code>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Git does not include untracked files in the diff.</p>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../index.html" class="btn btn-neutral float-left" title="Pre-Configure And Post-Install Plugins" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../../job-runners/index.html" class="btn btn-neutral float-right" title="Custom Job Submission Methods" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "plugins/install/built-in/cylc.flow.install_plugins.log_vc_info";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/plugins/install/index.html b/nightly_8.3/html/plugins/install/index.html
new file mode 100644
index 00000000000..2f8ae41545c
--- /dev/null
+++ b/nightly_8.3/html/plugins/install/index.html
@@ -0,0 +1,326 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Pre-Configure And Post-Install Plugins &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="cylc.flow.install_plugins.log_vc_info" href="built-in/cylc.flow.install_plugins.log_vc_info.html" />
+    <link rel="prev" title="cylc.flow.main_loop.reset_bad_hosts" href="../main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Plugins</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../cylc-rose.html">Cylc Rose</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../main-loop/index.html">Main Loop Plugins</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Pre-Configure And Post-Install Plugins</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#built-in-plugins">Built In Plugins</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="built-in/cylc.flow.install_plugins.log_vc_info.html">cylc.flow.install_plugins.log_vc_info</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#developing-pre-configure-and-post-install-plugins">Developing <code class="docutils literal notranslate"><span class="pre">pre_configure</span></code> and <code class="docutils literal notranslate"><span class="pre">post_install</span></code> plugins</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#hello-world">Hello World</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#api-reference">API Reference</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#more-advanced-example">More advanced example</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../job-runners/index.html">Custom Job Submission Methods</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Plugins</a></li>
+      <li class="breadcrumb-item active">Pre-Configure And Post-Install Plugins</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/plugins/install/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="pre-configure-and-post-install-plugins">
+<h1>Pre-Configure And Post-Install Plugins<a class="headerlink" href="#pre-configure-and-post-install-plugins" title="Link to this heading"></a></h1>
+<p>Pre-configure plugins allow Cylc to take additional actions before running
+Cylc utilities such as <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code>, <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code> and <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code>.</p>
+<p>Post-install plugins allow Cylc to take additional actions after
+running <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code>.</p>
+<section id="built-in-plugins">
+<h2>Built In Plugins<a class="headerlink" href="#built-in-plugins" title="Link to this heading"></a></h2>
+<p>Cylc Flow provides the following pre-configure and post-install plugins:</p>
+<table class="autosummary longtable docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="built-in/cylc.flow.install_plugins.log_vc_info.html#module-cylc.flow.install_plugins.log_vc_info" title="cylc.flow.install_plugins.log_vc_info"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.install_plugins.log_vc_info</span></code></a></p></td>
+<td><p>Record version control information to the workflow log directory on installation.</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="developing-pre-configure-and-post-install-plugins">
+<h2>Developing <code class="docutils literal notranslate"><span class="pre">pre_configure</span></code> and <code class="docutils literal notranslate"><span class="pre">post_install</span></code> plugins<a class="headerlink" href="#developing-pre-configure-and-post-install-plugins" title="Link to this heading"></a></h2>
+<p>Cylc uses entry points registered by setuptools to search for pre-configure
+and post-install plugins.</p>
+<section id="hello-world">
+<h3>Hello World<a class="headerlink" href="#hello-world" title="Link to this heading"></a></h3>
+<p>In this example a pre-configure plugin which logs a “Hello World” message
+and, after installation, logs some info about the installation:</p>
+<div class="literal-block-wrapper docutils container" id="id1">
+<div class="code-block-caption"><span class="caption-text"><code class="docutils literal notranslate"><span class="pre">my_plugin.py</span></code></span><a class="headerlink" href="#id1" title="Link to this code"></a></div>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">cylc.flow</span> <span class="kn">import</span> <span class="n">LOG</span>
+
+<span class="k">def</span> <span class="nf">pre_configure</span><span class="p">(</span><span class="n">srcdir</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">opts</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">rundir</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+    <span class="c1"># write Hello to the Cylc log.</span>
+    <span class="n">LOG</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;Hello World&#39;</span><span class="p">)</span>
+    <span class="k">return</span> <span class="p">{}</span>
+
+<span class="k">def</span> <span class="nf">post_install</span><span class="p">(</span><span class="n">srcdir</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">opts</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">rundir</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+    <span class="n">LOG</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;installed from </span><span class="si">{</span><span class="n">srcdir</span><span class="si">}</span><span class="s1">&#39;</span><span class="p">)</span>
+    <span class="n">LOG</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;installed to </span><span class="si">{</span><span class="n">rundir</span><span class="si">}</span><span class="s1">&#39;</span><span class="p">)</span>
+    <span class="n">LOG</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;installation options were </span><span class="si">{</span><span class="n">options</span><span class="si">}</span><span class="s1">&#39;</span><span class="p">)</span>
+    <span class="k">return</span> <span class="p">{}</span>
+</pre></div>
+</div>
+</div>
+<p>Plugins are registered by registering them with the <code class="docutils literal notranslate"><span class="pre">cylc.pre_configure</span></code>
+and <code class="docutils literal notranslate"><span class="pre">cylc.post_install</span></code> entry points:</p>
+<div class="literal-block-wrapper docutils container" id="id2">
+<div class="code-block-caption"><span class="caption-text"><code class="docutils literal notranslate"><span class="pre">setup.py</span></code></span><a class="headerlink" href="#id2" title="Link to this code"></a></div>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># plugins must be properly installed, in-place PYTHONPATH meddling will</span>
+<span class="c1"># not work.</span>
+
+<span class="kn">from</span> <span class="nn">setuptools</span> <span class="kn">import</span> <span class="n">setup</span>
+
+<span class="n">setup</span><span class="p">(</span>
+    <span class="n">name</span><span class="o">=</span><span class="s1">&#39;my-plugin&#39;</span><span class="p">,</span>
+    <span class="n">version</span><span class="o">=</span><span class="s1">&#39;1.0&#39;</span><span class="p">,</span>
+    <span class="n">py_modules</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;my_plugin&#39;</span><span class="p">],</span>
+    <span class="n">entry_points</span><span class="o">=</span><span class="p">{</span>
+        <span class="c1"># register this plugin with Cylc</span>
+        <span class="s1">&#39;cylc.pre_configure&#39;</span><span class="p">:</span> <span class="p">[</span>
+        <span class="c1"># name = python.namespace.of.module</span>
+        <span class="s1">&#39;my_plugin=my_plugin.my_plugin:pre_configure&#39;</span>
+        <span class="p">]</span>
+        <span class="s1">&#39;cylc.post_install&#39;</span><span class="p">:</span> <span class="p">[</span>
+        <span class="c1"># name = python.namespace.of.module</span>
+        <span class="s1">&#39;my_plugin=my_plugin.my_plugin:post_install&#39;</span>
+        <span class="p">]</span>
+    <span class="p">}</span>
+<span class="p">)</span>
+</pre></div>
+</div>
+</div>
+</section>
+<section id="api-reference">
+<h3>API Reference<a class="headerlink" href="#api-reference" title="Link to this heading"></a></h3>
+<p>Cylc will pass following arguments to pre-configure and post-install plugins:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">srcdir</span></code> (Path or string)</dt><dd><p>The directory from which <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> is installing a workflow,
+or the directory passed to <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">validate</span></code>, <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code> and other
+CLI commands which work without installing a workflow.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">opts</span></code> (<code class="docutils literal notranslate"><span class="pre">optparse.Values</span></code>)</dt><dd><p>CLI options set for a Cylc script.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">rundir</span></code> (Path or string)</dt><dd><p>The destination of a <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> or <code class="docutils literal notranslate"><span class="pre">reinstall</span></code> command.</p>
+</dd>
+</dl>
+<p>The pre-configure plugin should return a dictionary which may contain the
+following keys:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">env</span></code></dt><dd><p>A dictionary of environment variables to be exported to the scheduler
+environment.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">template_variables</span></code></dt><dd><p>A dictionary of template variables to be used by Jinja2 or EmPy when
+templating the workflow configuration files.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">templating_detected</span></code></dt><dd><p><code class="docutils literal notranslate"><span class="pre">jinja2</span></code> | <code class="docutils literal notranslate"><span class="pre">empy</span></code> to be used when templating. N.b: This will result in
+failure if the templating language set does not match the shebang line of
+the <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> file.</p>
+</dd>
+</dl>
+<p>The post-install entry point does not return any data used by Cylc.</p>
+</section>
+<section id="more-advanced-example">
+<h3>More advanced example<a class="headerlink" href="#more-advanced-example" title="Link to this heading"></a></h3>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p>For the implementation of a more fully featured “real-world” example see
+<a class="reference internal" href="../cylc-rose.html#cylc-rose"><span class="std std-ref">Cylc Rose</span></a>.</p>
+</div>
+<p>The example below looks for a file in the workflow source directory called
+<code class="docutils literal notranslate"><span class="pre">template.json</span></code> and activates if it exists.</p>
+<p>At <code class="docutils literal notranslate"><span class="pre">pre_configure</span></code> template variables are extracted from a <code class="docutils literal notranslate"><span class="pre">template.json</span></code>
+file and provided to Cylc as both template and environment variables.</p>
+<p>At <code class="docutils literal notranslate"><span class="pre">post_install</span></code> an additional log file is provided recording the version
+of this plugin used.</p>
+<div class="literal-block-wrapper docutils container" id="id3">
+<div class="code-block-caption"><span class="caption-text">An example json reading plugin</span><a class="headerlink" href="#id3" title="Link to this code"></a></div>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">json</span>
+<span class="kn">from</span> <span class="nn">pathlib</span> <span class="kn">import</span> <span class="n">Path</span>
+
+<span class="n">VERSION</span> <span class="o">=</span> <span class="s1">&#39;0.0.1&#39;</span>
+
+<span class="k">def</span> <span class="nf">pre_configure</span><span class="p">(</span><span class="n">srcdir</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">opts</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">rundir</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+    <span class="c1"># Look for a &#39;template.json&#39; file in the srcdir and make template</span>
+    <span class="c1"># variables from it available as jinja2.</span>
+    <span class="n">template_file</span> <span class="o">=</span> <span class="p">(</span><span class="n">Path</span><span class="p">(</span><span class="n">srcdir</span><span class="p">)</span> <span class="o">/</span> <span class="s1">&#39;template.json&#39;</span><span class="p">)</span>
+
+    <span class="c1"># Trigger the plugin if some condition is met:</span>
+    <span class="k">if</span> <span class="p">(</span><span class="n">template_file</span><span class="p">)</span><span class="o">.</span><span class="n">exists</span><span class="p">():</span>
+        <span class="c1"># You could retrieve info from a file:</span>
+        <span class="n">template</span> <span class="o">=</span> <span class="n">json</span><span class="o">.</span><span class="n">loads</span><span class="p">(</span><span class="n">template_file</span><span class="o">.</span><span class="n">read_text</span><span class="p">())</span>
+
+        <span class="c1"># You can add variables programmatically:</span>
+        <span class="n">template</span><span class="p">[</span><span class="s1">&#39;plugin_set_var&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="vm">__file__</span><span class="p">)</span>
+
+        <span class="c1"># Return a dict:</span>
+        <span class="k">return</span> <span class="p">{</span>
+            <span class="s1">&#39;env&#39;</span><span class="p">:</span> <span class="n">template</span><span class="p">,</span>
+            <span class="s1">&#39;template_variables&#39;</span><span class="p">:</span> <span class="n">template</span><span class="p">,</span>
+            <span class="s1">&#39;templating_detected&#39;</span><span class="p">:</span> <span class="s1">&#39;jinja2&#39;</span>
+        <span class="p">}</span>
+    <span class="k">else</span><span class="p">:</span>
+        <span class="k">return</span> <span class="p">{}</span>
+
+<span class="k">def</span> <span class="nf">post_install</span><span class="p">(</span><span class="n">srcdir</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">opts</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">rundir</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
+    <span class="c1"># record plugin version in a file</span>
+    <span class="p">(</span><span class="n">Path</span><span class="p">(</span><span class="n">rundir</span><span class="p">)</span> <span class="o">/</span> <span class="s1">&#39;log/json-plugin.info&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">write_text</span><span class="p">(</span>
+        <span class="sa">f</span><span class="s2">&quot;Installed with Simple JSON reader plugin version </span><span class="si">{</span><span class="n">VERSION</span><span class="si">}</span><span class="se">\\</span><span class="s2">n&quot;</span><span class="p">)</span>
+    <span class="k">return</span> <span class="kc">None</span>
+</pre></div>
+</div>
+</div>
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts.html" class="btn btn-neutral float-left" title="cylc.flow.main_loop.reset_bad_hosts" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="built-in/cylc.flow.install_plugins.log_vc_info.html" class="btn btn-neutral float-right" title="cylc.flow.install_plugins.log_vc_info" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "plugins/install/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/plugins/job-runners/index.html b/nightly_8.3/html/plugins/job-runners/index.html
new file mode 100644
index 00000000000..9c981c11ca2
--- /dev/null
+++ b/nightly_8.3/html/plugins/job-runners/index.html
@@ -0,0 +1,557 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Custom Job Submission Methods &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Workflow Design Guide" href="../../workflow-design-guide/index.html" />
+    <link rel="prev" title="cylc.flow.install_plugins.log_vc_info" href="../install/built-in/cylc.flow.install_plugins.log_vc_info.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Plugins</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../cylc-rose.html">Cylc Rose</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../main-loop/index.html">Main Loop Plugins</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../install/index.html">Pre-Configure And Post-Install Plugins</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Custom Job Submission Methods</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler"><code class="docutils literal notranslate"><span class="pre">ExampleHandler</span></code></a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.FAIL_SIGNALS"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.FAIL_SIGNALS</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.KILL_CMD_TMPL"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.KILL_CMD_TMPL</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.POLL_CANT_CONNECT_ERR"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.POLL_CANT_CONNECT_ERR</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.POLL_CMD"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.POLL_CMD</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.REC_ID_FROM_SUBMIT_ERR"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.REC_ID_FROM_SUBMIT_ERR</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.REC_ID_FROM_SUBMIT_OUT"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.REC_ID_FROM_SUBMIT_OUT</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.SHOULD_KILL_PROC_GROUP"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.SHOULD_KILL_PROC_GROUP</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.SHOULD_POLL_PROC_GROUP"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.SHOULD_POLL_PROC_GROUP</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.SUBMIT_CMD_ENV"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.SUBMIT_CMD_ENV</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.SUBMIT_CMD_TMPL"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.SUBMIT_CMD_TMPL</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.filter_poll_many_output"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.filter_poll_many_output()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.filter_submit_output"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.filter_submit_output()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.format_directives"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.format_directives()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.get_poll_many_cmd"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.get_poll_many_cmd()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.get_submit_stdin"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.get_submit_stdin()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.get_vacation_signal"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.get_vacation_signal()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.manip_job_id"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.manip_job_id()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.submit"><code class="docutils literal notranslate"><span class="pre">ExampleHandler.submit()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Plugins</a></li>
+      <li class="breadcrumb-item active">Custom Job Submission Methods</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/plugins/job-runners/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="custom-job-submission-methods">
+<span id="customjobsubmissionmethods"></span><h1>Custom Job Submission Methods<a class="headerlink" href="#custom-job-submission-methods" title="Link to this heading"></a></h1>
+<dl class="py class">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.job_runner_handlers.documentation.</span></span><span class="sig-name descname"><span class="pre">ExampleHandler</span></span><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler" title="Link to this definition"></a></dt>
+<dd><p>Documentation for writing job runner handlers.</p>
+<p>Cylc can submit jobs to a number of different job runners
+(aka batch systems) e.g. Slurm and PBS. For a list of built-in integrations
+see <a class="reference internal" href="../../user-guide/task-implementation/job-submission.html#availablemethods"><span class="std std-ref">Supported Job Submission Methods</span></a>.</p>
+<p>If the job runner you require is not on this list, Cylc provides a generic
+interface for writing your own integration.</p>
+<p>Defining a new job runner handler requires a little Python programming. Use
+the built-in handlers
+(e.g. <a class="reference internal" href="../../user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background.html#module-cylc.flow.job_runner_handlers.background" title="cylc.flow.job_runner_handlers.background"><code class="xref py py-mod docutils literal notranslate"><span class="pre">cylc.flow.job_runner_handlers.background</span></code></a>) as examples.</p>
+<p class="rubric" id="where-to-put-job-runner-handler-modules">Installation</p>
+<p>Custom job runner handlers must be installed on workflow and job
+hosts in one of these locations:</p>
+<ul class="simple">
+<li><p>under <code class="docutils literal notranslate"><span class="pre">WORKFLOW-RUN-DIR/lib/python/</span></code></p></li>
+<li><p>under <code class="docutils literal notranslate"><span class="pre">CYLC-PATH/cylc/flow/job_runner_handlers/</span></code></p></li>
+<li><p>or anywhere in <code class="docutils literal notranslate"><span class="pre">$PYTHONPATH</span></code></p></li>
+</ul>
+<p>Each module should export the symbol <code class="docutils literal notranslate"><span class="pre">JOB_RUNNER_HANDLER</span></code> for the
+singleton instance that implements the job system handler logic e.g:</p>
+<div class="literal-block-wrapper docutils container" id="id1">
+<div class="code-block-caption"><span class="caption-text">my_handler.py</span><a class="headerlink" href="#id1" title="Link to this code"></a></div>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">MyHandler</span><span class="p">():</span>
+    <span class="k">pass</span>
+
+<span class="n">JOB_RUNNER_HANDLER</span> <span class="o">=</span> <span class="n">MyHandler</span><span class="p">()</span>
+</pre></div>
+</div>
+</div>
+<p>Each job runner handler class should instantiate with no argument.</p>
+<p class="rubric">Usage</p>
+<p>You can then define a Cylc platform using the handler:</p>
+<div class="literal-block-wrapper docutils container" id="id2">
+<div class="code-block-caption"><span class="caption-text">global.cylc</span><a class="headerlink" href="#id2" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[my_platform]]</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> my_handler</span>  <span class="c1"># note matches Python module name</span>
+        <span class="nv">hosts </span><span class="o">=</span><span class="s"> localhost</span>
+</pre></div>
+</div>
+</div>
+<p>And configure tasks to submit to it:</p>
+<div class="literal-block-wrapper docutils container" id="id3">
+<div class="code-block-caption"><span class="caption-text">flow.cylc</span><a class="headerlink" href="#id3" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[my_task]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> echo &quot;Hello World!&quot;</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> my_platform</span>
+</pre></div>
+</div>
+</div>
+<p class="rubric">Common Arguments</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">job_conf:</span> <span class="pre">dict</span></code></dt><dd><p>The Cylc job configuration as a dictionary with the following fields:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">dependencies</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">directives</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">env-script</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">environment</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">err-script</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">execution_time_limit</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">exit-script</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">flow_nums</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">init-script</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">job_d</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">job_file_path</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">job_runner_command_template</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">job_runner_name</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">namespace_hierarchy</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">param_var</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">platform</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">post-script</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">pre-script</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">script</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">submit_num</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">task_id</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">try_num</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">uuid_str</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">work_d</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">workflow_name</span></code></p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">submit_opts:</span> <span class="pre">dict</span></code></dt><dd><p>The Cylc job submission options as a dictionary which may contain
+the following fields:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">env</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">execution_time_limit</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">execution_time_limit</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">job_runner_cmd_tmpl</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">job_runner_cmd_tmpl</span></code></p></li>
+</ul>
+</dd>
+</dl>
+<p class="rubric">An Example</p>
+<p>The following <code class="docutils literal notranslate"><span class="pre">qsub.py</span></code> module overrides the built-in <em>pbs</em>
+job runner handler to change the directive prefix from <code class="docutils literal notranslate"><span class="pre">#PBS</span></code> to
+<code class="docutils literal notranslate"><span class="pre">#QSUB</span></code>:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/usr/bin/env python3</span>
+
+<span class="kn">from</span> <span class="nn">cylc.flow.job_runner_handlers.pbs</span> <span class="kn">import</span> <span class="n">PBSHandler</span>
+
+<span class="k">class</span> <span class="nc">QSUBHandler</span><span class="p">(</span><span class="n">PBSHandler</span><span class="p">):</span>
+    <span class="n">DIRECTIVE_PREFIX</span> <span class="o">=</span> <span class="s2">&quot;#QSUB &quot;</span>
+
+<span class="n">JOB_RUNNER_HANDLER</span> <span class="o">=</span> <span class="n">QSUBHandler</span><span class="p">()</span>
+</pre></div>
+</div>
+<p>If this is in the Python search path (see
+<a class="reference internal" href="#where-to-put-job-runner-handler-modules"><span class="std std-ref">Installation</span></a> above) you can use it by
+name in your global configuration:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[my_platform]]</span>
+        <span class="nv">hosts </span><span class="o">=</span><span class="s"> myhostA, myhostB</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> qsub</span>  <span class="c1"># &lt;---!</span>
+</pre></div>
+</div>
+<p>Then in your <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> file you can use this platform:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># Note, this workflow will fail at run time because we only changed the</span>
+<span class="c1"># directive format, and PBS does not accept ``#QSUB`` directives in</span>
+<span class="c1"># reality.</span>
+
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="c">&quot;</span><span class="kd">a</span><span class="c">&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="nv">execution time limit </span><span class="o">=</span><span class="s"> PT1M</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> my_platform</span>
+        <span class="nt">[[[directives]]]</span>
+            <span class="nv">-l nodes </span><span class="o">=</span><span class="s"> 1</span>
+            <span class="nv">-q </span><span class="o">=</span><span class="s"> long</span>
+            <span class="nv">-V </span><span class="o">=</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Don’t subclass this class as it provides optional interfaces which
+you may not want to inherit.</p>
+</div>
+<dl class="py attribute">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.FAIL_SIGNALS">
+<span class="sig-name descname"><span class="pre">FAIL_SIGNALS</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Tuple" title="(in Python v3.12)"><span class="pre">Tuple</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span></em><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.FAIL_SIGNALS" title="Link to this definition"></a></dt>
+<dd><p>A tuple containing the names of signals to trap for reporting errors.</p>
+<p>The default is <code class="docutils literal notranslate"><span class="pre">(&quot;EXIT&quot;,</span> <span class="pre">&quot;ERR&quot;,</span> <span class="pre">&quot;TERM&quot;,</span> <span class="pre">&quot;XCPU&quot;)</span></code>.</p>
+<p><code class="docutils literal notranslate"><span class="pre">ERR</span></code> and <code class="docutils literal notranslate"><span class="pre">EXIT</span></code> are always recommended.
+<code class="docutils literal notranslate"><span class="pre">EXIT</span></code> is used to report premature stopping of the job
+script, and its trap is unset at the end of the script.</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.KILL_CMD_TMPL">
+<span class="sig-name descname"><span class="pre">KILL_CMD_TMPL</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></em><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.KILL_CMD_TMPL" title="Link to this definition"></a></dt>
+<dd><p>Command template for killing a job submission.</p>
+<p>A Python string template for getting the job runner command to remove
+and terminate a job ID. The command is formed using the logic:
+<code class="docutils literal notranslate"><span class="pre">job_runner.KILL_CMD_TMPL</span> <span class="pre">%</span> <span class="pre">{&quot;job_id&quot;:</span> <span class="pre">job_id}</span></code>.</p>
+<p>For info on Python string template format see:
+<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting">https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting</a></p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.POLL_CANT_CONNECT_ERR">
+<span class="sig-name descname"><span class="pre">POLL_CANT_CONNECT_ERR</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></em><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.POLL_CANT_CONNECT_ERR" title="Link to this definition"></a></dt>
+<dd><p>String for detecting communication errors in poll command output.</p>
+<p>A string containing an error message. If this is defined, when a poll
+command returns a non-zero return code and its STDERR contains this
+string, then the poll result will not be trusted, because it is assumed
+that the job runner is currently unavailable. Jobs submitted to the
+job runner will be assumed OK until we are able to connect to the
+job runner again.</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.POLL_CMD">
+<span class="sig-name descname"><span class="pre">POLL_CMD</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></em><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.POLL_CMD" title="Link to this definition"></a></dt>
+<dd><p>Command for checking job submissions.</p>
+<p>A list of job IDs to poll will be provided as arguments.</p>
+<p>The command should write valid submitted/running job IDs to stdout.</p>
+<ul class="simple">
+<li><p>To filter out invalid/failed jobs use
+<a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.filter_poll_many_output" title="cylc.flow.job_runner_handlers.documentation.ExampleHandler.filter_poll_many_output"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ExampleHandler.filter_poll_many_output()</span></code></a>.</p></li>
+<li><p>To build a more advanced command than is possible with this configuration
+use <a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.get_poll_many_cmd" title="cylc.flow.job_runner_handlers.documentation.ExampleHandler.get_poll_many_cmd"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ExampleHandler.get_poll_many_cmd()</span></code></a>.</p></li>
+</ul>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.REC_ID_FROM_SUBMIT_ERR">
+<span class="sig-name descname"><span class="pre">REC_ID_FROM_SUBMIT_ERR</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/re.html#re.Pattern" title="(in Python v3.12)"><span class="pre">re.Pattern</span></a></em><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.REC_ID_FROM_SUBMIT_ERR" title="Link to this definition"></a></dt>
+<dd><p>Regular expression to extract job IDs from submission stderr.</p>
+<p>See <a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.REC_ID_FROM_SUBMIT_OUT" title="cylc.flow.job_runner_handlers.documentation.ExampleHandler.REC_ID_FROM_SUBMIT_OUT"><code class="xref py py-attr docutils literal notranslate"><span class="pre">ExampleHandler.REC_ID_FROM_SUBMIT_OUT</span></code></a>.</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.REC_ID_FROM_SUBMIT_OUT">
+<span class="sig-name descname"><span class="pre">REC_ID_FROM_SUBMIT_OUT</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/re.html#re.Pattern" title="(in Python v3.12)"><span class="pre">re.Pattern</span></a></em><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.REC_ID_FROM_SUBMIT_OUT" title="Link to this definition"></a></dt>
+<dd><p>Regular expression to extract job IDs from submission stderr.</p>
+<p>A regular expression (compiled) to extract the job “id” from the standard
+output or standard error of the job submission command.</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.SHOULD_KILL_PROC_GROUP">
+<span class="sig-name descname"><span class="pre">SHOULD_KILL_PROC_GROUP</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><span class="pre">bool</span></a></em><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.SHOULD_KILL_PROC_GROUP" title="Link to this definition"></a></dt>
+<dd><p>Kill jobs by killing the process group.</p>
+<p>A boolean to indicate whether it is necessary to kill a job by sending
+a signal to its Unix process group. This boolean also indicates that
+a job submitted via this job runner will physically run on the same
+host it is submitted to.</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.SHOULD_POLL_PROC_GROUP">
+<span class="sig-name descname"><span class="pre">SHOULD_POLL_PROC_GROUP</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><span class="pre">bool</span></a></em><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.SHOULD_POLL_PROC_GROUP" title="Link to this definition"></a></dt>
+<dd><p>Poll jobs by PID.</p>
+<p>A boolean to indicate whether it is necessary to poll a job by its PID
+as well as the job ID.</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.SUBMIT_CMD_ENV">
+<span class="sig-name descname"><span class="pre">SUBMIT_CMD_ENV</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Iterable" title="(in Python v3.12)"><span class="pre">Iterable</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span></em><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.SUBMIT_CMD_ENV" title="Link to this definition"></a></dt>
+<dd><p>Extra environment variables for the job runner command.</p>
+<p>A Python dict (or an iterable that can be used to update a dict)
+containing extra environment variables for getting the job runner
+command to submit a job file.</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.SUBMIT_CMD_TMPL">
+<span class="sig-name descname"><span class="pre">SUBMIT_CMD_TMPL</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></em><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.SUBMIT_CMD_TMPL" title="Link to this definition"></a></dt>
+<dd><p>Command template for job submission.</p>
+<p>A Python string template for getting the job runner command to submit a
+job file. The command is formed using the logic:
+<code class="docutils literal notranslate"><span class="pre">job_runner.SUBMIT_CMD_TMPL</span> <span class="pre">%</span> <span class="pre">{&quot;job&quot;:</span> <span class="pre">job_file_path}</span></code></p>
+<p>For info on Python string template format see:
+<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting">https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting</a></p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.filter_poll_many_output">
+<span class="sig-name descname"><span class="pre">filter_poll_many_output</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">out</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.List" title="(in Python v3.12)"><span class="pre">List</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.filter_poll_many_output" title="Link to this definition"></a></dt>
+<dd><p>Filter job ides out of poll output.</p>
+<p>Called after the job runner’s poll command. The method should read
+the output and return a list of job IDs that are still in the
+job runner.</p>
+<dl class="simple">
+<dt>Args:</dt><dd><p>out: Job poll stdout.</p>
+</dd>
+<dt>Returns:</dt><dd><p>List of job IDs</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.filter_submit_output">
+<span class="sig-name descname"><span class="pre">filter_submit_output</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">out</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">err</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Tuple" title="(in Python v3.12)"><span class="pre">Tuple</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.filter_submit_output" title="Link to this definition"></a></dt>
+<dd><p>Filter job submission stdout/err.</p>
+<p>Filter the standard output and standard error of the job submission
+command. This is useful if the job submission command returns
+information that should just be ignored.</p>
+<p>See also <a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.SUBMIT_CMD_TMPL" title="cylc.flow.job_runner_handlers.documentation.ExampleHandler.SUBMIT_CMD_TMPL"><code class="xref py py-meth docutils literal notranslate"><span class="pre">ExampleHandler.SUBMIT_CMD_TMPL()</span></code></a>.</p>
+<dl class="simple">
+<dt>Args:</dt><dd><p>out: Job submit stdout.
+err: Job submit stderr.</p>
+</dd>
+<dt>Returns:</dt><dd><p>(new_out, new_err)</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.format_directives">
+<span class="sig-name descname"><span class="pre">format_directives</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">job_conf</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.12)"><span class="pre">dict</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.List" title="(in Python v3.12)"><span class="pre">List</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.format_directives" title="Link to this definition"></a></dt>
+<dd><p>Returns lines to be appended to the job script.</p>
+<p>This method formats the job directives for a job file, if
+job file directives are relevant for the job runner. The argument
+“job_conf” is a dict containing the job configuration.</p>
+<dl class="simple">
+<dt>Args:</dt><dd><p>job_conf: The Cylc configuration.</p>
+</dd>
+<dt>Returns:</dt><dd><p>lines</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.get_poll_many_cmd">
+<span class="sig-name descname"><span class="pre">get_poll_many_cmd</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">job_id_list</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.List" title="(in Python v3.12)"><span class="pre">List</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.List" title="(in Python v3.12)"><span class="pre">List</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.get_poll_many_cmd" title="Link to this definition"></a></dt>
+<dd><p>Return a command to poll the specified jobs.</p>
+<p>If specified, this will be called instead of
+<a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.POLL_CMD" title="cylc.flow.job_runner_handlers.documentation.ExampleHandler.POLL_CMD"><code class="xref py py-attr docutils literal notranslate"><span class="pre">ExampleHandler.POLL_CMD</span></code></a>.</p>
+<dl class="simple">
+<dt>Args:</dt><dd><p>job_id_list: The list of job IDs to poll.</p>
+</dd>
+<dt>Returns:</dt><dd><p>command e.g. [‘foo’, ‘–bar’, ‘baz’]</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.get_submit_stdin">
+<span class="sig-name descname"><span class="pre">get_submit_stdin</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">job_file_path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">submit_opts</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.12)"><span class="pre">dict</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Tuple" title="(in Python v3.12)"><span class="pre">Tuple</span></a></span></span><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.get_submit_stdin" title="Link to this definition"></a></dt>
+<dd><p>Return a 2-element tuple <code class="docutils literal notranslate"><span class="pre">(proc_stdin_arg,</span> <span class="pre">proc_stdin_value)</span></code>.</p>
+<ul class="simple">
+<li><p>Element 1 is suitable for the <code class="docutils literal notranslate"><span class="pre">stdin=...</span></code> argument of
+<code class="docutils literal notranslate"><span class="pre">subprocess.Popen</span></code> so it can be a file handle, <code class="docutils literal notranslate"><span class="pre">subprocess.PIPE</span></code>
+or <code class="docutils literal notranslate"><span class="pre">None</span></code>.</p></li>
+<li><p>Element 2 is the string content to pipe to stdin of the submit
+command (relevant only if <code class="docutils literal notranslate"><span class="pre">proc_stdin_arg</span></code> is <code class="docutils literal notranslate"><span class="pre">subprocess.PIPE</span></code>.</p></li>
+</ul>
+<dl class="simple">
+<dt>Args:</dt><dd><p>job_file_path: The path to the job file for this submission.
+submit_opts: Job submission options.</p>
+</dd>
+<dt>Returns:</dt><dd><p>(proc_stdin_arg, proc_stdin_value)</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.get_vacation_signal">
+<span class="sig-name descname"><span class="pre">get_vacation_signal</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">job_conf</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.12)"><span class="pre">dict</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></span></span><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.get_vacation_signal" title="Link to this definition"></a></dt>
+<dd><p>Return the vacation signal.</p>
+<p>If relevant, return a string containing the name of the signal that
+indicates the job has been vacated by the job runner.</p>
+<dl class="simple">
+<dt>Args:</dt><dd><p>job_conf: The Cylc configuration.</p>
+</dd>
+<dt>Returns:</dt><dd><p>signal</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.manip_job_id">
+<span class="sig-name descname"><span class="pre">manip_job_id</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">job_id</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></span></span><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.manip_job_id" title="Link to this definition"></a></dt>
+<dd><p>Modify the job ID that is returned by the job submit command.</p>
+<dl class="simple">
+<dt>Args:</dt><dd><p>job_id: The job ID returned by the submit command.</p>
+</dd>
+<dt>Returns:</dt><dd><p>job_id</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.job_runner_handlers.documentation.ExampleHandler.submit">
+<span class="sig-name descname"><span class="pre">submit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">job_file_path</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">submit_opts</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.12)"><span class="pre">dict</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Tuple" title="(in Python v3.12)"><span class="pre">Tuple</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><span class="pre">int</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.submit" title="Link to this definition"></a></dt>
+<dd><p>Submit a job.</p>
+<p>Submit a job and return an instance of the Popen object for the
+submission. This method is useful if the job submission requires logic
+beyond just running a system or shell command.</p>
+<p>See also <a class="reference internal" href="#cylc.flow.job_runner_handlers.documentation.ExampleHandler.SUBMIT_CMD_TMPL" title="cylc.flow.job_runner_handlers.documentation.ExampleHandler.SUBMIT_CMD_TMPL"><code class="xref py py-attr docutils literal notranslate"><span class="pre">ExampleHandler.SUBMIT_CMD_TMPL</span></code></a>.</p>
+<p>You must pass “env=submit_opts.get(‘env’)” to Popen - see
+<a class="reference internal" href="../../user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background.html#module-cylc.flow.job_runner_handlers.background" title="cylc.flow.job_runner_handlers.background"><code class="xref py py-mod docutils literal notranslate"><span class="pre">cylc.flow.job_runner_handlers.background</span></code></a>
+for an example.</p>
+<dl class="simple">
+<dt>Args:</dt><dd><p>job_file_path: The job file for this submission.
+submit_opts: Job submission options.</p>
+</dd>
+<dt>Returns:</dt><dd><p>(ret_code, out, err)</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../install/built-in/cylc.flow.install_plugins.log_vc_info.html" class="btn btn-neutral float-left" title="cylc.flow.install_plugins.log_vc_info" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../../workflow-design-guide/index.html" class="btn btn-neutral float-right" title="Workflow Design Guide" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "plugins/job-runners/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.html b/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.html
new file mode 100644
index 00000000000..cfd6dd558f7
--- /dev/null
+++ b/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.html
@@ -0,0 +1,251 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>cylc.flow.main_loop.auto_restart &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="cylc.flow.main_loop.health_check" href="cylc.flow.main_loop.health_check.html" />
+    <link rel="prev" title="Main Loop Plugins" href="../index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Plugins</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../cylc-rose.html">Cylc Rose</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Main Loop Plugins</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../index.html#built-in-plugins">Built In Plugins</a><ul class="current">
+<li class="toctree-l4 current"><a class="current reference internal" href="#">cylc.flow.main_loop.auto_restart</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.health_check.html">cylc.flow.main_loop.health_check</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.log_data_store.html">cylc.flow.main_loop.log_data_store</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.log_main_loop.html">cylc.flow.main_loop.log_main_loop</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.log_memory.html">cylc.flow.main_loop.log_memory</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.reset_bad_hosts.html">cylc.flow.main_loop.reset_bad_hosts</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../index.html#configuring">Configuring</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../index.html#developing-main-loop-plugins">Developing Main Loop Plugins</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../install/index.html">Pre-Configure And Post-Install Plugins</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../job-runners/index.html">Custom Job Submission Methods</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">Plugins</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Main Loop Plugins</a></li>
+      <li class="breadcrumb-item active">cylc.flow.main_loop.auto_restart</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.main_loop.auto_restart">
+<span id="cylc-flow-main-loop-auto-restart"></span><h1>cylc.flow.main_loop.auto_restart<a class="headerlink" href="#module-cylc.flow.main_loop.auto_restart" title="Link to this heading"></a></h1>
+<p>Automatically restart workflows if they are running on bad servers.</p>
+<p>Loads in the global configuration to check if the server a workflow is running
+on is listed in <a class="reference internal" href="../../../reference/config/global.html#global.cylc[scheduler][run hosts]condemned" title="global.cylc[scheduler][run hosts]condemned"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][run</span> <span class="pre">hosts]condemned</span></code></a>.</p>
+<p>This is useful if a host needs to be taken off-line e.g. for scheduled
+maintenance.</p>
+<p>This functionality is configured via the following site configuration
+settings:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../../reference/config/global.html#global.cylc[scheduler]auto restart delay" title="global.cylc[scheduler]auto restart delay"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler]auto</span> <span class="pre">restart</span> <span class="pre">delay</span></code></a></p></li>
+<li><p><a class="reference internal" href="../../../reference/config/global.html#global.cylc[scheduler][run hosts]condemned" title="global.cylc[scheduler][run hosts]condemned"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler][run</span> <span class="pre">hosts]condemned</span></code></a></p></li>
+<li><p><a class="reference internal" href="../../../reference/config/global.html#global.cylc[scheduler][run hosts]available" title="global.cylc[scheduler][run hosts]available"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler][run</span> <span class="pre">hosts]available</span></code></a></p></li>
+</ul>
+<p>The auto stop-restart feature has two modes:</p>
+<dl>
+<dt>Normal Mode</dt><dd><p>When a host is added to the
+<a class="reference internal" href="../../../reference/config/global.html#global.cylc[scheduler][run hosts]condemned" title="global.cylc[scheduler][run hosts]condemned"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler][run</span> <span class="pre">hosts]condemned</span></code></a> list, any workflows
+running on that host will automatically shutdown then restart selecting a
+new host from <a class="reference internal" href="../../../reference/config/global.html#global.cylc[scheduler][run hosts]available" title="global.cylc[scheduler][run hosts]available"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler][run</span> <span class="pre">hosts]available</span></code></a>.</p>
+<p>For safety, before attempting to stop the workflow Cylc will first wait
+for any jobs running locally (under background or at) to complete.</p>
+<p>In order for Cylc to be able to restart workflows the
+<a class="reference internal" href="../../../reference/config/global.html#global.cylc[scheduler][run hosts]available" title="global.cylc[scheduler][run hosts]available"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler][run</span> <span class="pre">hosts]available</span></code></a> hosts must all be on a
+shared filesystem.</p>
+</dd>
+<dt>Force Mode</dt><dd><p>If a host is suffixed with an exclamation mark then Cylc will not attempt
+to automatically restart the workflow and any local jobs (running under
+background or at) will be left running.</p>
+</dd>
+</dl>
+<p>For example in the following configuration any workflows running on
+<code class="docutils literal notranslate"><span class="pre">foo</span></code> will attempt to restart on <code class="docutils literal notranslate"><span class="pre">pub</span></code> whereas any workflows
+running on <code class="docutils literal notranslate"><span class="pre">bar</span></code> will stop immediately, making no attempt to restart.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+     <span class="nt">[[run hosts]]</span>
+         <span class="nv">available </span><span class="o">=</span><span class="s"> pub</span>
+         <span class="nv">condemned </span><span class="o">=</span><span class="s"> foo, bar!</span>
+</pre></div>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Cylc will reject hosts with ambiguous names such as <code class="docutils literal notranslate"><span class="pre">localhost</span></code> or
+<code class="docutils literal notranslate"><span class="pre">127.0.0.1</span></code> for this configuration as
+<a class="reference internal" href="../../../reference/config/global.html#global.cylc[scheduler][run hosts]condemned" title="global.cylc[scheduler][run hosts]condemned"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler][run</span> <span class="pre">hosts]condemned</span></code></a>
+are evaluated on the workflow host server.</p>
+</div>
+<p>To prevent large numbers of workflows attempting to restart simultaneously the
+<a class="reference internal" href="../../../reference/config/global.html#global.cylc[scheduler]auto restart delay" title="global.cylc[scheduler]auto restart delay"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler]auto</span> <span class="pre">restart</span> <span class="pre">delay</span></code></a> setting defines a period
+of time in seconds.
+Workflows will wait for a random period of time between zero and
+<a class="reference internal" href="../../../reference/config/global.html#global.cylc[scheduler]auto restart delay" title="global.cylc[scheduler]auto restart delay"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler]auto</span> <span class="pre">restart</span> <span class="pre">delay</span></code></a> seconds before
+attempting to stop and restart.</p>
+<p>Workflows that are started up in no-detach mode cannot auto stop-restart on a
+different host - as it will still end up attached to the condemned host.
+Therefore, a workflow in no-detach mode running on a condemned host will abort
+with a non-zero return code. The parent process should manually handle the
+restart of the workflow if desired.</p>
+<section id="python-api">
+<h2>Python API<a class="headerlink" href="#python-api" title="Link to this heading"></a></h2>
+<p class="rubric">Coroutines</p>
+<table class="autosummary longtable docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#cylc.flow.main_loop.auto_restart.auto_restart" title="cylc.flow.main_loop.auto_restart.auto_restart"><code class="xref py py-obj docutils literal notranslate"><span class="pre">auto_restart</span></code></a></p></td>
+<td><p>Automatically restart the workflow if configured to do so.</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.main_loop.auto_restart.auto_restart">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.main_loop.auto_restart.</span></span><span class="sig-name descname"><span class="pre">auto_restart</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">scheduler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">_</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.main_loop.auto_restart.auto_restart" title="Link to this definition"></a></dt>
+<dd><p>Automatically restart the workflow if configured to do so.</p>
+</dd></dl>
+
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../index.html" class="btn btn-neutral float-left" title="Main Loop Plugins" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="cylc.flow.main_loop.health_check.html" class="btn btn-neutral float-right" title="cylc.flow.main_loop.health_check" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.health_check.html b/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.health_check.html
new file mode 100644
index 00000000000..bf72d3383a3
--- /dev/null
+++ b/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.health_check.html
@@ -0,0 +1,201 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>cylc.flow.main_loop.health_check &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="cylc.flow.main_loop.log_data_store" href="cylc.flow.main_loop.log_data_store.html" />
+    <link rel="prev" title="cylc.flow.main_loop.auto_restart" href="cylc.flow.main_loop.auto_restart.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Plugins</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../cylc-rose.html">Cylc Rose</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Main Loop Plugins</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../index.html#built-in-plugins">Built In Plugins</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.auto_restart.html">cylc.flow.main_loop.auto_restart</a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#">cylc.flow.main_loop.health_check</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.log_data_store.html">cylc.flow.main_loop.log_data_store</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.log_main_loop.html">cylc.flow.main_loop.log_main_loop</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.log_memory.html">cylc.flow.main_loop.log_memory</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.reset_bad_hosts.html">cylc.flow.main_loop.reset_bad_hosts</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../index.html#configuring">Configuring</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../index.html#developing-main-loop-plugins">Developing Main Loop Plugins</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../install/index.html">Pre-Configure And Post-Install Plugins</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../job-runners/index.html">Custom Job Submission Methods</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">Plugins</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Main Loop Plugins</a></li>
+      <li class="breadcrumb-item active">cylc.flow.main_loop.health_check</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/plugins/main-loop/built-in/cylc.flow.main_loop.health_check.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.main_loop.health_check">
+<span id="cylc-flow-main-loop-health-check"></span><h1>cylc.flow.main_loop.health_check<a class="headerlink" href="#module-cylc.flow.main_loop.health_check" title="Link to this heading"></a></h1>
+<p>Checks the integrity of the workflow run directory.</p>
+<ul class="simple">
+<li><p>Ensures workflow run directory is still present.</p></li>
+<li><p>Ensures contact file is present and consistent with the running workflow.</p></li>
+</ul>
+<p>Shuts down the workflow in the event of inconsistency or error.</p>
+<section id="python-api">
+<h2>Python API<a class="headerlink" href="#python-api" title="Link to this heading"></a></h2>
+<p class="rubric">Coroutines</p>
+<table class="autosummary longtable docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#cylc.flow.main_loop.health_check.health_check" title="cylc.flow.main_loop.health_check.health_check"><code class="xref py py-obj docutils literal notranslate"><span class="pre">health_check</span></code></a></p></td>
+<td><p>Perform workflow health checks.</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.main_loop.health_check.health_check">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.main_loop.health_check.</span></span><span class="sig-name descname"><span class="pre">health_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">scheduler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">_</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.main_loop.health_check.health_check" title="Link to this definition"></a></dt>
+<dd><p>Perform workflow health checks.</p>
+</dd></dl>
+
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="cylc.flow.main_loop.auto_restart.html" class="btn btn-neutral float-left" title="cylc.flow.main_loop.auto_restart" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="cylc.flow.main_loop.log_data_store.html" class="btn btn-neutral float-right" title="cylc.flow.main_loop.log_data_store" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "plugins/main-loop/built-in/cylc.flow.main_loop.health_check";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store.html b/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store.html
new file mode 100644
index 00000000000..07c59afff7e
--- /dev/null
+++ b/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store.html
@@ -0,0 +1,220 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>cylc.flow.main_loop.log_data_store &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="cylc.flow.main_loop.log_main_loop" href="cylc.flow.main_loop.log_main_loop.html" />
+    <link rel="prev" title="cylc.flow.main_loop.health_check" href="cylc.flow.main_loop.health_check.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Plugins</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../cylc-rose.html">Cylc Rose</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Main Loop Plugins</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../index.html#built-in-plugins">Built In Plugins</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.auto_restart.html">cylc.flow.main_loop.auto_restart</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.health_check.html">cylc.flow.main_loop.health_check</a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#">cylc.flow.main_loop.log_data_store</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.log_main_loop.html">cylc.flow.main_loop.log_main_loop</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.log_memory.html">cylc.flow.main_loop.log_memory</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.reset_bad_hosts.html">cylc.flow.main_loop.reset_bad_hosts</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../index.html#configuring">Configuring</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../index.html#developing-main-loop-plugins">Developing Main Loop Plugins</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../install/index.html">Pre-Configure And Post-Install Plugins</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../job-runners/index.html">Custom Job Submission Methods</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">Plugins</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Main Loop Plugins</a></li>
+      <li class="breadcrumb-item active">cylc.flow.main_loop.log_data_store</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.main_loop.log_data_store">
+<span id="cylc-flow-main-loop-log-data-store"></span><h1>cylc.flow.main_loop.log_data_store<a class="headerlink" href="#module-cylc.flow.main_loop.log_data_store" title="Link to this heading"></a></h1>
+<p>Log the number and size of each type of object in the data store.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>This plugin is for Cylc developers debugging the data store.</p>
+</div>
+<p>If <code class="docutils literal notranslate"><span class="pre">matplotlib</span></code> is installed this plugin will plot results as a PDF in
+the run directory when the workflow is shut down (cleanly).</p>
+<section id="python-api">
+<h2>Python API<a class="headerlink" href="#python-api" title="Link to this heading"></a></h2>
+<p class="rubric">Coroutines</p>
+<table class="autosummary longtable docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#cylc.flow.main_loop.log_data_store.init" title="cylc.flow.main_loop.log_data_store.init"><code class="xref py py-obj docutils literal notranslate"><span class="pre">init</span></code></a></p></td>
+<td><p>Construct the initial state.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#cylc.flow.main_loop.log_data_store.log_data_store" title="cylc.flow.main_loop.log_data_store.log_data_store"><code class="xref py py-obj docutils literal notranslate"><span class="pre">log_data_store</span></code></a></p></td>
+<td><p>Count the number of objects and the data store size.</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#cylc.flow.main_loop.log_data_store.report" title="cylc.flow.main_loop.log_data_store.report"><code class="xref py py-obj docutils literal notranslate"><span class="pre">report</span></code></a></p></td>
+<td><p>Dump data to JSON, attempt to plot results.</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.main_loop.log_data_store.init">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.main_loop.log_data_store.</span></span><span class="sig-name descname"><span class="pre">init</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">scheduler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">state</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.main_loop.log_data_store.init" title="Link to this definition"></a></dt>
+<dd><p>Construct the initial state.</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.main_loop.log_data_store.log_data_store">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.main_loop.log_data_store.</span></span><span class="sig-name descname"><span class="pre">log_data_store</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">scheduler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">state</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.main_loop.log_data_store.log_data_store" title="Link to this definition"></a></dt>
+<dd><p>Count the number of objects and the data store size.</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.main_loop.log_data_store.report">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.main_loop.log_data_store.</span></span><span class="sig-name descname"><span class="pre">report</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">scheduler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">state</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.main_loop.log_data_store.report" title="Link to this definition"></a></dt>
+<dd><p>Dump data to JSON, attempt to plot results.</p>
+</dd></dl>
+
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="cylc.flow.main_loop.health_check.html" class="btn btn-neutral float-left" title="cylc.flow.main_loop.health_check" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="cylc.flow.main_loop.log_main_loop.html" class="btn btn-neutral float-right" title="cylc.flow.main_loop.log_main_loop" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop.html b/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop.html
new file mode 100644
index 00000000000..82e9946074d
--- /dev/null
+++ b/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop.html
@@ -0,0 +1,212 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>cylc.flow.main_loop.log_main_loop &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="cylc.flow.main_loop.log_memory" href="cylc.flow.main_loop.log_memory.html" />
+    <link rel="prev" title="cylc.flow.main_loop.log_data_store" href="cylc.flow.main_loop.log_data_store.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Plugins</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../cylc-rose.html">Cylc Rose</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Main Loop Plugins</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../index.html#built-in-plugins">Built In Plugins</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.auto_restart.html">cylc.flow.main_loop.auto_restart</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.health_check.html">cylc.flow.main_loop.health_check</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.log_data_store.html">cylc.flow.main_loop.log_data_store</a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#">cylc.flow.main_loop.log_main_loop</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.log_memory.html">cylc.flow.main_loop.log_memory</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.reset_bad_hosts.html">cylc.flow.main_loop.reset_bad_hosts</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../index.html#configuring">Configuring</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../index.html#developing-main-loop-plugins">Developing Main Loop Plugins</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../install/index.html">Pre-Configure And Post-Install Plugins</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../job-runners/index.html">Custom Job Submission Methods</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">Plugins</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Main Loop Plugins</a></li>
+      <li class="breadcrumb-item active">cylc.flow.main_loop.log_main_loop</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.main_loop.log_main_loop">
+<span id="cylc-flow-main-loop-log-main-loop"></span><h1>cylc.flow.main_loop.log_main_loop<a class="headerlink" href="#module-cylc.flow.main_loop.log_main_loop" title="Link to this heading"></a></h1>
+<p>Main loop plugin for monitoring main loop plugins.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>This plugin is for Cylc developers debugging main loop operations.</p>
+</div>
+<p>If <code class="docutils literal notranslate"><span class="pre">matplotlib</span></code> is installed this plugin will plot results as a PDF in
+the run directory when the workflow is shut down (cleanly).</p>
+<section id="python-api">
+<h2>Python API<a class="headerlink" href="#python-api" title="Link to this heading"></a></h2>
+<p class="rubric">Coroutines</p>
+<table class="autosummary longtable docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#cylc.flow.main_loop.log_main_loop.init" title="cylc.flow.main_loop.log_main_loop.init"><code class="xref py py-obj docutils literal notranslate"><span class="pre">init</span></code></a></p></td>
+<td><p>Override default queue length of 1.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#cylc.flow.main_loop.log_main_loop.report" title="cylc.flow.main_loop.log_main_loop.report"><code class="xref py py-obj docutils literal notranslate"><span class="pre">report</span></code></a></p></td>
+<td><p>Extract plugin function timings.</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.main_loop.log_main_loop.init">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.main_loop.log_main_loop.</span></span><span class="sig-name descname"><span class="pre">init</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">scheduler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">_</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.main_loop.log_main_loop.init" title="Link to this definition"></a></dt>
+<dd><p>Override default queue length of 1.</p>
+<p>This allows timings to accumulate, normally only the most recent is kept.</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.main_loop.log_main_loop.report">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.main_loop.log_main_loop.</span></span><span class="sig-name descname"><span class="pre">report</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">scheduler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">_</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.main_loop.log_main_loop.report" title="Link to this definition"></a></dt>
+<dd><p>Extract plugin function timings.</p>
+</dd></dl>
+
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="cylc.flow.main_loop.log_data_store.html" class="btn btn-neutral float-left" title="cylc.flow.main_loop.log_data_store" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="cylc.flow.main_loop.log_memory.html" class="btn btn-neutral float-right" title="cylc.flow.main_loop.log_memory" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.log_memory.html b/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.log_memory.html
new file mode 100644
index 00000000000..5a8ea03fb2d
--- /dev/null
+++ b/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.log_memory.html
@@ -0,0 +1,238 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>cylc.flow.main_loop.log_memory &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="cylc.flow.main_loop.reset_bad_hosts" href="cylc.flow.main_loop.reset_bad_hosts.html" />
+    <link rel="prev" title="cylc.flow.main_loop.log_main_loop" href="cylc.flow.main_loop.log_main_loop.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Plugins</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../cylc-rose.html">Cylc Rose</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Main Loop Plugins</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../index.html#built-in-plugins">Built In Plugins</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.auto_restart.html">cylc.flow.main_loop.auto_restart</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.health_check.html">cylc.flow.main_loop.health_check</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.log_data_store.html">cylc.flow.main_loop.log_data_store</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.log_main_loop.html">cylc.flow.main_loop.log_main_loop</a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#">cylc.flow.main_loop.log_memory</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.reset_bad_hosts.html">cylc.flow.main_loop.reset_bad_hosts</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../index.html#configuring">Configuring</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../index.html#developing-main-loop-plugins">Developing Main Loop Plugins</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../install/index.html">Pre-Configure And Post-Install Plugins</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../job-runners/index.html">Custom Job Submission Methods</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">Plugins</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Main Loop Plugins</a></li>
+      <li class="breadcrumb-item active">cylc.flow.main_loop.log_memory</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/plugins/main-loop/built-in/cylc.flow.main_loop.log_memory.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.main_loop.log_memory">
+<span id="cylc-flow-main-loop-log-memory"></span><h1>cylc.flow.main_loop.log_memory<a class="headerlink" href="#module-cylc.flow.main_loop.log_memory" title="Link to this heading"></a></h1>
+<p>Log the memory usage of a running scheduler over time.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>This plugin is for Cylc developers debugging cylc memory usage.</p>
+<p>For general interest memory measurement try
+<code class="docutils literal notranslate"><span class="pre">/usr/bin/time</span> <span class="pre">-v</span> <span class="pre">cylc</span> <span class="pre">play</span></code> or <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span> <span class="pre">--profile</span></code>.</p>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Pympler associates memory with the first object which references it.</p>
+<p>In Cylc we have some objects (e.g. the configuration) which are references
+from multiple places.</p>
+<p>This can result in a certain amount of “jitter” in the results where
+pympler has swapper from associating memory with one object to another.</p>
+<p>Watch out for matching increase/decrease in reported memory in
+different objects.</p>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>This plugin can slow down a workflow significantly due to the
+complexity of memory calculations.</p>
+<p>Set a sensible interval before running workflows.</p>
+</div>
+<p>If <code class="docutils literal notranslate"><span class="pre">matplotlib</span></code> is installed this plugin will plot results as a PDF in
+the run directory when the workflow is shut down (cleanly).</p>
+<section id="python-api">
+<h2>Python API<a class="headerlink" href="#python-api" title="Link to this heading"></a></h2>
+<p class="rubric">Coroutines</p>
+<table class="autosummary longtable docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#cylc.flow.main_loop.log_memory.init" title="cylc.flow.main_loop.log_memory.init"><code class="xref py py-obj docutils literal notranslate"><span class="pre">init</span></code></a></p></td>
+<td><p>Take an initial memory snapshot.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#cylc.flow.main_loop.log_memory.report" title="cylc.flow.main_loop.log_memory.report"><code class="xref py py-obj docutils literal notranslate"><span class="pre">report</span></code></a></p></td>
+<td><p>Take a final memory snapshot and dump the results.</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#cylc.flow.main_loop.log_memory.take_snapshot" title="cylc.flow.main_loop.log_memory.take_snapshot"><code class="xref py py-obj docutils literal notranslate"><span class="pre">take_snapshot</span></code></a></p></td>
+<td><p>Take a memory snapshot</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.main_loop.log_memory.init">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.main_loop.log_memory.</span></span><span class="sig-name descname"><span class="pre">init</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">scheduler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">state</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.main_loop.log_memory.init" title="Link to this definition"></a></dt>
+<dd><p>Take an initial memory snapshot.</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.main_loop.log_memory.report">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.main_loop.log_memory.</span></span><span class="sig-name descname"><span class="pre">report</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">scheduler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">state</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.main_loop.log_memory.report" title="Link to this definition"></a></dt>
+<dd><p>Take a final memory snapshot and dump the results.</p>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.main_loop.log_memory.take_snapshot">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.main_loop.log_memory.</span></span><span class="sig-name descname"><span class="pre">take_snapshot</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">scheduler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">state</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.main_loop.log_memory.take_snapshot" title="Link to this definition"></a></dt>
+<dd><p>Take a memory snapshot</p>
+</dd></dl>
+
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="cylc.flow.main_loop.log_main_loop.html" class="btn btn-neutral float-left" title="cylc.flow.main_loop.log_main_loop" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="cylc.flow.main_loop.reset_bad_hosts.html" class="btn btn-neutral float-right" title="cylc.flow.main_loop.reset_bad_hosts" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "plugins/main-loop/built-in/cylc.flow.main_loop.log_memory";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts.html b/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts.html
new file mode 100644
index 00000000000..1bcd212961b
--- /dev/null
+++ b/nightly_8.3/html/plugins/main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts.html
@@ -0,0 +1,205 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>cylc.flow.main_loop.reset_bad_hosts &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="Pre-Configure And Post-Install Plugins" href="../../install/index.html" />
+    <link rel="prev" title="cylc.flow.main_loop.log_memory" href="cylc.flow.main_loop.log_memory.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Plugins</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../cylc-rose.html">Cylc Rose</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Main Loop Plugins</a><ul class="current">
+<li class="toctree-l3 current"><a class="reference internal" href="../index.html#built-in-plugins">Built In Plugins</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.auto_restart.html">cylc.flow.main_loop.auto_restart</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.health_check.html">cylc.flow.main_loop.health_check</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.log_data_store.html">cylc.flow.main_loop.log_data_store</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.log_main_loop.html">cylc.flow.main_loop.log_main_loop</a></li>
+<li class="toctree-l4"><a class="reference internal" href="cylc.flow.main_loop.log_memory.html">cylc.flow.main_loop.log_memory</a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#">cylc.flow.main_loop.reset_bad_hosts</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../index.html#configuring">Configuring</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../index.html#developing-main-loop-plugins">Developing Main Loop Plugins</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../install/index.html">Pre-Configure And Post-Install Plugins</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../job-runners/index.html">Custom Job Submission Methods</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">Plugins</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Main Loop Plugins</a></li>
+      <li class="breadcrumb-item active">cylc.flow.main_loop.reset_bad_hosts</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/plugins/main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.main_loop.reset_bad_hosts">
+<span id="cylc-flow-main-loop-reset-bad-hosts"></span><h1>cylc.flow.main_loop.reset_bad_hosts<a class="headerlink" href="#module-cylc.flow.main_loop.reset_bad_hosts" title="Link to this heading"></a></h1>
+<p>Resets the list of bad hosts.</p>
+<p>The scheduler stores a set of hosts which it has been unable to contact to
+save contacting these hosts again.</p>
+<p>This list is cleared if a task cannot be submitted because all of the hosts it
+might use cannot be reached.</p>
+<p>If a task succeeds in submitting a job on the second host it tries, then the
+first host remains in the set of unreachable (bad) hosts, even though the
+failure might have been transitory. For this reason, this plugin periodically
+clears the set.</p>
+<p>Suggested interval - an hour.</p>
+<section id="python-api">
+<h2>Python API<a class="headerlink" href="#python-api" title="Link to this heading"></a></h2>
+<p class="rubric">Coroutines</p>
+<table class="autosummary longtable docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#cylc.flow.main_loop.reset_bad_hosts.reset_bad_hosts" title="cylc.flow.main_loop.reset_bad_hosts.reset_bad_hosts"><code class="xref py py-obj docutils literal notranslate"><span class="pre">reset_bad_hosts</span></code></a></p></td>
+<td><p>Empty bad_hosts.</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.main_loop.reset_bad_hosts.reset_bad_hosts">
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.main_loop.reset_bad_hosts.</span></span><span class="sig-name descname"><span class="pre">reset_bad_hosts</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">scheduler</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">_</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.main_loop.reset_bad_hosts.reset_bad_hosts" title="Link to this definition"></a></dt>
+<dd><p>Empty bad_hosts.</p>
+</dd></dl>
+
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="cylc.flow.main_loop.log_memory.html" class="btn btn-neutral float-left" title="cylc.flow.main_loop.log_memory" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../../install/index.html" class="btn btn-neutral float-right" title="Pre-Configure And Post-Install Plugins" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "plugins/main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/plugins/main-loop/index.html b/nightly_8.3/html/plugins/main-loop/index.html
new file mode 100644
index 00000000000..dde9bc05cde
--- /dev/null
+++ b/nightly_8.3/html/plugins/main-loop/index.html
@@ -0,0 +1,367 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Main Loop Plugins &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="cylc.flow.main_loop.auto_restart" href="built-in/cylc.flow.main_loop.auto_restart.html" />
+    <link rel="prev" title="Cylc Rose" href="../cylc-rose.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Plugins</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../cylc-rose.html">Cylc Rose</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Main Loop Plugins</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#built-in-plugins">Built In Plugins</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="built-in/cylc.flow.main_loop.auto_restart.html">cylc.flow.main_loop.auto_restart</a></li>
+<li class="toctree-l4"><a class="reference internal" href="built-in/cylc.flow.main_loop.health_check.html">cylc.flow.main_loop.health_check</a></li>
+<li class="toctree-l4"><a class="reference internal" href="built-in/cylc.flow.main_loop.log_data_store.html">cylc.flow.main_loop.log_data_store</a></li>
+<li class="toctree-l4"><a class="reference internal" href="built-in/cylc.flow.main_loop.log_main_loop.html">cylc.flow.main_loop.log_main_loop</a></li>
+<li class="toctree-l4"><a class="reference internal" href="built-in/cylc.flow.main_loop.log_memory.html">cylc.flow.main_loop.log_memory</a></li>
+<li class="toctree-l4"><a class="reference internal" href="built-in/cylc.flow.main_loop.reset_bad_hosts.html">cylc.flow.main_loop.reset_bad_hosts</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#configuring">Configuring</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#developing-main-loop-plugins">Developing Main Loop Plugins</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#hello-world">Hello World</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#examples">Examples</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#coroutines">Coroutines</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#event-types">Event Types</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../install/index.html">Pre-Configure And Post-Install Plugins</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../job-runners/index.html">Custom Job Submission Methods</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Plugins</a></li>
+      <li class="breadcrumb-item active">Main Loop Plugins</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/plugins/main-loop/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.main_loop">
+<span id="main-loop-plugins"></span><h1>Main Loop Plugins<a class="headerlink" href="#module-cylc.flow.main_loop" title="Link to this heading"></a></h1>
+<p>Plugins for running Python code inside of the Cylc scheduler.</p>
+<section id="built-in-plugins">
+<span id="builtinplugins"></span><h2>Built In Plugins<a class="headerlink" href="#built-in-plugins" title="Link to this heading"></a></h2>
+<p>Cylc Flow provides the following plugins:</p>
+<table class="autosummary longtable docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="built-in/cylc.flow.main_loop.auto_restart.html#module-cylc.flow.main_loop.auto_restart" title="cylc.flow.main_loop.auto_restart"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.main_loop.auto_restart</span></code></a></p></td>
+<td><p>Automatically restart workflows if they are running on bad servers.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="built-in/cylc.flow.main_loop.health_check.html#module-cylc.flow.main_loop.health_check" title="cylc.flow.main_loop.health_check"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.main_loop.health_check</span></code></a></p></td>
+<td><p>Checks the integrity of the workflow run directory.</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="built-in/cylc.flow.main_loop.log_data_store.html#module-cylc.flow.main_loop.log_data_store" title="cylc.flow.main_loop.log_data_store"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.main_loop.log_data_store</span></code></a></p></td>
+<td><p>Log the number and size of each type of object in the data store.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="built-in/cylc.flow.main_loop.log_main_loop.html#module-cylc.flow.main_loop.log_main_loop" title="cylc.flow.main_loop.log_main_loop"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.main_loop.log_main_loop</span></code></a></p></td>
+<td><p>Main loop plugin for monitoring main loop plugins.</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="built-in/cylc.flow.main_loop.log_memory.html#module-cylc.flow.main_loop.log_memory" title="cylc.flow.main_loop.log_memory"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.main_loop.log_memory</span></code></a></p></td>
+<td><p>Log the memory usage of a running scheduler over time.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="built-in/cylc.flow.main_loop.reset_bad_hosts.html#module-cylc.flow.main_loop.reset_bad_hosts" title="cylc.flow.main_loop.reset_bad_hosts"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.main_loop.reset_bad_hosts</span></code></a></p></td>
+<td><p>Resets the list of bad hosts.</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="configuring">
+<h2>Configuring<a class="headerlink" href="#configuring" title="Link to this heading"></a></h2>
+<p>Main loop plugins can be activated either by:</p>
+<ul>
+<li><p>Using the <code class="docutils literal notranslate"><span class="pre">--main-loop</span></code> option with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> e.g:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span><span class="c1"># run a workflow using the &quot;health check&quot; and &quot;auto restart&quot; plugins:</span>
+<span class="gp">$ </span>cylc<span class="w"> </span>play<span class="w"> </span>my-workflow<span class="w"> </span>--main-loop<span class="w"> </span><span class="s1">&#39;health check&#39;</span><span class="w"> </span>--main-loop<span class="w"> </span><span class="s1">&#39;auto restart&#39;</span>
+</pre></div>
+</div>
+</li>
+<li><p>Adding them to the default list of plugins in
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[scheduler][main loop]plugins" title="global.cylc[scheduler][main loop]plugins"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop]plugins</span></code></a> e.g:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nt">[[main loop]]</span>
+        <span class="nv">plugins </span><span class="o">=</span><span class="s"> health check, auto restart</span>
+</pre></div>
+</div>
+</li>
+</ul>
+<p>Main loop plugins can be individually configured in their
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[scheduler][main loop][&lt;plugin name&gt;]" title="global.cylc[scheduler][main loop][&lt;plugin name&gt;]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop][&lt;plugin</span> <span class="pre">name&gt;]</span></code></a> section e.g:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nt">[[main loop]]</span>
+        <span class="nt">[[[health check]]]</span>
+            <span class="nv">interval </span><span class="o">=</span><span class="s"> PT5M</span>  <span class="c1"># perform check every 5 minutes</span>
+</pre></div>
+</div>
+</section>
+<section id="developing-main-loop-plugins">
+<h2>Developing Main Loop Plugins<a class="headerlink" href="#developing-main-loop-plugins" title="Link to this heading"></a></h2>
+<p>Main loop plugins are Python modules containing asynchronous function(s)
+(sometimes referred to as coroutines) which Cylc Flow executes within the
+scheduler.</p>
+<section id="hello-world">
+<h3>Hello World<a class="headerlink" href="#hello-world" title="Link to this heading"></a></h3>
+<p>Here is the “hello world” of main loop plugins:</p>
+<div class="literal-block-wrapper docutils container" id="id2">
+<div class="code-block-caption"><span class="caption-text">my_plugin.py</span><a class="headerlink" href="#id2" title="Link to this code"></a></div>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">cylc.flow</span> <span class="kn">import</span> <span class="n">LOG</span>
+<span class="kn">from</span> <span class="nn">cylc.flow.main_loop</span> <span class="kn">import</span> <span class="n">startup</span>
+
+<span class="nd">@startup</span>
+<span class="k">async</span> <span class="k">def</span> <span class="nf">my_startup_coroutine</span><span class="p">(</span><span class="n">schd</span><span class="p">,</span> <span class="n">state</span><span class="p">):</span>
+   <span class="c1"># write Hello &lt;workflow name&gt; to the Cylc log.</span>
+   <span class="n">LOG</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;Hello </span><span class="si">{</span><span class="n">schd</span><span class="o">.</span><span class="n">workflow</span><span class="si">}</span><span class="s1">&#39;</span><span class="p">)</span>
+</pre></div>
+</div>
+</div>
+<p>Plugins are registered by registering them with the <code class="docutils literal notranslate"><span class="pre">cylc.main_loop</span></code>
+entry point:</p>
+<div class="literal-block-wrapper docutils container" id="id3">
+<div class="code-block-caption"><span class="caption-text">setup.py</span><a class="headerlink" href="#id3" title="Link to this code"></a></div>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># plugins must be properly installed, in-place PYTHONPATH meddling will</span>
+<span class="c1"># not work.</span>
+
+<span class="kn">from</span> <span class="nn">setuptools</span> <span class="kn">import</span> <span class="n">setup</span>
+
+<span class="n">setup</span><span class="p">(</span>
+    <span class="n">name</span><span class="o">=</span><span class="s1">&#39;my-plugin&#39;</span><span class="p">,</span>
+    <span class="n">version</span><span class="o">=</span><span class="s1">&#39;1.0&#39;</span><span class="p">,</span>
+    <span class="n">py_modules</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;my_plugin&#39;</span><span class="p">],</span>
+    <span class="n">entry_points</span><span class="o">=</span><span class="p">{</span>
+       <span class="c1"># register this plugin with Cylc</span>
+       <span class="s1">&#39;cylc.main_loop&#39;</span><span class="p">:</span> <span class="p">[</span>
+         <span class="c1"># name = python.namespace.of.module</span>
+         <span class="s1">&#39;my_plugin=my_plugin.my_plugin&#39;</span>
+       <span class="p">]</span>
+    <span class="p">}</span>
+<span class="p">)</span>
+</pre></div>
+</div>
+</div>
+</section>
+<section id="examples">
+<h3>Examples<a class="headerlink" href="#examples" title="Link to this heading"></a></h3>
+<p>For examples see the built-in plugins in the <a class="reference internal" href="#module-cylc.flow.main_loop" title="cylc.flow.main_loop"><code class="xref py py-mod docutils literal notranslate"><span class="pre">cylc.flow.main_loop</span></code></a>
+module which are registered in the Cylc Flow <code class="docutils literal notranslate"><span class="pre">setup.cfg</span></code> file.</p>
+</section>
+<section id="coroutines">
+<h3>Coroutines<a class="headerlink" href="#coroutines" title="Link to this heading"></a></h3>
+<p>Plugins provide asynchronous functions (<a class="reference external" href="https://docs.python.org/3/library/asyncio-task.html#coroutines">coroutines</a>) which Cylc will
+then run inside the scheduler.</p>
+<p>Coroutines should be fast running (read as gentle on the scheduler)
+and perform IO asynchronously.</p>
+<p>Coroutines shouldn’t meddle with the state of the scheduler and should be
+parallel-safe with other plugins.</p>
+</section>
+<section id="event-types">
+<h3>Event Types<a class="headerlink" href="#event-types" title="Link to this heading"></a></h3>
+<p>Coroutines must be decorated using one of the main loop decorators. The
+choice of decorator effects when the coroutine is called and what
+arguments are provided to it.</p>
+<p>The available event types are:</p>
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.main_loop.startup">
+<span class="sig-prename descclassname"><span class="pre">cylc.flow.main_loop.</span></span><span class="sig-name descname"><span class="pre">startup</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fcn</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.main_loop.startup" title="Link to this definition"></a></dt>
+<dd><p>Decorates a coroutine which is run at workflow startup.</p>
+<p>The decorated coroutine should have the signature:</p>
+<blockquote>
+<div><p><code class="docutils literal notranslate"><span class="pre">async</span> <span class="pre">coroutine(scheduler,</span> <span class="pre">plugin_state)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p>
+</div></blockquote>
+<p>Exceptions:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p>Regular Exceptions are caught and logged.</p></li>
+<li><p>Exceptions which subclass CylcError are re-raised as
+MainLoopPluginException</p></li>
+</ul>
+</div></blockquote>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.main_loop.shutdown">
+<span class="sig-prename descclassname"><span class="pre">cylc.flow.main_loop.</span></span><span class="sig-name descname"><span class="pre">shutdown</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fcn</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.main_loop.shutdown" title="Link to this definition"></a></dt>
+<dd><p>Decorates a coroutine which is run at workflow shutdown.</p>
+<p>Note shutdown refers to “clean” shutdown as opposed to workflow abort.</p>
+<p>The decorated coroutine should have the signature:</p>
+<blockquote>
+<div><p><code class="docutils literal notranslate"><span class="pre">async</span> <span class="pre">coroutine(scheduler,</span> <span class="pre">plugin_state)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p>
+</div></blockquote>
+<p>Exceptions:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p>Regular Exceptions are caught and logged.</p></li>
+<li><p>Exceptions which subclass CylcError are re-raised as
+MainLoopPluginException</p></li>
+</ul>
+</div></blockquote>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.main_loop.periodic">
+<span class="sig-prename descclassname"><span class="pre">cylc.flow.main_loop.</span></span><span class="sig-name descname"><span class="pre">periodic</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fcn</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.main_loop.periodic" title="Link to this definition"></a></dt>
+<dd><p>Decorates a coroutine which is run at a set interval.</p>
+<p>The decorated coroutine should have the signature:</p>
+<blockquote>
+<div><p><code class="docutils literal notranslate"><span class="pre">async</span> <span class="pre">coroutine(scheduler,</span> <span class="pre">plugin_state)</span> <span class="pre">-&gt;</span> <span class="pre">None</span></code></p>
+</div></blockquote>
+<p>Exceptions:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p>Regular Exceptions are caught and logged.</p></li>
+<li><p>Exceptions which subclass CylcError are re-raised as
+MainLoopPluginException</p></li>
+</ul>
+</div></blockquote>
+<p>Configuration:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p>The interval of execution can be altered using
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[scheduler][main loop][&lt;plugin name&gt;]interval" title="global.cylc[scheduler][main loop][&lt;plugin name&gt;]interval"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop][&lt;plugin</span> <span class="pre">name&gt;]interval</span></code></a></p></li>
+</ul>
+</div></blockquote>
+</dd></dl>
+
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../cylc-rose.html" class="btn btn-neutral float-left" title="Cylc Rose" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="built-in/cylc.flow.main_loop.auto_restart.html" class="btn btn-neutral float-right" title="cylc.flow.main_loop.auto_restart" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "plugins/main-loop/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/py-modindex.html b/nightly_8.3/html/py-modindex.html
new file mode 100644
index 00000000000..96267fd0fc2
--- /dev/null
+++ b/nightly_8.3/html/py-modindex.html
@@ -0,0 +1,278 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="./">
+<head>
+  <meta charset="utf-8" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Python Module Index &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="_static/jquery.js?v=5d32c60e"></script>
+        <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="_static/doctools.js?v=888ff710"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="_static/js/spoiler.js?v=12631137"></script>
+        <script src="_static/js/addons.js?v=39bd7dee"></script>
+    <script src="_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+ 
+
+
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="index.html">
+            
+              <img src="_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">Python Module Index</li>
+      <li class="wy-breadcrumbs-aside">
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+
+   <h1>Python Module Index</h1>
+
+   <div class="modindex-jumpbox">
+   <a href="#cap-c"><strong>c</strong></a>
+   </div>
+
+   <table class="indextable modindextable">
+     <tr class="pcap"><td></td><td>&#160;</td><td></td></tr>
+     <tr class="cap" id="cap-c"><td></td><td>
+       <strong>c</strong></td><td></td></tr>
+     <tr>
+       <td><img src="_static/minus.png" class="toggler"
+              id="toggle-1" style="display: none" alt="-" /></td>
+       <td>
+       <code class="xref">cylc</code></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="plugins/install/built-in/cylc.flow.install_plugins.log_vc_info.html#module-cylc.flow.install_plugins.log_vc_info"><code class="xref">cylc.flow.install_plugins.log_vc_info</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="user-guide/task-implementation/job-submission.html#module-cylc.flow.job_runner_handlers"><code class="xref">cylc.flow.job_runner_handlers</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.at.html#module-cylc.flow.job_runner_handlers.at"><code class="xref">cylc.flow.job_runner_handlers.at</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background.html#module-cylc.flow.job_runner_handlers.background"><code class="xref">cylc.flow.job_runner_handlers.background</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler.html#module-cylc.flow.job_runner_handlers.loadleveler"><code class="xref">cylc.flow.job_runner_handlers.loadleveler</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.lsf.html#module-cylc.flow.job_runner_handlers.lsf"><code class="xref">cylc.flow.job_runner_handlers.lsf</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.moab.html#module-cylc.flow.job_runner_handlers.moab"><code class="xref">cylc.flow.job_runner_handlers.moab</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.pbs.html#module-cylc.flow.job_runner_handlers.pbs"><code class="xref">cylc.flow.job_runner_handlers.pbs</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.sge.html#module-cylc.flow.job_runner_handlers.sge"><code class="xref">cylc.flow.job_runner_handlers.sge</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm.html#module-cylc.flow.job_runner_handlers.slurm"><code class="xref">cylc.flow.job_runner_handlers.slurm</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob.html#module-cylc.flow.job_runner_handlers.slurm_packjob"><code class="xref">cylc.flow.job_runner_handlers.slurm_packjob</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="plugins/main-loop/index.html#module-cylc.flow.main_loop"><code class="xref">cylc.flow.main_loop</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.html#module-cylc.flow.main_loop.auto_restart"><code class="xref">cylc.flow.main_loop.auto_restart</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="plugins/main-loop/built-in/cylc.flow.main_loop.health_check.html#module-cylc.flow.main_loop.health_check"><code class="xref">cylc.flow.main_loop.health_check</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store.html#module-cylc.flow.main_loop.log_data_store"><code class="xref">cylc.flow.main_loop.log_data_store</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop.html#module-cylc.flow.main_loop.log_main_loop"><code class="xref">cylc.flow.main_loop.log_main_loop</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="plugins/main-loop/built-in/cylc.flow.main_loop.log_memory.html#module-cylc.flow.main_loop.log_memory"><code class="xref">cylc.flow.main_loop.log_memory</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="plugins/main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts.html#module-cylc.flow.main_loop.reset_bad_hosts"><code class="xref">cylc.flow.main_loop.reset_bad_hosts</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="reference/api/scan.html#module-cylc.flow.network.scan"><code class="xref">cylc.flow.network.scan</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="user-guide/writing-workflows/configuration.html#module-cylc.flow.scripts.lint"><code class="xref">cylc.flow.scripts.lint</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="plugins/cylc-rose.html#module-cylc.rose"><code class="xref">cylc.rose</code></a></td><td>
+       <em></em></td></tr>
+     <tr class="cg-1">
+       <td></td>
+       <td>&#160;&#160;&#160;
+       <a href="reference/config/ui-server.html#module-cylc.uiserver.app"><code class="xref">cylc.uiserver.app</code></a></td><td>
+       <em></em></td></tr>
+   </table>
+
+
+           </div>
+          </div>
+          <footer>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "py-modindex";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/api/index.html b/nightly_8.3/html/reference/api/index.html
new file mode 100644
index 00000000000..78f6e38b65a
--- /dev/null
+++ b/nightly_8.3/html/reference/api/index.html
@@ -0,0 +1,214 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Cylc API &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Scan API" href="scan.html" />
+    <link rel="prev" title="Data Flow" href="../architecture/data-flow.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../changes.html">Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../config/index.html">Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Cylc API</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="scan.html">Scan API</a></li>
+<li class="toctree-l3"><a class="reference internal" href="zmq.html">Workflow Runtime Interface</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Reference</a></li>
+      <li class="breadcrumb-item active">Cylc API</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/reference/api/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="cylc-api">
+<h1>Cylc API<a class="headerlink" href="#cylc-api" title="Link to this heading"></a></h1>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="scan.html">Scan API</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="scan.html#cylc.flow.network.scan.scan"><code class="docutils literal notranslate"><span class="pre">scan()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="scan.html#cylc.flow.network.scan.filter_name"><code class="docutils literal notranslate"><span class="pre">filter_name()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="scan.html#cylc.flow.network.scan.is_active"><code class="docutils literal notranslate"><span class="pre">is_active()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="scan.html#cylc.flow.network.scan.contact_info"><code class="docutils literal notranslate"><span class="pre">contact_info()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="scan.html#cylc.flow.network.scan.cylc_version"><code class="docutils literal notranslate"><span class="pre">cylc_version()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="scan.html#cylc.flow.network.scan.api_version"><code class="docutils literal notranslate"><span class="pre">api_version()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="scan.html#cylc.flow.network.scan.graphql_query"><code class="docutils literal notranslate"><span class="pre">graphql_query()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="scan.html#cylc.flow.network.scan.title"><code class="docutils literal notranslate"><span class="pre">title()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="scan.html#cylc.flow.network.scan.workflow_params"><code class="docutils literal notranslate"><span class="pre">workflow_params()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="zmq.html">Workflow Runtime Interface</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="zmq.html#client">Client</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="zmq.html#cylc.flow.network.client.WorkflowRuntimeClient"><code class="docutils literal notranslate"><span class="pre">WorkflowRuntimeClient</span></code></a><ul>
+<li class="toctree-l4"><a class="reference internal" href="zmq.html#cylc.flow.network.client.WorkflowRuntimeClient.serial_request"><code class="docutils literal notranslate"><span class="pre">WorkflowRuntimeClient.serial_request()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="zmq.html#cylc.flow.network.client.WorkflowRuntimeClient.async_request"><code class="docutils literal notranslate"><span class="pre">WorkflowRuntimeClient.async_request()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="zmq.html#server">Server</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="zmq.html#cylc.flow.network.server.WorkflowRuntimeServer"><code class="docutils literal notranslate"><span class="pre">WorkflowRuntimeServer</span></code></a><ul>
+<li class="toctree-l4"><a class="reference internal" href="zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.api"><code class="docutils literal notranslate"><span class="pre">WorkflowRuntimeServer.api()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.graphql"><code class="docutils literal notranslate"><span class="pre">WorkflowRuntimeServer.graphql()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.operate"><code class="docutils literal notranslate"><span class="pre">WorkflowRuntimeServer.operate()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.pb_data_elements"><code class="docutils literal notranslate"><span class="pre">WorkflowRuntimeServer.pb_data_elements()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.pb_entire_workflow"><code class="docutils literal notranslate"><span class="pre">WorkflowRuntimeServer.pb_entire_workflow()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.publish_queued_items"><code class="docutils literal notranslate"><span class="pre">WorkflowRuntimeServer.publish_queued_items()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.receiver"><code class="docutils literal notranslate"><span class="pre">WorkflowRuntimeServer.receiver()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.register_endpoints"><code class="docutils literal notranslate"><span class="pre">WorkflowRuntimeServer.register_endpoints()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.start"><code class="docutils literal notranslate"><span class="pre">WorkflowRuntimeServer.start()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="zmq.html#cylc.flow.network.server.WorkflowRuntimeServer.stop"><code class="docutils literal notranslate"><span class="pre">WorkflowRuntimeServer.stop()</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../architecture/data-flow.html" class="btn btn-neutral float-left" title="Data Flow" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="scan.html" class="btn btn-neutral float-right" title="Scan API" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/api/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/api/scan.html b/nightly_8.3/html/reference/api/scan.html
new file mode 100644
index 00000000000..3065194cf15
--- /dev/null
+++ b/nightly_8.3/html/reference/api/scan.html
@@ -0,0 +1,376 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Scan API &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Workflow Runtime Interface" href="zmq.html" />
+    <link rel="prev" title="Cylc API" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../changes.html">Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../config/index.html">Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Cylc API</a><ul class="current">
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Scan API</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.network.scan.scan"><code class="docutils literal notranslate"><span class="pre">scan()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.network.scan.filter_name"><code class="docutils literal notranslate"><span class="pre">filter_name()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.network.scan.is_active"><code class="docutils literal notranslate"><span class="pre">is_active()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.network.scan.contact_info"><code class="docutils literal notranslate"><span class="pre">contact_info()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.network.scan.cylc_version"><code class="docutils literal notranslate"><span class="pre">cylc_version()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.network.scan.api_version"><code class="docutils literal notranslate"><span class="pre">api_version()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.network.scan.graphql_query"><code class="docutils literal notranslate"><span class="pre">graphql_query()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.network.scan.title"><code class="docutils literal notranslate"><span class="pre">title()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.network.scan.workflow_params"><code class="docutils literal notranslate"><span class="pre">workflow_params()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="zmq.html">Workflow Runtime Interface</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Reference</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Cylc API</a></li>
+      <li class="breadcrumb-item active">Scan API</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/reference/api/scan.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.network.scan">
+<span id="scan-api"></span><h1>Scan API<a class="headerlink" href="#module-cylc.flow.network.scan" title="Link to this heading"></a></h1>
+<p>Functionality for searching for workflows running as the current user.</p>
+<p>The <a class="reference internal" href="#cylc.flow.network.scan.scan" title="cylc.flow.network.scan.scan"><code class="xref py py-func docutils literal notranslate"><span class="pre">scan()</span></code></a> asynchronous generator yields workflows. Iterate
+over them using an <code class="docutils literal notranslate"><span class="pre">async</span> <span class="pre">for</span></code> statement:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">async</span> <span class="k">for</span> <span class="n">flow</span> <span class="ow">in</span> <span class="n">scan</span><span class="p">():</span>
+    <span class="nb">print</span><span class="p">(</span><span class="n">flow</span><span class="p">[</span><span class="s1">&#39;name&#39;</span><span class="p">])</span>
+</pre></div>
+</div>
+<p>For further functionality construct a pipe:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pipe</span> <span class="o">=</span> <span class="n">scan</span> <span class="o">|</span> <span class="n">is_active</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span> <span class="o">|</span> <span class="n">contact_info</span>
+<span class="k">async</span> <span class="k">for</span> <span class="n">flow</span> <span class="ow">in</span> <span class="n">pipe</span><span class="p">:</span>
+    <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;</span><span class="si">{</span><span class="n">flow</span><span class="p">[</span><span class="s2">&quot;name&quot;</span><span class="p">]</span><span class="si">}</span><span class="s1"> </span><span class="si">{</span><span class="n">flow</span><span class="p">[</span><span class="s2">&quot;CYLC_WORKFLOW_HOST&quot;</span><span class="p">]</span><span class="si">}</span><span class="s1">&#39;</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>There are filters which you can you to omit workflows e.g.
+<a class="reference internal" href="#cylc.flow.network.scan.cylc_version" title="cylc.flow.network.scan.cylc_version"><code class="xref py py-func docutils literal notranslate"><span class="pre">cylc_version()</span></code></a> and transformers which acquire more information
+e.g. <a class="reference internal" href="#cylc.flow.network.scan.contact_info" title="cylc.flow.network.scan.contact_info"><code class="xref py py-func docutils literal notranslate"><span class="pre">contact_info()</span></code></a>.</p>
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.network.scan.scan">
+<span class="sig-prename descclassname"><span class="pre">cylc.flow.network.scan.</span></span><span class="sig-name descname"><span class="pre">scan</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">run_dir</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/pathlib.html#pathlib.Path" title="(in Python v3.12)"><span class="pre">Path</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scan_dir</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/pathlib.html#pathlib.Path" title="(in Python v3.12)"><span class="pre">Path</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_depth</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><span class="pre">int</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.AsyncGenerator" title="(in Python v3.12)"><span class="pre">AsyncGenerator</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Dict" title="(in Python v3.12)"><span class="pre">Dict</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/pathlib.html#pathlib.Path" title="(in Python v3.12)"><span class="pre">Path</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#cylc.flow.network.scan.scan" title="Link to this definition"></a></dt>
+<dd><p>List flows installed on the filesystem.</p>
+<dl>
+<dt>Args:</dt><dd><dl>
+<dt>run_dir:</dt><dd><p>The run dir to look for workflows in, defaults to ~/cylc-run.</p>
+<p>All workflow registrations will be given relative to this path.</p>
+</dd>
+<dt>scan_dir:</dt><dd><p>The directory to scan for workflows in.</p>
+<p>Use in combination with run_dir if you want to scan a subdir
+within the run_dir.</p>
+</dd>
+<dt>max_depth:</dt><dd><p>The maximum number of levels to descend before bailing.</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">max_depth=1</span></code> will pick up top-level workflows (e.g. <code class="docutils literal notranslate"><span class="pre">foo</span></code>).</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">max_depth=2</span></code> will pick up nested workflows (e.g. <code class="docutils literal notranslate"><span class="pre">foo/bar</span></code>).</p></li>
+</ul>
+</dd>
+</dl>
+</dd>
+<dt>Yields:</dt><dd><p>dict - Dictionary containing information about the flow.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.network.scan.filter_name">
+<span class="sig-prename descclassname"><span class="pre">cylc.flow.network.scan.</span></span><span class="sig-name descname"><span class="pre">filter_name</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">flow</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pattern</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.network.scan.filter_name" title="Link to this definition"></a></dt>
+<dd><p>Filter flows by name.</p>
+<dl class="simple">
+<dt>Args:</dt><dd><dl class="simple">
+<dt>flow (dict):</dt><dd><p>Flow information dictionary, provided by scan through the pipe.</p>
+</dd>
+<dt>pattern (re.Pattern):</dt><dd><p>One or more regex patterns as strings.
+This will return True if any of the patterns match.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.network.scan.is_active">
+<span class="sig-prename descclassname"><span class="pre">cylc.flow.network.scan.</span></span><span class="sig-name descname"><span class="pre">is_active</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">flow</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">is_active</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.network.scan.is_active" title="Link to this definition"></a></dt>
+<dd><p>Filter flows by the presence of a contact file.</p>
+<dl class="simple">
+<dt>Args:</dt><dd><dl class="simple">
+<dt>flow (dict):</dt><dd><p>Flow information dictionary, provided by scan through the pipe.</p>
+</dd>
+<dt>is_active (bool):</dt><dd><p>True to filter for running flows.
+False to filter for stopped and unregistered flows.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.network.scan.contact_info">
+<span class="sig-prename descclassname"><span class="pre">cylc.flow.network.scan.</span></span><span class="sig-name descname"><span class="pre">contact_info</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">flow</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.network.scan.contact_info" title="Link to this definition"></a></dt>
+<dd><p>Read information from the contact file.</p>
+<dl class="simple">
+<dt>Requires:</dt><dd><ul class="simple">
+<li><p>is_active(True)</p></li>
+</ul>
+</dd>
+<dt>Args:</dt><dd><dl class="simple">
+<dt>flow (dict):</dt><dd><p>Flow information dictionary, provided by scan through the pipe.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.network.scan.cylc_version">
+<span class="sig-prename descclassname"><span class="pre">cylc.flow.network.scan.</span></span><span class="sig-name descname"><span class="pre">cylc_version</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">flow</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">requirement</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.network.scan.cylc_version" title="Link to this definition"></a></dt>
+<dd><p>Filter by cylc version.</p>
+<dl class="simple">
+<dt>Requires:</dt><dd><ul class="simple">
+<li><p>is_active(True)</p></li>
+<li><p>contact_info</p></li>
+</ul>
+</dd>
+<dt>Args:</dt><dd><dl class="simple">
+<dt>flow (dict):</dt><dd><p>Flow information dictionary, provided by scan through the pipe.</p>
+</dd>
+<dt>requirement (str):</dt><dd><p>Requirement specifier in PEP 440 format e.g. <code class="docutils literal notranslate"><span class="pre">&gt;</span> <span class="pre">8,</span> <span class="pre">&lt;</span> <span class="pre">9</span></code></p>
+</dd>
+</dl>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.network.scan.api_version">
+<span class="sig-prename descclassname"><span class="pre">cylc.flow.network.scan.</span></span><span class="sig-name descname"><span class="pre">api_version</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">flow</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">requirement</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.network.scan.api_version" title="Link to this definition"></a></dt>
+<dd><p>Filter by the cylc API version.</p>
+<dl class="simple">
+<dt>Requires:</dt><dd><ul class="simple">
+<li><p>is_active(True)</p></li>
+<li><p>contact_info</p></li>
+</ul>
+</dd>
+<dt>Args:</dt><dd><dl class="simple">
+<dt>flow (dict):</dt><dd><p>Flow information dictionary, provided by scan through the pipe.</p>
+</dd>
+<dt>requirement (str):</dt><dd><p>Requirement specifier in PEP 440 format e.g. <code class="docutils literal notranslate"><span class="pre">&gt;</span> <span class="pre">8,</span> <span class="pre">&lt;</span> <span class="pre">9</span></code></p>
+</dd>
+</dl>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.network.scan.graphql_query">
+<span class="sig-prename descclassname"><span class="pre">cylc.flow.network.scan.</span></span><span class="sig-name descname"><span class="pre">graphql_query</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">flow</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fields</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">filters</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.network.scan.graphql_query" title="Link to this definition"></a></dt>
+<dd><p>Obtain information from a GraphQL request to the flow.</p>
+<dl>
+<dt>Requires:</dt><dd><ul class="simple">
+<li><p>is_active(True)</p></li>
+<li><p>contact_info</p></li>
+</ul>
+</dd>
+<dt>Args:</dt><dd><dl>
+<dt>flow (dict):</dt><dd><p>Flow information dictionary, provided by scan through the pipe.</p>
+</dd>
+<dt>fields (iterable):</dt><dd><p>Iterable containing the fields to request e.g:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">[</span><span class="s1">&#39;id&#39;</span><span class="p">,</span> <span class="s1">&#39;name&#39;</span><span class="p">]</span>
+</pre></div>
+</div>
+<p>One level of nesting is supported e.g:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">{</span><span class="s1">&#39;name&#39;</span><span class="p">:</span> <span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;meta&#39;</span><span class="p">:</span> <span class="p">[</span><span class="s1">&#39;title&#39;</span><span class="p">]}</span>
+</pre></div>
+</div>
+</dd>
+<dt>filters (list):</dt><dd><p>Filter by the data returned from the query.
+List in the form <code class="docutils literal notranslate"><span class="pre">[(key,</span> <span class="pre">...),</span> <span class="pre">value]</span></code>, e.g:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># state must be running</span>
+<span class="p">[(</span><span class="s1">&#39;state&#39;</span><span class="p">,),</span> <span class="s1">&#39;running&#39;</span><span class="p">]</span>
+
+<span class="c1"># state must be running or paused</span>
+<span class="p">[(</span><span class="s1">&#39;state&#39;</span><span class="p">,),</span> <span class="p">(</span><span class="s1">&#39;running&#39;</span><span class="p">,</span> <span class="s1">&#39;paused&#39;</span><span class="p">)]</span>
+</pre></div>
+</div>
+</dd>
+</dl>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.network.scan.title">
+<span class="sig-prename descclassname"><span class="pre">cylc.flow.network.scan.</span></span><span class="sig-name descname"><span class="pre">title</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">flow</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.network.scan.title" title="Link to this definition"></a></dt>
+<dd><p>Attempt to parse the workflow title out of the flow config file.</p>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>This uses a fast but dumb method which may fail to extract the workflow
+title.</p>
+<p>Obtaining the workflow title via <a class="reference internal" href="#cylc.flow.network.scan.graphql_query" title="cylc.flow.network.scan.graphql_query"><code class="xref py py-func docutils literal notranslate"><span class="pre">graphql_query()</span></code></a> is preferable
+for running flows.</p>
+</div>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.network.scan.workflow_params">
+<span class="sig-prename descclassname"><span class="pre">cylc.flow.network.scan.</span></span><span class="sig-name descname"><span class="pre">workflow_params</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">flow</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.network.scan.workflow_params" title="Link to this definition"></a></dt>
+<dd><p>Extract workflow parameter entries from the workflow database.</p>
+<dl class="simple">
+<dt>Requires:</dt><dd><ul class="simple">
+<li><p>is_active(True)</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="Cylc API" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="zmq.html" class="btn btn-neutral float-right" title="Workflow Runtime Interface" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/api/scan";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/api/zmq.html b/nightly_8.3/html/reference/api/zmq.html
new file mode 100644
index 00000000000..6caaffe0be0
--- /dev/null
+++ b/nightly_8.3/html/reference/api/zmq.html
@@ -0,0 +1,436 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Workflow Runtime Interface &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Conda Environments" href="../environments/conda.html" />
+    <link rel="prev" title="Scan API" href="scan.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../changes.html">Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../config/index.html">Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Cylc API</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="scan.html">Scan API</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Workflow Runtime Interface</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#client">Client</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#server">Server</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Reference</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Cylc API</a></li>
+      <li class="breadcrumb-item active">Workflow Runtime Interface</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/reference/api/zmq.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="workflow-runtime-interface">
+<h1>Workflow Runtime Interface<a class="headerlink" href="#workflow-runtime-interface" title="Link to this heading"></a></h1>
+<p>Cylc workflows are TCP servers which use the ZeroMQ protocol to communicate with
+clients and jobs.</p>
+<p>Cylc provides a Python client to communicate with this server
+<a class="reference internal" href="#cylc.flow.network.client.WorkflowRuntimeClient" title="cylc.flow.network.client.WorkflowRuntimeClient"><code class="xref py py-class docutils literal notranslate"><span class="pre">cylc.flow.network.client.WorkflowRuntimeClient</span></code></a></p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">cylc.flow.network.client</span> <span class="kn">import</span> <span class="n">WorkflowRuntimeClient</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">client</span> <span class="o">=</span> <span class="n">WorkflowRuntimeClient</span><span class="p">(</span><span class="s1">&#39;my-workflow&#39;</span><span class="p">)</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">client</span><span class="p">(</span><span class="s1">&#39;ping_workflow&#39;</span><span class="p">)</span>
+<span class="go">True</span>
+</pre></div>
+</div>
+<p>Cylc also provides sub-command called <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">client</span></code> which is a simple
+wrapper of the Python client.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>client<span class="w"> </span>generic<span class="w"> </span>ping_workflow<span class="w"> </span>-n
+<span class="go">true</span>
+</pre></div>
+</div>
+<p>The available “commands” or (“endpoints”) are contained in
+<a class="reference internal" href="#cylc.flow.network.server.WorkflowRuntimeServer" title="cylc.flow.network.server.WorkflowRuntimeServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">cylc.flow.network.server.WorkflowRuntimeServer</span></code></a> class.</p>
+<section id="client">
+<h2>Client<a class="headerlink" href="#client" title="Link to this heading"></a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="cylc.flow.network.client.WorkflowRuntimeClient">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.network.client.</span></span><span class="sig-name descname"><span class="pre">WorkflowRuntimeClient</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">workflow</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">host</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><span class="pre">int</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#float" title="(in Python v3.12)"><span class="pre">float</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">context</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Context</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">srv_public_key_loc</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.network.client.WorkflowRuntimeClient" title="Link to this definition"></a></dt>
+<dd><p>Initiate a client to the scheduler API.</p>
+<p>Initiates the REQ part of a ZMQ REQ-REP pair.</p>
+<p>This class contains the logic for the ZMQ message interface and client -
+server communication.</p>
+<p>Determine host and port from the contact file unless provided.</p>
+<p>If there is no socket bound to the specified host/port the client will
+bail after <code class="docutils literal notranslate"><span class="pre">timeout</span></code> seconds.</p>
+<dl>
+<dt>Args:</dt><dd><dl>
+<dt>workflow:</dt><dd><p>Name of the workflow to connect to.</p>
+</dd>
+<dt>timeout:</dt><dd><p>Set the default timeout in seconds. The default is
+<code class="docutils literal notranslate"><span class="pre">ZMQClient.DEFAULT_TIMEOUT</span></code>.
+Note the default timeout can be overridden for individual requests.</p>
+</dd>
+<dt>host:</dt><dd><p>The host where the flow is running if known.</p>
+<p>If both host and port are provided it is not necessary to load
+the contact file.</p>
+</dd>
+<dt>port:</dt><dd><p>The port on which the REQ-REP TCP server is listening.</p>
+<p>If both host and port are provided it is not necessary to load
+the contact file.</p>
+</dd>
+</dl>
+</dd>
+<dt>Attributes:</dt><dd><dl class="simple">
+<dt>host (str):</dt><dd><p>Workflow host name.</p>
+</dd>
+<dt>port (int):</dt><dd><p>Workflow host port.</p>
+</dd>
+<dt>timeout_handler (function):</dt><dd><p>Optional function which runs before ClientTimeout is raised.
+This provides an interface for raising more specific exceptions in
+the event of a communication timeout.</p>
+</dd>
+<dt>header (dict):</dt><dd><p>Request “header” data to attach to each request.</p>
+</dd>
+</dl>
+</dd>
+<dt>Usage:</dt><dd><p>Call endpoints using <code class="docutils literal notranslate"><span class="pre">ZMQClient.__call__</span></code>.</p>
+</dd>
+<dt>Message interface:</dt><dd><ul class="simple">
+<li><p>Accepts responses of the format: {“data”: {…}}</p></li>
+<li><p>Accepts error in the format: {“error”: {“message”: MSG}}</p></li>
+<li><p>Returns requests of the format: {“command”: CMD,
+“args”: {…}}</p></li>
+</ul>
+</dd>
+<dt>Raises:</dt><dd><p>WorkflowStopped: if the workflow is not running.</p>
+</dd>
+<dt>Call server “endpoints” using:</dt><dd><dl>
+<dt><code class="docutils literal notranslate"><span class="pre">__call__</span></code>, <code class="docutils literal notranslate"><span class="pre">serial_request</span></code></dt><dd><dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.network.client.WorkflowRuntimeClient.serial_request">
+<span class="sig-name descname"><span class="pre">serial_request</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">command</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">args</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Dict" title="(in Python v3.12)"><span class="pre">Dict</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><span class="pre">Any</span></a><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#float" title="(in Python v3.12)"><span class="pre">float</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">req_meta</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Dict" title="(in Python v3.12)"><span class="pre">Dict</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><span class="pre">Any</span></a><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><span class="pre">object</span></a></span></span><a class="headerlink" href="#cylc.flow.network.client.WorkflowRuntimeClient.serial_request" title="Link to this definition"></a></dt>
+<dd><p>Send a request.</p>
+<p>For convenience use <code class="docutils literal notranslate"><span class="pre">__call__</span></code> to call this method.</p>
+<dl class="simple">
+<dt>Args:</dt><dd><p>command: The name of the endpoint to call.
+args: Arguments to pass to the endpoint function.
+timeout: Override the default timeout (seconds).</p>
+</dd>
+<dt>Raises:</dt><dd><p>ClientTimeout: If a response takes longer than timeout to arrive.
+ClientError: Coverall for all other issues including failed auth.</p>
+</dd>
+<dt>Returns:</dt><dd><dl class="simple">
+<dt>object: The data exactly as returned from the endpoint function,</dt><dd><p>nothing more, nothing less.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+</dd></dl>
+
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">async_request</span></code></dt><dd><dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.network.client.WorkflowRuntimeClient.async_request">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">async_request</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">command</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">args</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Dict" title="(in Python v3.12)"><span class="pre">Dict</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><span class="pre">Any</span></a><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#float" title="(in Python v3.12)"><span class="pre">float</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">req_meta</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Dict" title="(in Python v3.12)"><span class="pre">Dict</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><span class="pre">Any</span></a><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><span class="pre">object</span></a></span></span><a class="headerlink" href="#cylc.flow.network.client.WorkflowRuntimeClient.async_request" title="Link to this definition"></a></dt>
+<dd><p>Send an asynchronous request using asyncio.</p>
+<p>Has the same arguments and return values as <code class="docutils literal notranslate"><span class="pre">serial_request</span></code>.</p>
+</dd></dl>
+
+</dd>
+</dl>
+</dd>
+</dl>
+</dd></dl>
+
+</section>
+<section id="server">
+<h2>Server<a class="headerlink" href="#server" title="Link to this heading"></a></h2>
+<dl class="py class">
+<dt class="sig sig-object py" id="cylc.flow.network.server.WorkflowRuntimeServer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.network.server.</span></span><span class="sig-name descname"><span class="pre">WorkflowRuntimeServer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">schd</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.network.server.WorkflowRuntimeServer" title="Link to this definition"></a></dt>
+<dd><p>Workflow runtime service API facade exposed via zmq.</p>
+<p>This class starts and coordinates the publisher and replier, and
+contains the Cylc endpoints invoked by the receiver to provide a response
+to incoming messages.</p>
+<dl>
+<dt>Args:</dt><dd><dl class="simple">
+<dt>schd (object): The parent object instantiating the server. In</dt><dd><p>this case, the workflow scheduler.</p>
+</dd>
+</dl>
+</dd>
+<dt>Usage:</dt><dd><ul class="simple">
+<li><p>Define endpoints using the <code class="docutils literal notranslate"><span class="pre">expose</span></code> decorator.</p></li>
+<li><p>Endpoints are called via the receiver using the function name.</p></li>
+</ul>
+</dd>
+<dt>Message interface:</dt><dd><ul class="simple">
+<li><p>Accepts messages of the format: {“command”: CMD, “args”: {…}}</p></li>
+<li><p>Returns responses of the format: {“data”: {…}}</p></li>
+<li><p>Returns error in the format: {“error”: {“message”: MSG}}</p></li>
+</ul>
+</dd>
+<dt>Common Arguments:</dt><dd><p>Arguments which are shared between multiple commands.</p>
+<dl class="simple">
+<dt>task identifier (str):</dt><dd><p>A task identifier in the format <code class="docutils literal notranslate"><span class="pre">cycle-point/task-name</span></code>
+e.g. <code class="docutils literal notranslate"><span class="pre">1/foo</span></code> or <code class="docutils literal notranslate"><span class="pre">20000101T0000Z/bar</span></code>.</p>
+</dd>
+</dl>
+<dl id="task-globs">
+<dt>task globs (list):</dt><dd><p>A list of Cylc IDs relative to the workflow.</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">1</span></code> - The cycle point “1”.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">1/foo</span></code> - The task “foo” in the cycle “1”.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">1/foo/01</span></code> - The first job of the task “foo” from the cycle
+“1”.</p></li>
+</ul>
+<p>Glob-like patterns may be used to match multiple items e.g.</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">*</span></code></dt><dd><p>Matches everything.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">1/*</span></code></dt><dd><p>Matches everything in cycle <code class="docutils literal notranslate"><span class="pre">1</span></code>.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">*/*:failed</span></code></dt><dd><p>Matches all failed tasks.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+</dd>
+</dl>
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.network.server.WorkflowRuntimeServer.api">
+<span class="sig-name descname"><span class="pre">api</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">_kwargs</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.List" title="(in Python v3.12)"><span class="pre">List</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#cylc.flow.network.server.WorkflowRuntimeServer.api" title="Link to this definition"></a></dt>
+<dd><p>Return information about this API.</p>
+<p>Returns a list of callable endpoints.</p>
+<dl class="simple">
+<dt>Args:</dt><dd><dl class="simple">
+<dt>endpoint:</dt><dd><p>If specified the documentation for the endpoint
+will be returned instead.</p>
+</dd>
+</dl>
+</dd>
+<dt>Returns:</dt><dd><p>List of endpoints or string documentation of the
+requested endpoint.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.network.server.WorkflowRuntimeServer.graphql">
+<span class="sig-name descname"><span class="pre">graphql</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">request_string</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">variables</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Dict" title="(in Python v3.12)"><span class="pre">Dict</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><span class="pre">Any</span></a><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">meta</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Dict" title="(in Python v3.12)"><span class="pre">Dict</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><span class="pre">Any</span></a><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.network.server.WorkflowRuntimeServer.graphql" title="Link to this definition"></a></dt>
+<dd><p>Return the GraphQL schema execution result.</p>
+<dl class="simple">
+<dt>Args:</dt><dd><p>request_string: GraphQL request passed to Graphene.
+variables: Dict of variables passed to Graphene.
+meta: Dict containing auth user etc.</p>
+</dd>
+<dt>Returns:</dt><dd><p>object: Execution result, or a list with errors.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.network.server.WorkflowRuntimeServer.operate">
+<span class="sig-name descname"><span class="pre">operate</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span></span><a class="headerlink" href="#cylc.flow.network.server.WorkflowRuntimeServer.operate" title="Link to this definition"></a></dt>
+<dd><p>Orchestrate the receive, send, publish of messages.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.network.server.WorkflowRuntimeServer.pb_data_elements">
+<span class="sig-name descname"><span class="pre">pb_data_elements</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">element_type</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">_kwargs</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#bytes" title="(in Python v3.12)"><span class="pre">bytes</span></a></span></span><a class="headerlink" href="#cylc.flow.network.server.WorkflowRuntimeServer.pb_data_elements" title="Link to this definition"></a></dt>
+<dd><p>Send the specified data elements in delta form.</p>
+<dl class="simple">
+<dt>Args:</dt><dd><p>element_type: Key from DELTAS_MAP dictionary.</p>
+</dd>
+</dl>
+<p>Returns serialised Protobuf message</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.network.server.WorkflowRuntimeServer.pb_entire_workflow">
+<span class="sig-name descname"><span class="pre">pb_entire_workflow</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">_kwargs</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#bytes" title="(in Python v3.12)"><span class="pre">bytes</span></a></span></span><a class="headerlink" href="#cylc.flow.network.server.WorkflowRuntimeServer.pb_entire_workflow" title="Link to this definition"></a></dt>
+<dd><p>Send the entire data-store in a single Protobuf message.</p>
+<p>Returns serialised Protobuf message</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.network.server.WorkflowRuntimeServer.publish_queued_items">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">publish_queued_items</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span></span><a class="headerlink" href="#cylc.flow.network.server.WorkflowRuntimeServer.publish_queued_items" title="Link to this definition"></a></dt>
+<dd><p>Publish all queued items.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.network.server.WorkflowRuntimeServer.receiver">
+<span class="sig-name descname"><span class="pre">receiver</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.network.server.WorkflowRuntimeServer.receiver" title="Link to this definition"></a></dt>
+<dd><p>Process incoming messages and coordinate response.</p>
+<p>Wrap incoming messages, dispatch them to exposed methods and/or
+coordinate a publishing stream.</p>
+<dl class="simple">
+<dt>Args:</dt><dd><p>message (dict): message contents</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.network.server.WorkflowRuntimeServer.register_endpoints">
+<span class="sig-name descname"><span class="pre">register_endpoints</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.network.server.WorkflowRuntimeServer.register_endpoints" title="Link to this definition"></a></dt>
+<dd><p>Register all exposed methods.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.network.server.WorkflowRuntimeServer.start">
+<span class="sig-name descname"><span class="pre">start</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">barrier</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.network.server.WorkflowRuntimeServer.start" title="Link to this definition"></a></dt>
+<dd><p>Start the TCP servers.</p>
+</dd></dl>
+
+<dl class="py method">
+<dt class="sig sig-object py" id="cylc.flow.network.server.WorkflowRuntimeServer.stop">
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">stop</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">reason</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/exceptions.html#BaseException" title="(in Python v3.12)"><span class="pre">BaseException</span></a><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><span class="pre">None</span></a></span></span><a class="headerlink" href="#cylc.flow.network.server.WorkflowRuntimeServer.stop" title="Link to this definition"></a></dt>
+<dd><p>Stop the TCP servers, and clean up authentication.</p>
+<p>This method must be called/awaited from a different thread to the
+server’s self.thread in order to interrupt the self.operate() loop
+and wait for self.thread to terminate.</p>
+</dd></dl>
+
+</dd></dl>
+
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="scan.html" class="btn btn-neutral float-left" title="Scan API" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../environments/conda.html" class="btn btn-neutral float-right" title="Conda Environments" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/api/zmq";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/architecture/data-flow.html b/nightly_8.3/html/reference/architecture/data-flow.html
new file mode 100644
index 00000000000..9f2845c3c41
--- /dev/null
+++ b/nightly_8.3/html/reference/architecture/data-flow.html
@@ -0,0 +1,340 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Data Flow &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Cylc API" href="../api/index.html" />
+    <link rel="prev" title="Cylc UI Server" href="ui-server.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../changes.html">Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../config/index.html">Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Architecture</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="index.html#cylc-scheduler">Cylc Scheduler</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#cylc-ui">Cylc UI</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#cylc-ui-server">Cylc UI Server</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#cylc-hub">Cylc Hub</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#network-layers">Network layers</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="index.html#further-reading">Further Reading</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="ui-server.html">Cylc UI Server</a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#">Data Flow</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../api/index.html">Cylc API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Reference</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Architecture</a></li>
+      <li class="breadcrumb-item active">Data Flow</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/reference/architecture/data-flow.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="data-flow">
+<h1>Data Flow<a class="headerlink" href="#data-flow" title="Link to this heading"></a></h1>
+<p>This section looks at how Cylc synchronises data between its different
+components, the transports, security and formats used to do so.</p>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-bbc033dc2abc4e5b314270dae1e5c178111a46e8.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph _ {
+Jobs -&gt; Scheduler [label=&quot; ZMQ\n GraphQL\n (default)&quot;]
+
+Scheduler -&gt; UIS [label=&quot; ZMQ\n GraphQL (control)\n Protobuf (data)&quot;]
+
+UIS -&gt; UI [label=&quot; Websocket\n GraphQL&quot;]
+}</p></object></div>
+</div>
+<section id="protocols-transport-security">
+<span id="arch-protocols"></span><h2>Protocols, Transport &amp; Security<a class="headerlink" href="#protocols-transport-security" title="Link to this heading"></a></h2>
+<p>Cylc uses the following schemes for data and control:</p>
+<section id="zmq-over-tcp">
+<span id="arch-zmq"></span><h3>ZMQ (Over TCP)<a class="headerlink" href="#zmq-over-tcp" title="Link to this heading"></a></h3>
+<p>Cylc uses <a class="reference external" href="https://zeromq.org/">ZMQ</a> over TCP for most server side interaction.</p>
+<p>All <a class="reference external" href="https://zeromq.org/">ZMQ</a> connections are secured by <a class="reference external" href="http://curvezmq.org/page:read-the-docs">CurveZMQ</a> which uses security keys
+which are stored on the filesystem with appropriate permissions.</p>
+<p>Where remote communication is involved Cylc synchronises the relevant keys
+to the appropriate platforms.</p>
+<p>For more information on the key files see <a class="reference internal" href="../../user-guide/running-workflows/authentication-files.html#authentication-files"><span class="std std-ref">Authentication Files</span></a>.</p>
+</section>
+<section id="ssh">
+<span id="arch-ssh"></span><h3>SSH<a class="headerlink" href="#ssh" title="Link to this heading"></a></h3>
+<p>SSH connections are used for some purposes such as installing the key files
+required for <a class="reference internal" href="#arch-zmq"><span class="std std-ref">ZMQ (Over TCP)</span></a> transport.</p>
+</section>
+<section id="https-hypertext-transfer-protocol-secure">
+<span id="arch-https"></span><h3>HTTPS (Hypertext Transfer Protocol Secure)<a class="headerlink" href="#https-hypertext-transfer-protocol-secure" title="Link to this heading"></a></h3>
+<p>HTTPS connections are used in the browser-based <a class="reference external" href="https://github.com/cylc/cylc-ui">Cylc UI</a>. The certificate
+used must be configured with the <a class="reference external" href="https://github.com/cylc/cylc-uiserver">Cylc UI Server</a> / <a class="reference external" href="https://jupyter-server.readthedocs.io">Jupyter Server</a>.</p>
+</section>
+<section id="wss-websocket-secure">
+<span id="arch-wss"></span><h3>WSS (WebSocket Secure)<a class="headerlink" href="#wss-websocket-secure" title="Link to this heading"></a></h3>
+<p>Websocket connections are used in the browser-based <a class="reference external" href="https://github.com/cylc/cylc-ui">Cylc UI</a>. These
+connections are upgraded from HTTPS connections and share the same security.</p>
+</section>
+</section>
+<section id="formats">
+<span id="arch-formats"></span><h2>Formats<a class="headerlink" href="#formats" title="Link to this heading"></a></h2>
+<p>Cylc uses the following transports to communicate over these protocols.</p>
+<section id="protobuf">
+<span id="arch-protobuf"></span><h3>Protobuf<a class="headerlink" href="#protobuf" title="Link to this heading"></a></h3>
+<p>Protobuf is both a storage utility and transport.</p>
+<p>Protobuf is used for internal data stores and the synchronisation of those data
+stores.</p>
+</section>
+<section id="graphql">
+<span id="arch-graphql"></span><h3>GraphQL<a class="headerlink" href="#graphql" title="Link to this heading"></a></h3>
+<p><a class="reference internal" href="#graphql">GraphQL</a> is a query language which is intended to be the user-facing
+data and control interface for Cylc workflows.</p>
+<p>It contains both data and mutations (actions) defined by a self-documenting
+schema.</p>
+<p>The GraphQL servers get their data from <a class="reference internal" href="#arch-protobuf"><span class="std std-ref">Protobuf</span></a> data stores.</p>
+</section>
+</section>
+<section id="component-interactions">
+<h2>Component Interactions<a class="headerlink" href="#component-interactions" title="Link to this heading"></a></h2>
+<p>Here are some additional details on how the components interact.</p>
+<section id="job-scheduler">
+<h3>Job -&gt; Scheduler<a class="headerlink" href="#job-scheduler" title="Link to this heading"></a></h3>
+<dl class="field-list simple">
+<dt class="field-odd">Default Protocol<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#arch-zmq"><span class="std std-ref">ZMQ (Over TCP)</span></a></p>
+</dd>
+<dt class="field-even">Format<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#arch-graphql"><span class="std std-ref">GraphQL</span></a></p>
+</dd>
+</dl>
+<p>Jobs can communicate status updates back to the Scheduler using different
+methods. The method used is configured on a per-platform basis by the
+<a class="reference internal" href="../config/global.html#global.cylc[platforms][&lt;platform name&gt;]communication method" title="global.cylc[platforms][&lt;platform name&gt;]communication method"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]communication</span> <span class="pre">method</span></code></a>.</p>
+</section>
+<section id="client-scheduler">
+<h3>Client -&gt; Scheduler<a class="headerlink" href="#client-scheduler" title="Link to this heading"></a></h3>
+<dl class="field-list simple">
+<dt class="field-odd">Protocol<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#arch-zmq"><span class="std std-ref">ZMQ (Over TCP)</span></a></p>
+</dd>
+<dt class="field-even">Format<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#arch-protobuf"><span class="std std-ref">Protobuf</span></a></p>
+</dd>
+</dl>
+<p>The subcommands in the Cylc command line interface map onto <a class="reference internal" href="#graphql">GraphQL</a>
+mutations.</p>
+<p>Mutations are issued through <a class="reference external" href="https://zeromq.org/">ZMQ</a> connections.</p>
+</section>
+<section id="scheduler-ui-server">
+<h3>Scheduler -&gt; UI Server<a class="headerlink" href="#scheduler-ui-server" title="Link to this heading"></a></h3>
+<dl class="field-list simple">
+<dt class="field-odd">Protocol<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#arch-zmq"><span class="std std-ref">ZMQ (Over TCP)</span></a></p>
+</dd>
+<dt class="field-even">Formats<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#arch-protobuf"><span class="std std-ref">Protobuf</span></a> (data) and <a class="reference internal" href="#arch-graphql"><span class="std std-ref">GraphQL</span></a> (control)</p>
+</dd>
+</dl>
+<p>The <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">Scheduler</span></a> maintains an in-memory <a class="reference external" href="https://protobuf.dev/">Protobuf</a> data store which is
+backed up by a SQLite3 database.</p>
+<p>The database provides crash resilience and restart capability.</p>
+<p>The <a class="reference external" href="https://github.com/cylc/cylc-uiserver">UI Server</a> also maintains an in-memory <a class="reference external" href="https://protobuf.dev/">Protobuf</a> data store containing
+relevant data for the workflows it is actively monitoring.</p>
+<p>The synchronisation of the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">Scheduler</span></a> and <a class="reference external" href="https://github.com/cylc/cylc-uiserver">UI Server</a> data stores is
+done using one <a class="reference internal" href="#arch-zmq"><span class="std std-ref">ZMQ (Over TCP)</span></a> connection per <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">Scheduler</span></a>.</p>
+<p>The <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">Schedulers</span></a> that the <a class="reference external" href="https://github.com/cylc/cylc-uiserver">UI Server</a> connects to are
+determined by the active subscriptions registered. If there are no active
+subscriptions the <a class="reference external" href="https://github.com/cylc/cylc-uiserver">UI Server</a> will have no active <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">Scheduler</span></a>
+connections.</p>
+</section>
+<section id="ui-server-ui">
+<h3>UI Server -&gt; UI<a class="headerlink" href="#ui-server-ui" title="Link to this heading"></a></h3>
+<dl class="field-list simple">
+<dt class="field-odd">Protocols<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="#arch-wss"><span class="std std-ref">WSS (WebSocket Secure)</span></a>, <a class="reference internal" href="#arch-https"><span class="std std-ref">HTTPS (Hypertext Transfer Protocol Secure)</span></a></p>
+</dd>
+<dt class="field-even">Format<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#arch-graphql"><span class="std std-ref">GraphQL</span></a></p>
+</dd>
+</dl>
+<p>Most UI functionality involves subscribing to “delta” updates. For these
+subscriptions the <a class="reference external" href="https://github.com/cylc/cylc-uiserver">UI Server</a> sends only the added/removed/updated data
+(a delta) to the UI enabling it to update its internal data store.</p>
+<p>The UI maintains a flat “lookup” which contains all objects in the store
+indexed by their ID. It also maintains a “tree” which contains references
+to the data in the “lookup” (but does not duplicate it) which it holds in a
+hierarchical structure more suitable for presentation purposes.</p>
+<p>The Cylc Web UI uses <a class="reference external" href="https://www.apollographql.com/docs/react/">Apollo Client</a> to handle <a class="reference internal" href="#graphql">GraphQL</a> requests.
+It will have one <a class="reference external" href="https://en.wikipedia.org/wiki/WebSocket">WebSocket</a> per user session.</p>
+<figure class="align-center">
+<img alt="../../_images/websocket-communication.png" src="../../_images/websocket-communication.png" />
+</figure>
+<p>Every message received by the server is added to a queue, and processed
+by the server as soon as possible.</p>
+<p>It uses the Cylc UI Server schema and resolvers to validate the
+query and to fetch data from the data store for the query response.</p>
+<p>The query result is then serialized as JSON and sent back to the client.
+The work of the Apollo Client ends after it pushes the data to the Vuex
+store.</p>
+<p>The communication between client and server follows a protocol
+called <a class="reference external" href="https://github.com/apollographql/subscriptions-transport-ws/blob/master/PROTOCOL.md">graphql-ws protocol</a>.</p>
+<figure class="align-center">
+<img alt="../../_images/websocket-graphql-ws-protocol.png" src="../../_images/websocket-graphql-ws-protocol.png" />
+</figure>
+<p>After a channel between client and server is open, the messages
+follow that protocol, starting by the <code class="docutils literal notranslate"><span class="pre">connection</span> <span class="pre">init</span></code> message,
+that simply expects an <code class="docutils literal notranslate"><span class="pre">ack</span></code> message back from the server,
+where the <code class="docutils literal notranslate"><span class="pre">ack</span></code> is an acknowledgement to the client - note
+that the protocol does not define an <code class="docutils literal notranslate"><span class="pre">ack</span></code> as a MUST, but
+rather as a MAY, so a client may interpret not receiving an
+error as an acknowledgement to proceed as well.</p>
+<p>The next message will be a <code class="docutils literal notranslate"><span class="pre">start</span></code>, which will contain the
+GraphQL query subscription. If there were no errors, the client and
+server subscription is established, and the client will start
+receiving the GraphQL responses.</p>
+<p>The protocol also supports other messages, such as <code class="docutils literal notranslate"><span class="pre">stop</span></code>, to
+tell the server it doesn’t need to send any more data as that
+subscription is now cancelled.</p>
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="ui-server.html" class="btn btn-neutral float-left" title="Cylc UI Server" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../api/index.html" class="btn btn-neutral float-right" title="Cylc API" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/architecture/data-flow";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/architecture/index.html b/nightly_8.3/html/reference/architecture/index.html
new file mode 100644
index 00000000000..8ea1611e524
--- /dev/null
+++ b/nightly_8.3/html/reference/architecture/index.html
@@ -0,0 +1,246 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Architecture &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Cylc UI Server" href="ui-server.html" />
+    <link rel="prev" title="Job Script Environment Variables" href="../job-script-vars/index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../changes.html">Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../config/index.html">Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Architecture</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-scheduler">Cylc Scheduler</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-ui">Cylc UI</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-ui-server">Cylc UI Server</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-hub">Cylc Hub</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#network-layers">Network layers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#further-reading">Further Reading</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="ui-server.html">Cylc UI Server</a></li>
+<li class="toctree-l4"><a class="reference internal" href="data-flow.html">Data Flow</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../api/index.html">Cylc API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Reference</a></li>
+      <li class="breadcrumb-item active">Architecture</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/reference/architecture/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="architecture">
+<span id="architecture-reference"></span><h1>Architecture<a class="headerlink" href="#architecture" title="Link to this heading"></a></h1>
+<p>This section provides an in-depth explanation of the architecture of the
+Cylc components intended for developers and system administrators.</p>
+<p>The main Cylc 8 system components are:</p>
+<section id="cylc-scheduler">
+<h2>Cylc Scheduler<a class="headerlink" href="#cylc-scheduler" title="Link to this heading"></a></h2>
+<ul class="simple">
+<li><p>The workflow engine core, Python 3 based</p></li>
+<li><p>Includes the <strong>CLI</strong> (Command Line Interface)</p></li>
+<li><p>And <strong>TUI</strong>, a new Terminal UI application</p></li>
+</ul>
+</section>
+<section id="cylc-ui">
+<h2>Cylc UI<a class="headerlink" href="#cylc-ui" title="Link to this heading"></a></h2>
+<ul class="simple">
+<li><p>In-browser web UI, includes:</p></li>
+<li><p>A dashboard with summary information and documentation links</p></li>
+<li><p>Integrated gscan (multi-workflow) side-panel</p></li>
+<li><p>Responsive web design (from desktop to table to mobile)</p></li>
+<li><p>Tabbed interface to display multiple workflow views</p></li>
+<li><p>Command integration for interacting with task, jobs, and schedulers</p></li>
+</ul>
+</section>
+<section id="cylc-ui-server">
+<h2>Cylc UI Server<a class="headerlink" href="#cylc-ui-server" title="Link to this heading"></a></h2>
+<ul class="simple">
+<li><p>Interacts with Schedulers and the filesystem</p></li>
+<li><p>Serves the UI to users</p></li>
+<li><p>Can be launched by the privileged Hub, for multi-user installations</p></li>
+<li><p>Or run standalone for use by a single user</p></li>
+<li><p>(The UI Server is a <a class="reference external" href="https://jupyter-server.readthedocs.io">Jupyter Server</a> extension)</p></li>
+</ul>
+</section>
+<section id="cylc-hub">
+<h2>Cylc Hub<a class="headerlink" href="#cylc-hub" title="Link to this heading"></a></h2>
+<ul class="simple">
+<li><p>For proving the UI in multi-user setups.</p></li>
+<li><p>Authenticates users, spawns and proxies Cylc UI Servers</p></li>
+<li><p>Can run as a regular or privileged user</p></li>
+<li><p>(The Hub is a <a class="reference external" href="https://jupyter.org/hub">Jupyterhub</a> instance)</p></li>
+</ul>
+</section>
+<section id="network-layers">
+<h2>Network layers<a class="headerlink" href="#network-layers" title="Link to this heading"></a></h2>
+<ul class="simple">
+<li><p>Incremental push updates (c.f. polled full-state updates in Cylc 7)</p></li>
+</ul>
+</section>
+<section id="further-reading">
+<h2>Further Reading<a class="headerlink" href="#further-reading" title="Link to this heading"></a></h2>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="ui-server.html">Cylc UI Server</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="ui-server.html#jupyter-server">Jupyter Server</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ui-server.html#single-user-mode">Single-User Mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ui-server.html#jupyter-hub">Jupyter Hub</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ui-server.html#multi-user-mode">Multi-User Mode</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="data-flow.html">Data Flow</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="data-flow.html#protocols-transport-security">Protocols, Transport &amp; Security</a></li>
+<li class="toctree-l2"><a class="reference internal" href="data-flow.html#formats">Formats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="data-flow.html#component-interactions">Component Interactions</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../job-script-vars/index.html" class="btn btn-neutral float-left" title="Job Script Environment Variables" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="ui-server.html" class="btn btn-neutral float-right" title="Cylc UI Server" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/architecture/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/architecture/ui-server.html b/nightly_8.3/html/reference/architecture/ui-server.html
new file mode 100644
index 00000000000..fdea48ea1e2
--- /dev/null
+++ b/nightly_8.3/html/reference/architecture/ui-server.html
@@ -0,0 +1,254 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Cylc UI Server &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Data Flow" href="data-flow.html" />
+    <link rel="prev" title="Architecture" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../changes.html">Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../config/index.html">Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Architecture</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="index.html#cylc-scheduler">Cylc Scheduler</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#cylc-ui">Cylc UI</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#cylc-ui-server">Cylc UI Server</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#cylc-hub">Cylc Hub</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#network-layers">Network layers</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="index.html#further-reading">Further Reading</a><ul class="current">
+<li class="toctree-l4 current"><a class="current reference internal" href="#">Cylc UI Server</a></li>
+<li class="toctree-l4"><a class="reference internal" href="data-flow.html">Data Flow</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../api/index.html">Cylc API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Reference</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Architecture</a></li>
+      <li class="breadcrumb-item active">Cylc UI Server</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/reference/architecture/ui-server.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="cylc-ui-server">
+<span id="cylcuiserver-architecture"></span><h1>Cylc UI Server<a class="headerlink" href="#cylc-ui-server" title="Link to this heading"></a></h1>
+<dl class="simple">
+<dt><a class="reference external" href="https://github.com/cylc/cylc-flow">Cylc Flow</a></dt><dd><p>Provides a command line utility for monitoring and controlling
+Cylc workflows called <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">tui</span></code>.</p>
+</dd>
+<dt><a class="reference external" href="https://github.com/cylc/cylc-uiserver">Cylc UI Server</a></dt><dd><p>Provides a graphical utility for use in a web browser.</p>
+</dd>
+</dl>
+<p>The <a class="reference external" href="https://github.com/cylc/cylc-uiserver">Cylc UI Server</a> connects to running workflows to provide “live” data
+and accesses workflow databases and the filesystem to provide “offline” data.</p>
+<section id="jupyter-server">
+<h2>Jupyter Server<a class="headerlink" href="#jupyter-server" title="Link to this heading"></a></h2>
+<p>The <a class="reference external" href="https://github.com/cylc/cylc-uiserver">Cylc UI Server</a> is a <a class="reference external" href="https://jupyter-server.readthedocs.io">Jupyter Server</a> extension like <a class="reference external" href="https://jupyterlab.readthedocs.io/en/stable/getting_started/overview.html">Jupyter Lab</a>.</p>
+<p><a class="reference external" href="https://jupyter-server.readthedocs.io">Jupyter Server</a> provides the web server infrastructure which is shared by
+its extensions which can used to run multiple extensions simultaneously.</p>
+<p>If desired other extensions (e.g. <a class="reference external" href="https://jupyterlab.readthedocs.io/en/stable/getting_started/overview.html">Jupyter Lab</a>) can be installed and
+configured to run in the same server as the <a class="reference external" href="https://github.com/cylc/cylc-uiserver">Cylc UI Server</a>.</p>
+<p>See <a class="reference external" href="https://jupyter-server.readthedocs.io/en/latest/operators/multiple-extensions.html#managing-multiple-extensions" title="(in Jupyter Server v2.13)"><span>Managing multiple extensions</span></a> for details on managing which
+extensions are run by <a class="reference external" href="https://jupyter-server.readthedocs.io">Jupyter Server</a>.</p>
+<p><a class="reference external" href="https://jupyter-server.readthedocs.io">Jupyter Server</a> can be run in two ways, single-user (token authenticated)
+and multi-user (hub authenticated).</p>
+</section>
+<section id="single-user-mode">
+<span id="id1"></span><h2>Single-User Mode<a class="headerlink" href="#single-user-mode" title="Link to this heading"></a></h2>
+<p>In single-user mode users must start their own UI Servers from the command line.</p>
+<p><a class="reference external" href="https://jupyter-server.readthedocs.io">Jupyter Server</a> will provide them with a URL to access their server including
+a secure token which provides authentication.</p>
+<div class="hint admonition">
+<p class="admonition-title">Authentication Overview</p>
+<p>See <a class="reference external" href="https://jupyter-server.readthedocs.io/en/latest/operators/security.html#server-security" title="(in Jupyter Server v2.13)"><span>Security in the Jupyter Server</span></a>:</p>
+</div>
+<p>Users can only monitor and control their own workflows.</p>
+<a class="reference internal image-reference" href="../../_images/gui-arch-single-user.svg"><img alt="../../_images/gui-arch-single-user.svg" class="align-center" src="../../_images/gui-arch-single-user.svg" width="70%" /></a>
+</section>
+<section id="jupyter-hub">
+<h2>Jupyter Hub<a class="headerlink" href="#jupyter-hub" title="Link to this heading"></a></h2>
+<p><a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a> is a multi-user server which spawns and manages a configured
+service for authenticated users.</p>
+<p>The “Cylc Hub” is a Jupyter Hub instance which is pre-configured to spawn
+Cylc UI Servers, launched by the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">hub</span></code> command.
+It is also possible to configure Jupyter Hub yourself, see the Cylc Hub
+configuration file for more information.</p>
+<p>Jupyter Hub supports a variety of different implementations and plugin interfaces
+for:</p>
+<ul class="simple">
+<li><p><a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/reference/authenticators.html">Authenticating users</a></p></li>
+<li><p><a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/reference/spawners.html">Spawning user’s servers</a></p></li>
+<li><p><a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/reference/proxy.html">Proxying user’s servers</a></p></li>
+</ul>
+</section>
+<section id="multi-user-mode">
+<span id="id2"></span><h2>Multi-User Mode<a class="headerlink" href="#multi-user-mode" title="Link to this heading"></a></h2>
+<p>Multi-user mode requires <a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a> to be installed.</p>
+<p>An administrator must start <a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a> under a user account with
+the required privileges to spawn UI Servers on behalf of the user.</p>
+<p>Users then visit <a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a> where they authenticate. <a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a>
+spawns UI Servers on behalf of users and provides each with a fixed URL
+(derived from the user name) using the configured proxy
+(usually <a class="reference external" href="https://github.com/corridor/configurable-http-proxy">Configurable HTTP Proxy</a>).</p>
+<p>Users can access each other’s UI Servers providing they have been granted
+permission.</p>
+<p><em>Authentication</em> is provided by either <a class="reference external" href="https://jupyter-server.readthedocs.io">Jupyter Server</a> or <a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a>.</p>
+<p><em>Authorization</em> in the <a class="reference external" href="https://github.com/cylc/cylc-uiserver">Cylc UI Server</a> is provided by Cylc. In
+multi-user mode this allows users to connect to each other’s UI Servers for
+monitoring or control purposes.</p>
+<p>For more information on security and configuration see
+<a class="reference internal" href="../../user-guide/sharing-access-to-workflows.html#cylc-uiserver-multi-user"><span class="std std-ref">Authorizing Others to Access Your Workflows</span></a>.</p>
+<p>For information on the architecture of <a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a> and the
+<a class="reference external" href="https://github.com/corridor/configurable-http-proxy">Configurable HTTP Proxy</a> see the <a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/reference/technical-overview.html">Jupyter Hub technical overview</a>.</p>
+<div class="hint admonition">
+<p class="admonition-title">Authentication Overview</p>
+<p>See <a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/reference/websecurity.html">Security In Jupyter Hub</a>.</p>
+</div>
+<a class="reference internal image-reference" href="../../_images/gui-arch-multi-user.svg"><img alt="../../_images/gui-arch-multi-user.svg" src="../../_images/gui-arch-multi-user.svg" width="100%" /></a>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="Architecture" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="data-flow.html" class="btn btn-neutral float-right" title="Data Flow" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/architecture/ui-server";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/changes.html b/nightly_8.3/html/reference/changes.html
new file mode 100644
index 00000000000..dfa4b494f8e
--- /dev/null
+++ b/nightly_8.3/html/reference/changes.html
@@ -0,0 +1,360 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Changes &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Configuration" href="config/index.html" />
+    <link rel="prev" title="Reference" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Reference</a><ul class="current">
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Changes</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-8-3-0">Cylc 8.3.0</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#upgrade-to-the-latest-jupyter-releases">Upgrade To The Latest Jupyter Releases</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-8-2-0">Cylc 8.2.0</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#configure-the-default-view">Configure The Default View</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#reload">Reload</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-8-1-0">Cylc 8.1.0</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#graph-view">Graph View</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#log-view">Log View</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#edit-runtime">Edit Runtime</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#analysis-view">Analysis View</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#combined-commands">Combined Commands</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#bash-completion">Bash Completion</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-8-0-0">Cylc 8.0.0</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="config/index.html">Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="architecture/index.html">Architecture</a></li>
+<li class="toctree-l2"><a class="reference internal" href="api/index.html">Cylc API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="index.html">Reference</a></li>
+      <li class="breadcrumb-item active">Changes</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/reference/changes.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="changes">
+<h1>Changes<a class="headerlink" href="#changes" title="Link to this heading"></a></h1>
+<p>This page contains a summary of significant changes across all Cylc components for each
+release.</p>
+<p>For more detail see the component changelogs:</p>
+<ul class="simple">
+<li><p><a class="reference external" href="https://github.com/cylc/cylc-flow/blob/master/CHANGES.md">cylc-flow-changelog</a></p></li>
+<li><p><a class="reference external" href="https://github.com/cylc/cylc-uiserver/blob/master/CHANGES.md">cylc-uiserver-changelog</a></p></li>
+<li><p><a class="reference external" href="https://github.com/cylc/cylc-ui/blob/master/CHANGES.md">cylc-ui-changelog</a></p></li>
+<li><p><a class="reference external" href="https://github.com/cylc/cylc-rose/blob/master/CHANGES.md">cylc-rose-changelog</a></p></li>
+<li><p><a class="reference external" href="https://github.com/metomi/rose/blob/master/CHANGES.md">metomi-rose-changelog</a></p></li>
+<li><p><a class="reference external" href="https://github.com/metomi/isodatetime/blob/master/CHANGES.md">metomi-isodatetime-changelog</a></p></li>
+</ul>
+<hr class="docutils" />
+<section id="cylc-8-3-0">
+<h2>Cylc 8.3.0<a class="headerlink" href="#cylc-8-3-0" title="Link to this heading"></a></h2>
+<div class="hint admonition">
+<p class="admonition-title">Cylc Components</p>
+<p>TODO</p>
+</div>
+<section id="upgrade-to-the-latest-jupyter-releases">
+<h3>Upgrade To The Latest Jupyter Releases<a class="headerlink" href="#upgrade-to-the-latest-jupyter-releases" title="Link to this heading"></a></h3>
+<p>The Cylc UI Server has been updated to work with the latest releases of
+<a class="reference external" href="https://jupyter-server.readthedocs.io">Jupyter Server</a> and <a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a>.</p>
+<p>If you are utilising Cylc’s multi-user functionality then your configuration
+will require some changes to work with these releases.</p>
+<p>See <a class="reference internal" href="../user-guide/sharing-access-to-workflows.html#cylc-uiserver-multi-user"><span class="std std-ref">Authorizing Others to Access Your Workflows</span></a> for more details</p>
+</section>
+</section>
+<hr class="docutils" />
+<section id="cylc-8-2-0">
+<h2>Cylc 8.2.0<a class="headerlink" href="#cylc-8-2-0" title="Link to this heading"></a></h2>
+<div class="hint admonition">
+<p class="admonition-title">Cylc Components</p>
+<dl class="field-list simple">
+<dt class="field-odd">cylc-flow<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://github.com/cylc/cylc-flow/blob/master/CHANGES.md">8.2</a></p>
+</dd>
+<dt class="field-even">cylc-uiserver<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://github.com/cylc/cylc-uiserver/blob/master/CHANGES.md">1.3</a></p>
+</dd>
+<dt class="field-odd">cylc-rose<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://github.com/cylc/cylc-rose/blob/master/CHANGES.md">1.3</a></p>
+</dd>
+</dl>
+</div>
+<section id="configure-the-default-view">
+<h3>Configure The Default View<a class="headerlink" href="#configure-the-default-view" title="Link to this heading"></a></h3>
+<p>You can now configure the view which is opened by default when you navigate to
+a new workflow in the GUI. Navigate to the settings page to select your chosen
+view.</p>
+<a class="reference internal image-reference" href="../_images/ui-view-selector.jpg"><img alt="../_images/ui-view-selector.jpg" src="../_images/ui-view-selector.jpg" style="width: 100%;" /></a>
+<p>In the future we plan to support configuring a layout of multiple views and
+configuring certain options on those views.</p>
+</section>
+<section id="reload">
+<h3>Reload<a class="headerlink" href="#reload" title="Link to this heading"></a></h3>
+<p>When workflows are
+<a class="reference internal" href="../user-guide/running-workflows/scheduler-start-up.html#reloading-the-workflow-configuration-at-runtime"><span class="std std-ref">reloaded</span></a>,
+(e.g. by <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">reload</span></code>), Cylc will now pause the workflow and wait for any
+preparing tasks to be submitted before proceeding with the reload.
+Once the reload has been completed, the workflow will be resumed.</p>
+<p>You can now see more information about the status of the reload in the
+workflow status message which appears at the top of the GUI and Tui interfaces.</p>
+</section>
+</section>
+<hr class="docutils" />
+<section id="cylc-8-1-0">
+<h2>Cylc 8.1.0<a class="headerlink" href="#cylc-8-1-0" title="Link to this heading"></a></h2>
+<div class="hint admonition">
+<p class="admonition-title">Cylc Components</p>
+<dl class="field-list simple">
+<dt class="field-odd">cylc-flow<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://github.com/cylc/cylc-flow/blob/8.1.x/CHANGES.md">8.1</a></p>
+</dd>
+<dt class="field-even">cylc-uiserver<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://github.com/cylc/cylc-uiserver/blob/1.2.x/CHANGES.md">1.2</a></p>
+</dd>
+<dt class="field-odd">cylc-rose<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://github.com/cylc/cylc-rose/blob/1.1.0/CHANGES.md#user-content-cylc-rose-110-released-2022-07-28">1.1</a></p>
+</dd>
+</dl>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Workflows started with Cylc 8.0 which contain multiple <a class="reference internal" href="../glossary.html#term-flow"><span class="xref std std-term">flows</span></a>
+<strong>cannot</strong> be restarted with Cylc 8.1 due to database changes.</p>
+</div>
+<section id="graph-view">
+<h3>Graph View<a class="headerlink" href="#graph-view" title="Link to this heading"></a></h3>
+<p>The web UI now has a graph view which displays a visualisation of a workflow’s graph:</p>
+<a class="reference internal image-reference" href="../_images/cylc-graph.gif"><img alt="../_images/cylc-graph.gif" src="../_images/cylc-graph.gif" style="width: 80%;" /></a>
+<p>Family &amp; cycle grouping as well as the ability to view graphs for stopped workflows
+will be added in later releases.</p>
+</section>
+<section id="log-view">
+<h3>Log View<a class="headerlink" href="#log-view" title="Link to this heading"></a></h3>
+<p>The web UI now has a log view which displays workflow and job log files:</p>
+<a class="reference internal image-reference" href="../_images/log-view-screenshot.png"><img alt="../_images/log-view-screenshot.png" src="../_images/log-view-screenshot.png" style="width: 80%;" /></a>
+<p>Support for viewing more log files, syntax highlighting, searching and line
+numbers are planned for future releases.</p>
+</section>
+<section id="edit-runtime">
+<h3>Edit Runtime<a class="headerlink" href="#edit-runtime" title="Link to this heading"></a></h3>
+<p>The web UI now has a command for editing the <a class="reference internal" href="config/workflow.html#flow.cylc[runtime]" title="flow.cylc[runtime]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime]</span></code></a> section
+of a task or family.</p>
+<a class="reference internal image-reference" href="../_images/edit-runtime-screenshot.png"><img alt="../_images/edit-runtime-screenshot.png" src="../_images/edit-runtime-screenshot.png" style="width: 80%;" /></a>
+<p>Any changes made are <a class="reference internal" href="../user-guide/running-workflows/dynamic-behaviour.html#cylc-broadcast"><span class="std std-ref">broadcast</span></a> to the running workflow.</p>
+</section>
+<section id="analysis-view">
+<h3>Analysis View<a class="headerlink" href="#analysis-view" title="Link to this heading"></a></h3>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version cylc-uiserver: </span>1.2.2</p>
+</div>
+<p>The web UI also has a new view for displaying task queue &amp; run time statistics.</p>
+<a class="reference internal image-reference" href="../_images/analysis_view.gif"><img alt="../_images/analysis_view.gif" src="../_images/analysis_view.gif" style="width: 80%;" /></a>
+</section>
+<section id="combined-commands">
+<h3>Combined Commands<a class="headerlink" href="#combined-commands" title="Link to this heading"></a></h3>
+<p>Two new commands have been added as short-cuts for common working patterns:</p>
+<dl>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">vip</span></code></dt><dd><p>Validate, install and plays a workflow, equivalent to:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>validate<span class="w"> </span>&lt;path&gt;
+cylc<span class="w"> </span>install<span class="w"> </span>&lt;path&gt;
+cylc<span class="w"> </span>play<span class="w"> </span>&lt;id&gt;
+</pre></div>
+</div>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">vr</span></code></dt><dd><p>Validate and reinstall a workflow, then either:
+- reload the workflow if it is running.
+- restart the workflow if it is stopped.</p>
+</dd>
+</dl>
+<a class="reference internal image-reference" href="../_images/vip-vr.gif"><img alt="../_images/vip-vr.gif" src="../_images/vip-vr.gif" style="width: 100%;" /></a>
+<p>For more information see the command line help:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>vip<span class="w"> </span>--help
+cylc<span class="w"> </span>vr<span class="w"> </span>--help
+</pre></div>
+</div>
+</section>
+<section id="bash-completion">
+<h3>Bash Completion<a class="headerlink" href="#bash-completion" title="Link to this heading"></a></h3>
+<p>Cylc now provides a high performance Bash completion script which saves you typing:</p>
+<ul class="simple">
+<li><p>Cylc commands &amp; options</p></li>
+<li><p>Workflow IDs</p></li>
+<li><p>Cycle points</p></li>
+<li><p>Task names</p></li>
+<li><p>Job numbers</p></li>
+</ul>
+<a class="reference internal image-reference" href="../_images/cylc-completion.bash.gif"><img alt="../_images/cylc-completion.bash.gif" src="../_images/cylc-completion.bash.gif" style="width: 80%;" /></a>
+<p><a class="reference internal" href="../installation.html#installation-shell-auto-completion"><span class="std std-ref">Installation instructions</span></a>.</p>
+</section>
+</section>
+<hr class="docutils" />
+<section id="cylc-8-0-0">
+<h2>Cylc 8.0.0<a class="headerlink" href="#cylc-8-0-0" title="Link to this heading"></a></h2>
+<div class="hint admonition">
+<p class="admonition-title">Cylc Components</p>
+<dl class="field-list simple">
+<dt class="field-odd">cylc-flow<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://github.com/cylc/cylc-flow/blob/8.0.0/CHANGES.md#user-content-major-changes-in-cylc-8">8.0</a></p>
+</dd>
+<dt class="field-even">cylc-uiserver<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference external" href="https://github.com/cylc/cylc-uiserver/blob/1.1.0/CHANGES.md#user-content-cylc-uiserver-110-released-2022-07-28">1.1</a></p>
+</dd>
+<dt class="field-odd">cylc-rose<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference external" href="https://github.com/cylc/cylc-rose/blob/1.1.0/CHANGES.md#user-content-cylc-rose-110-released-2022-07-28">1.1</a></p>
+</dd>
+</dl>
+</div>
+<p>The first official release of Cylc 8.</p>
+<p>For a summary of changes see the <a class="reference internal" href="../7-to-8/summary.html#overview"><span class="std std-ref">migration guide</span></a>.</p>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="Reference" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="config/index.html" class="btn btn-neutral float-right" title="Configuration" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/changes";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/config/file-format.html b/nightly_8.3/html/reference/config/file-format.html
new file mode 100644
index 00000000000..1a27817fe4a
--- /dev/null
+++ b/nightly_8.3/html/reference/config/file-format.html
@@ -0,0 +1,321 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>The .cylc File Format &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Workflow Configuration" href="workflow.html" />
+    <link rel="prev" title="Configuration" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../changes.html">Changes</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Configuration</a><ul class="current">
+<li class="toctree-l3 current"><a class="current reference internal" href="#">The .cylc File Format</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#syntax">Syntax</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#shorthand">Shorthand</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="workflow.html">Workflow Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="global.html">Global Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui-server.html">UI Server Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="types.html">Cylc Configuration Data Types</a></li>
+<li class="toctree-l3"><a class="reference internal" href="writing-platform-configs.html">Platform Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../api/index.html">Cylc API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Reference</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Configuration</a></li>
+      <li class="breadcrumb-item active">The .cylc File Format</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/reference/config/file-format.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="the-cylc-file-format">
+<span id="file-format"></span><h1>The .cylc File Format<a class="headerlink" href="#the-cylc-file-format" title="Link to this heading"></a></h1>
+<p>Cylc global and workflow configuration files are written in a nested
+<a class="reference external" href="https://en.wikipedia.org/wiki/INI_file">INI</a>-based format.</p>
+<section id="syntax">
+<span id="id1"></span><h2>Syntax<a class="headerlink" href="#syntax" title="Link to this heading"></a></h2>
+<dl>
+<dt>Comments</dt><dd><p>Comments follow a <code class="docutils literal notranslate"><span class="pre">#</span></code> character.</p>
+</dd>
+<dt>Settings</dt><dd><p>Configuration items (settings) are written as <code class="docutils literal notranslate"><span class="pre">key</span> <span class="pre">=</span> <span class="pre">value</span></code> pairs, and can
+be contained within sections. Setting names (the keys) may contain spaces.</p>
+</dd>
+<dt>String Values</dt><dd><p>Quoting single-line string values is optional:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[animals]</span>
+   <span class="nv">cat </span><span class="o">=</span><span class="s"> dusty</span>
+   <span class="nv">dog </span><span class="o">=</span><span class="s"> &quot;fido&quot;</span>  <span class="c1"># or single quotes: &#39;fido&#39;</span>
+</pre></div>
+</div>
+<p>Multiline string values must be triple-quoted:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[song]</span>
+   <span class="nv">lyrics </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>  <span class="c1"># (or triple single-quotes: &#39;&#39;&#39;value&#39;&#39;&#39;)</span>
+<span class="s2">      No stop signs</span>
+<span class="s2">      Speed limit</span>
+<span class="s2">      Nobody&#39;s gonna slow me down</span>
+<span class="s2">   &quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</dd>
+<dt>List Values</dt><dd><p>List values are comma-separated:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">animals </span><span class="o">=</span><span class="s"> dusty, fido, cujo</span>
+</pre></div>
+</div>
+</dd>
+<dt>Boolean Values</dt><dd><p>Booleans are capitalized:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">ice cream is good </span><span class="o">=</span><span class="s"> True</span>  <span class="c1"># or False</span>
+</pre></div>
+</div>
+</dd>
+<dt>Sections and Sub-sections</dt><dd><p>Settings have a level-dependent number of square brackets:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[section]</span>
+<span class="nt">[[sub-section]]</span>
+<span class="nt">[[[sub-sub-section]]]</span>
+</pre></div>
+</div>
+</dd>
+<dt>Indentation</dt><dd><p>It is advisable to indent sections and subsections, for clarity. However,
+Cylc ignores indentation, so this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[section]</span>
+   <span class="nv">a </span><span class="o">=</span><span class="s"> A</span>
+   <span class="nt">[[sub-section]]</span>
+      <span class="nv">b </span><span class="o">=</span><span class="s"> B</span>
+   <span class="nv">b </span><span class="o">=</span><span class="s"> C</span>  <span class="c1"># WARNING: this is still in sub-section!</span>
+</pre></div>
+</div>
+<p>is equivalent to this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[section]</span>
+   <span class="nv">a </span><span class="o">=</span><span class="s"> A</span>
+   <span class="nt">[[sub-section]]</span>
+      <span class="nv">b </span><span class="o">=</span><span class="s"> C</span>
+</pre></div>
+</div>
+</dd>
+<dt>Duplicate Sections and Items</dt><dd><p>Duplicate sections get merged into one. Duplicate settings overwrite
+previously defined values. So this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[animals]</span>
+  <span class="nv">cat </span><span class="o">=</span><span class="s"> fluffy</span>
+<span class="nt">[animals]</span>
+  <span class="nv">dog </span><span class="o">=</span><span class="s"> fido</span>
+  <span class="nv">cat </span><span class="o">=</span><span class="s"> dusty</span>
+</pre></div>
+</div>
+<p>is equivalent to this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[animals]</span>
+  <span class="nv">cat </span><span class="o">=</span><span class="s"> dusty</span>
+  <span class="nv">dog </span><span class="o">=</span><span class="s"> fido</span>
+</pre></div>
+</div>
+<p>The only exception to this rule is <a class="reference internal" href="../../glossary.html#term-graph-string"><span class="xref std std-term">graph strings</span></a>,
+which get merged. So these graph strings:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">R1</span> <span class="c">=</span> <span class="c">&quot;</span><span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">bar</span><span class="c">&quot;</span>
+<span class="kd">R1</span> <span class="c">=</span> <span class="c">&quot;</span><span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">baz</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>merge to this:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">R1</span> <span class="c">=</span> <span class="c">&quot;</span><span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">bar</span> <span class="o">&amp;</span> <span class="kd">baz</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+</dd>
+<dt>Continuation lines</dt><dd><p>If necessary, you can continue on the next line after a backslash character:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">verse </span><span class="o">=</span><span class="s"> &quot;the quick \</span>
+<span class="s">         brown fox&quot;</span>
+</pre></div>
+</div>
+<p>However, backslash line continuation is fragile (trailing invisible
+whitespace breaks it). Long <a class="reference internal" href="../../glossary.html#term-graph-string"><span class="xref std std-term">graph strings</span></a> strings
+should be split on graph symbols instead:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">R1</span> <span class="c">=</span> <span class="c">&quot;&quot;&quot;</span>
+     <span class="p">(</span><span class="kd">foo</span> <span class="o">&amp;</span> <span class="kd">bar</span> <span class="p">)</span> <span class="o">|</span>
+         <span class="kd">baz</span> <span class="o">=&gt;</span>
+             <span class="kd">qux</span>
+<span class="c">&quot;&quot;&quot;</span>
+<span class="c1"># Equivalent to:</span>
+<span class="kd">R1</span> <span class="c">=</span> <span class="c">&quot;&quot;&quot;</span>
+     <span class="p">(</span><span class="kd">foo</span> <span class="o">&amp;</span> <span class="kd">bar</span> <span class="p">)</span> <span class="o">|</span> <span class="kd">baz</span> <span class="o">=&gt;</span> <span class="kd">qux</span>
+<span class="c">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</dd>
+<dt>Include-files</dt><dd><p><code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> fragments can be included verbatim with the <code class="docutils literal notranslate"><span class="pre">%include</span></code>
+directive. Include-files can be included multiple times, and even nested.
+Include-file paths should relative to the <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> location:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">%</span><span class="n">include</span> <span class="s2">&quot;inc/site-a.cylc&quot;</span>
+</pre></div>
+</div>
+<p><a class="reference internal" href="../../user-guide/writing-workflows/jinja2.html#jinja"><span class="std std-ref">Jinja2’s</span></a> template inclusion mechanism can be used with Cylc
+too.</p>
+</dd>
+</dl>
+</section>
+<section id="shorthand">
+<span id="config-item-shorthand"></span><h2>Shorthand<a class="headerlink" href="#shorthand" title="Link to this heading"></a></h2>
+<p>We often use a compact single-line notation to refer to nested config items:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">[section]</span></code></dt><dd><p>An entire section.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">[section]setting</span></code></dt><dd><p>A setting within a section.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">[section]setting=value</span></code></dt><dd><p>The value of a setting within a section.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">[section][sub-section]another-setting</span></code></dt><dd><p>A setting within a sub-section.</p>
+</dd>
+</dl>
+<p>In the file, however, section headings need additional brackets at each level.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># This:</span>
+<span class="c1">#   [runtime][task-a][environment]FOO = foo</span>
+<span class="c1"># Means:</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[task-a]]</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">FOO </span><span class="o">=</span><span class="s"> foo</span>
+</pre></div>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="Configuration" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="workflow.html" class="btn btn-neutral float-right" title="Workflow Configuration" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/config/file-format";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/config/global.html b/nightly_8.3/html/reference/config/global.html
new file mode 100644
index 00000000000..e5149750673
--- /dev/null
+++ b/nightly_8.3/html/reference/config/global.html
@@ -0,0 +1,2903 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Global Configuration &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="UI Server Configuration" href="ui-server.html" />
+    <link rel="prev" title="Workflow Configuration" href="workflow.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../changes.html">Changes</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Configuration</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="file-format.html">The .cylc File Format</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow.html">Workflow Configuration</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Global Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui-server.html">UI Server Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="types.html">Cylc Configuration Data Types</a></li>
+<li class="toctree-l3"><a class="reference internal" href="writing-platform-configs.html">Platform Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../api/index.html">Cylc API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Reference</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Configuration</a></li>
+      <li class="breadcrumb-item active">Global Configuration</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/reference/config/global.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="global-configuration">
+<span id="id1"></span><h1>Global Configuration<a class="headerlink" href="#global-configuration" title="Link to this heading"></a></h1>
+<p>Cylc global configurations use the <a class="reference internal" href="file-format.html#file-format"><span class="std std-ref">.cylc file format</span></a>.</p>
+<dd><dl class="cylc conf">
+<dt class="sig sig-object cylc" id="global.cylc">
+<span class="sig-name descname"><span class="pre">global.cylc</span></span><a class="headerlink" href="#global.cylc" title="Link to this definition"></a></dt>
+<dd><p>The global configuration which defines default Cylc Flow settings
+for a user or site.</p>
+<p>To view your global config, run:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ cylc config
+</pre></div>
+</div>
+<p>Cylc will attempt to load the global configuration (<code class="docutils literal notranslate"><span class="pre">global.cylc</span></code>) from a
+hierarchy of locations, including the site directory (defaults to
+<code class="docutils literal notranslate"><span class="pre">/etc/cylc/flow/</span></code>) and the user directory (<code class="docutils literal notranslate"><span class="pre">~/.cylc/flow/</span></code>). For
+example at Cylc version 8.0.1, the hierarchy would be, in order of
+ascending priority:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="s">&lt;site-conf-path&gt;</span>/flow/global.cylc
+<span class="s">&lt;site-conf-path&gt;</span>/flow/8/global.cylc
+<span class="s">&lt;site-conf-path&gt;</span>/flow/8.0/global.cylc
+<span class="s">&lt;site-conf-path&gt;</span>/flow/8.0.1/global.cylc
+~/.cylc/flow/global.cylc
+~/.cylc/flow/8/global.cylc
+~/.cylc/flow/8.0/global.cylc
+~/.cylc/flow/8.0.1/global.cylc
+</pre></div>
+</div>
+<p>Where <code class="docutils literal notranslate"><span class="pre">&lt;site-conf-path&gt;</span></code> is <code class="docutils literal notranslate"><span class="pre">/etc/cylc/flow/</span></code> by default but can be
+changed by <span class="target" id="index-0"></span><a class="reference internal" href="#envvar-CYLC_SITE_CONF_PATH"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">CYLC_SITE_CONF_PATH</span></code></a>.</p>
+<p>A setting in a file lower down in the list will override the same setting
+from those higher up (but if a setting is present in a file higher up and
+not in any files lower down, it will not be overridden).</p>
+<p>The following environment variables can change the files which are loaded:</p>
+<dl class="std envvar">
+<dt class="sig sig-object std" id="envvar-CYLC_CONF_PATH">
+<span class="sig-name descname"><span class="pre">CYLC_CONF_PATH</span></span><a class="headerlink" href="#envvar-CYLC_CONF_PATH" title="Link to this definition"></a></dt>
+<dd><p>If set this bypasses the default site/user configuration hierarchy used
+to load the Cylc Flow global configuration.</p>
+<p>This should be set to a directory containing a <a class="reference internal" href="#global.cylc" title="global.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc</span></code></a>
+file.</p>
+</dd></dl>
+
+<dl class="std envvar">
+<dt class="sig sig-object std" id="envvar-CYLC_SITE_CONF_PATH">
+<span class="sig-name descname"><span class="pre">CYLC_SITE_CONF_PATH</span></span><a class="headerlink" href="#envvar-CYLC_SITE_CONF_PATH" title="Link to this definition"></a></dt>
+<dd><p>By default the site configuration is located in <code class="docutils literal notranslate"><span class="pre">/etc/cylc/</span></code>. For
+installations where this is not convenient, this path can be overridden
+by setting <code class="docutils literal notranslate"><span class="pre">CYLC_SITE_CONF_PATH</span></code> to point at another location.</p>
+<p>Configuration for different Cylc components should be in sub-directories
+within this location.</p>
+<p>For example to configure Cylc Flow you could do the following:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$CYLC_SITE_CONF_PATH/
+`-- flow/
+    `-- global.cylc
+</pre></div>
+</div>
+</dd></dl>
+
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">global.cylc</span></code> file can be templated using Jinja2 variables.
+See <a class="reference internal" href="../../user-guide/writing-workflows/jinja2.html#jinja"><span class="std std-ref">Jinja2</span></a>.</p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>Prior to Cylc 8, <code class="docutils literal notranslate"><span class="pre">global.cylc</span></code> was named <code class="docutils literal notranslate"><span class="pre">global.rc</span></code>, but that name
+is no longer supported.</p>
+</div>
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[hub]">
+<span class="sig-name descname"><span class="pre">[hub]</span></span><a class="headerlink" href="#global.cylc[hub]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[hub]</span></code></p>
+</dd>
+</dl>
+<p>Configure the public URL of Jupyter Hub.</p>
+<p>If configured, the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">gui</span></code> command will open a web browser at this
+location rather than starting a standalone server when called.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p>The cylc hub <a class="reference internal" href="../architecture/index.html#architecture-reference"><span class="std std-ref">Architecture</span></a> for fuller details.</p></li>
+<li><p><a class="reference internal" href="ui-server.html#ui-server-config"><span class="std std-ref">UI Server Configuration</span></a> for practical details.</p></li>
+</ul>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[hub]url">
+<span class="sig-name descname"><span class="pre">url</span></span><a class="headerlink" href="#global.cylc[hub]url" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[hub]url</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.3.0.</span></p>
+</div>
+<p>Where Jupyter Hub is used a url can be provided for routing on
+execution of <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">gui</span></code> command.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler]">
+<span class="sig-name descname"><span class="pre">[scheduler]</span></span><a class="headerlink" href="#global.cylc[scheduler]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler]</span></code></p>
+</dd>
+<dt class="field-even">Defaults For<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler]" title="flow.cylc[scheduler]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]</span></code></a>.</p>
+</dd>
+</dl>
+<p>Settings for the scheduler.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler]UTC mode">
+<span class="sig-name descname"><span class="pre">UTC</span> <span class="pre">mode</span></span><a class="headerlink" href="#global.cylc[scheduler]UTC mode" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler]UTC</span> <span class="pre">mode</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-boolean" title="parsec-type-boolean"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">boolean</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">False</span></code></p>
+</dd>
+<dt class="field-even">Default For<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler]UTC mode" title="flow.cylc[scheduler]UTC mode"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]UTC</span> <span class="pre">mode</span></code></a>.</p>
+</dd>
+</dl>
+<p>If <code class="docutils literal notranslate"><span class="pre">True</span></code>, UTC will be used as the time zone for timestamps in
+the logs. If <code class="docutils literal notranslate"><span class="pre">False</span></code>, the local/system time zone will be used.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler]process pool size">
+<span class="sig-name descname"><span class="pre">process</span> <span class="pre">pool</span> <span class="pre">size</span></span><a class="headerlink" href="#global.cylc[scheduler]process pool size" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler]process</span> <span class="pre">pool</span> <span class="pre">size</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-integer" title="parsec-type-integer"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">integer</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">4</span></code></p>
+</dd>
+</dl>
+<p>Maximum number of concurrent processes used to execute external job
+submission, event handlers, and job poll and kill commands</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/writing-workflows/scheduler.html#managing-external-command-execution"><span class="std std-ref">External Command Execution</span></a>.</p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>Moved into the <code class="docutils literal notranslate"><span class="pre">[scheduler]</span></code> section from the top level.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler]process pool timeout">
+<span class="sig-name descname"><span class="pre">process</span> <span class="pre">pool</span> <span class="pre">timeout</span></span><a class="headerlink" href="#global.cylc[scheduler]process pool timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler]process</span> <span class="pre">pool</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">PT10M</span></code></p>
+</dd>
+</dl>
+<p>After this interval Cylc will kill long running commands in the
+process pool.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/writing-workflows/scheduler.html#managing-external-command-execution"><span class="std std-ref">External Command Execution</span></a>.</p>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The default is set quite high to avoid killing important
+processes when the system is under load.</p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>Moved into the <code class="docutils literal notranslate"><span class="pre">[scheduler]</span></code> section from the top level.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler]auto restart delay">
+<span class="sig-name descname"><span class="pre">auto</span> <span class="pre">restart</span> <span class="pre">delay</span></span><a class="headerlink" href="#global.cylc[scheduler]auto restart delay" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler]auto</span> <span class="pre">restart</span> <span class="pre">delay</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+</dl>
+<p>Maximum number of seconds the auto-restart mechanism will delay
+before restarting workflows.</p>
+<p>When a host is set to automatically
+shutdown/restart it waits a random period of time
+between zero and <code class="docutils literal notranslate"><span class="pre">auto</span> <span class="pre">restart</span> <span class="pre">delay</span></code> seconds before
+beginning the process. This is to prevent large numbers of
+workflows from restarting simultaneously.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/writing-workflows/scheduler.html#auto-stop-restart"><span class="std std-ref">Workflow Migration</span></a></p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">global.rc[suite</span> <span class="pre">servers]auto</span> <span class="pre">restart</span> <span class="pre">delay</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][run hosts]">
+<span class="sig-name descname"><span class="pre">[run</span> <span class="pre">hosts]</span></span><a class="headerlink" href="#global.cylc[scheduler][run hosts]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][run</span> <span class="pre">hosts]</span></code></p>
+</dd>
+</dl>
+<p>Configure workflow hosts and ports for starting workflows.</p>
+<p>Additionally configure host selection settings specifying how to
+determine the most suitable run host at any given time from those
+configured.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[suite</span> <span class="pre">servers]</span></code>.</p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][run hosts]available">
+<span class="sig-name descname"><span class="pre">available</span></span><a class="headerlink" href="#global.cylc[scheduler][run hosts]available" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][run</span> <span class="pre">hosts]available</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-spaceless_list" title="parsec-type-spaceless_list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">spaceless</span> <span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>A list of workflow run hosts.</p>
+<p>Cylc will choose one of these hosts for a workflow to start on.
+(Unless an explicit host is provided as an option to the
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span> <span class="pre">--host=&lt;myhost&gt;</span></code> command.)</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[suite</span> <span class="pre">servers]run</span> <span class="pre">hosts</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][run hosts]ports">
+<span class="sig-name descname"><span class="pre">ports</span></span><a class="headerlink" href="#global.cylc[scheduler][run hosts]ports" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][run</span> <span class="pre">hosts]ports</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-integer_range" title="parsec-type-integer_range"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">integer</span> <span class="pre">range</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">43001</span> <span class="pre">..</span> <span class="pre">43101</span></code></p>
+</dd>
+</dl>
+<p>The range of ports for Cylc to use to run workflows.</p>
+<p>The minimum and maximum port numbers in the format
+<code class="docutils literal notranslate"><span class="pre">min</span> <span class="pre">..</span> <span class="pre">max</span></code>.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[suite</span> <span class="pre">servers]run</span> <span class="pre">ports</span></code>.
+It can no longer be used to define a non-contiguous port
+range.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][run hosts]condemned">
+<span class="sig-name descname"><span class="pre">condemned</span></span><a class="headerlink" href="#global.cylc[scheduler][run hosts]condemned" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][run</span> <span class="pre">hosts]condemned</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-absolute_host_list" title="parsec-type-absolute_host_list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">absolute</span> <span class="pre">host</span> <span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>These hosts will not be used to run jobs.</p>
+<p>If workflows are already running on
+condemned hosts, Cylc will shut them down and
+restart them on different hosts.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/writing-workflows/scheduler.html#auto-stop-restart"><span class="std std-ref">Workflow Migration</span></a></p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[suite</span> <span class="pre">servers]condemned</span> <span class="pre">hosts</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][run hosts]ranking">
+<span class="sig-name descname"><span class="pre">ranking</span></span><a class="headerlink" href="#global.cylc[scheduler][run hosts]ranking" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][run</span> <span class="pre">hosts]ranking</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Rank and filter run hosts based on system information.</p>
+<p>Ranking can be used to provide load balancing to ensure no
+single run host is overloaded. It also provides thresholds
+beyond which Cylc will not attempt to start new schedulers on
+a host.</p>
+<p>This should be a multiline string containing Python expressions
+to rank and/or filter hosts. All <a class="reference external" href="https://psutil.readthedocs.io/en/latest/">psutil</a> attributes are
+available for use in these expressions.</p>
+<p class="rubric">Ranking</p>
+<p>Rankings are expressions which return numerical values.
+The host which returns the lowest value is chosen. Examples:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># rank hosts by cpu_percent</span>
+<span class="n">cpu_percent</span><span class="p">()</span>
+
+<span class="c1"># rank hosts by 15min average of server load</span>
+<span class="n">getloadavg</span><span class="p">()[</span><span class="mi">2</span><span class="p">]</span>
+
+<span class="c1"># rank hosts by the number of cores</span>
+<span class="c1"># (multiple by -1 because the lowest value is chosen)</span>
+<span class="o">-</span><span class="mi">1</span> <span class="o">*</span> <span class="n">cpu_count</span><span class="p">()</span>
+</pre></div>
+</div>
+<p class="rubric">Threshold</p>
+<p>Thresholds are expressions which return boolean values.
+If a host returns a <code class="docutils literal notranslate"><span class="pre">False</span></code> value that host will not be
+selected. Examples:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># filter out hosts with a CPU utilisation of 70% or above</span>
+<span class="n">cpu_percent</span><span class="p">()</span> <span class="o">&lt;</span> <span class="mi">70</span>
+
+<span class="c1"># filter out hosts with less than 1GB of RAM available</span>
+<span class="n">virtual_memory</span><span class="p">()</span><span class="o">.</span><span class="n">available</span> <span class="o">&gt;</span> <span class="mi">1000000000</span>
+
+<span class="c1"># filter out hosts with less than 1GB of disk space</span>
+<span class="c1"># available on the &quot;/&quot; mount</span>
+<span class="n">disk_usage</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">free</span> <span class="o">&gt;</span> <span class="mi">1000000000</span>
+</pre></div>
+</div>
+<p class="rubric">Combining</p>
+<p>Multiple rankings and thresholds can be combined in this
+section e.g:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># filter hosts</span>
+<span class="n">cpu_percent</span><span class="p">()</span> <span class="o">&lt;</span> <span class="mi">70</span>
+<span class="n">disk_usage</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">free</span> <span class="o">&gt;</span> <span class="mi">1000000000</span>
+
+<span class="c1"># rank hosts by CPU count</span>
+<span class="mi">1</span> <span class="o">/</span> <span class="n">cpu_count</span><span class="p">()</span>
+<span class="c1"># if two hosts have the same CPU count</span>
+<span class="c1"># then rank them by CPU usage</span>
+<span class="n">cpu_percent</span><span class="p">()</span>
+</pre></div>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[suite</span> <span class="pre">servers][run</span> <span class="pre">host</span> <span class="pre">select]rank</span></code>.</p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][host self-identification]">
+<span class="sig-name descname"><span class="pre">[host</span> <span class="pre">self-identification]</span></span><a class="headerlink" href="#global.cylc[scheduler][host self-identification]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][host</span> <span class="pre">self-identification]</span></code></p>
+</dd>
+</dl>
+<p>How Cylc determines and shares the identity of the workflow host.</p>
+<p>The workflow host’s identity must be determined locally by cylc and
+passed to running tasks (via <code class="docutils literal notranslate"><span class="pre">$CYLC_WORKFLOW_HOST</span></code>) so that task
+messages can target the right workflow on the right host.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[suite</span> <span class="pre">host</span> <span class="pre">self-identification]</span></code>.</p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][host self-identification]method">
+<span class="sig-name descname"><span class="pre">method</span></span><a class="headerlink" href="#global.cylc[scheduler][host self-identification]method" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][host</span> <span class="pre">self-identification]method</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">name</span></code></p>
+</dd>
+<dt class="field-even">Options<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">name</span></code>, <code class="docutils literal notranslate"><span class="pre">address</span></code>, <code class="docutils literal notranslate"><span class="pre">hardwired</span></code></p>
+</dd>
+</dl>
+<p>Determines how cylc finds the identity of the
+workflow host.</p>
+<p>Options:</p>
+<dl class="simple">
+<dt>name</dt><dd><p>(The default method) Self-identified host name.
+Cylc asks the workflow host for its host name. This
+should resolve on task hosts to the IP address of the
+workflow host; if it doesn’t, adjust network settings or
+use one of the other methods.</p>
+</dd>
+<dt>address</dt><dd><p>Automatically determined IP address (requires <em>target</em>).
+Cylc attempts to use a special external “target address”
+to determine the IP address of the workflow host as
+seen by remote task hosts.</p>
+</dd>
+<dt>hardwired</dt><dd><p>(only to be used as a last resort) Manually specified
+host name or IP address (requires <em>host</em>) of the
+workflow host.</p>
+</dd>
+</dl>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[suite</span> <span class="pre">host</span> <span class="pre">self-identification]</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][host self-identification]target">
+<span class="sig-name descname"><span class="pre">target</span></span><a class="headerlink" href="#global.cylc[scheduler][host self-identification]target" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][host</span> <span class="pre">self-identification]target</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">google.com</span></code></p>
+</dd>
+</dl>
+<p>Target for use by the <em>address</em> self-identification method.</p>
+<p>If your workflow host sees the internet, a common
+address such as <code class="docutils literal notranslate"><span class="pre">google.com</span></code> will do; otherwise choose a host
+visible on your intranet.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[suite</span> <span class="pre">host</span> <span class="pre">self-identification]</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][host self-identification]host">
+<span class="sig-name descname"><span class="pre">host</span></span><a class="headerlink" href="#global.cylc[scheduler][host self-identification]host" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][host</span> <span class="pre">self-identification]host</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>The name or IP address of the workflow host used by the
+<em>hardwired</em> self-identification method.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[suite</span> <span class="pre">host</span> <span class="pre">self-identification]</span></code>.</p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]">
+<span class="sig-name descname"><span class="pre">[events]</span></span><a class="headerlink" href="#global.cylc[scheduler][events]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]</span></code></p>
+</dd>
+<dt class="field-even">Default For<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]" title="flow.cylc[scheduler][events]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]</span></code></a>.</p>
+</dd>
+</dl>
+<p>Configure the workflow event handling system.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]handlers">
+<span class="sig-name descname"><span class="pre">handlers</span></span><a class="headerlink" href="#global.cylc[scheduler][events]handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]handlers" title="flow.cylc[scheduler][events]handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]handlers</span></code></a>.</p>
+</dd>
+</dl>
+<p>Configure <a class="reference internal" href="../../glossary.html#term-event-handlers"><span class="xref std std-term">event handlers</span></a> that run when certain workflow
+events occur.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]handler events">
+<span class="sig-name descname"><span class="pre">handler</span> <span class="pre">events</span></span><a class="headerlink" href="#global.cylc[scheduler][events]handler events" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]handler</span> <span class="pre">events</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]handler events" title="flow.cylc[scheduler][events]handler events"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]handler</span> <span class="pre">events</span></code></a>.</p>
+</dd>
+</dl>
+<p>Specify the events for which workflow event handlers should be invoked.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]mail events">
+<span class="sig-name descname"><span class="pre">mail</span> <span class="pre">events</span></span><a class="headerlink" href="#global.cylc[scheduler][events]mail events" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]mail</span> <span class="pre">events</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]mail events" title="flow.cylc[scheduler][events]mail events"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]mail</span> <span class="pre">events</span></code></a>.</p>
+</dd>
+</dl>
+<p>Specify the workflow events for which notification emails should
+be sent.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]startup handlers">
+<span class="sig-name descname"><span class="pre">startup</span> <span class="pre">handlers</span></span><a class="headerlink" href="#global.cylc[scheduler][events]startup handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]startup</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]startup handlers" title="flow.cylc[scheduler][events]startup handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]startup</span> <span class="pre">handlers</span></code></a>.</p>
+</dd>
+</dl>
+<p>Handlers to run at scheduler startup.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]shutdown handlers">
+<span class="sig-name descname"><span class="pre">shutdown</span> <span class="pre">handlers</span></span><a class="headerlink" href="#global.cylc[scheduler][events]shutdown handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]shutdown</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]shutdown handlers" title="flow.cylc[scheduler][events]shutdown handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]shutdown</span> <span class="pre">handlers</span></code></a>.</p>
+</dd>
+</dl>
+<p>Handlers to run at scheduler shutdown.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]abort handlers">
+<span class="sig-name descname"><span class="pre">abort</span> <span class="pre">handlers</span></span><a class="headerlink" href="#global.cylc[scheduler][events]abort handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]abort</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]abort handlers" title="flow.cylc[scheduler][events]abort handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]abort</span> <span class="pre">handlers</span></code></a>.</p>
+</dd>
+</dl>
+<p>Handlers to run if the scheduler shuts down with error status due to
+a configured timeout or a fatal error condition.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]workflow timeout">
+<span class="sig-name descname"><span class="pre">workflow</span> <span class="pre">timeout</span></span><a class="headerlink" href="#global.cylc[scheduler][events]workflow timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]workflow</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]workflow timeout" title="flow.cylc[scheduler][events]workflow timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]workflow</span> <span class="pre">timeout</span></code></a>.</p>
+</dd>
+</dl>
+<p>Workflow timeout interval. The timer starts counting down at scheduler
+startup. It resets on workflow restart.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]workflow timeout handlers">
+<span class="sig-name descname"><span class="pre">workflow</span> <span class="pre">timeout</span> <span class="pre">handlers</span></span><a class="headerlink" href="#global.cylc[scheduler][events]workflow timeout handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]workflow</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]workflow timeout handlers" title="flow.cylc[scheduler][events]workflow timeout handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]workflow</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></a>.</p>
+</dd>
+</dl>
+<p>Handlers to run if the workflow timer times out.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]abort on workflow timeout">
+<span class="sig-name descname"><span class="pre">abort</span> <span class="pre">on</span> <span class="pre">workflow</span> <span class="pre">timeout</span></span><a class="headerlink" href="#global.cylc[scheduler][events]abort on workflow timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]abort</span> <span class="pre">on</span> <span class="pre">workflow</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-boolean" title="parsec-type-boolean"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">boolean</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">False</span></code></p>
+</dd>
+<dt class="field-even">Default For<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]abort on workflow timeout" title="flow.cylc[scheduler][events]abort on workflow timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]abort</span> <span class="pre">on</span> <span class="pre">workflow</span> <span class="pre">timeout</span></code></a>.</p>
+</dd>
+</dl>
+<p>Whether the scheduler should shut down immediately with error status if
+the workflow timer times out.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]stall handlers">
+<span class="sig-name descname"><span class="pre">stall</span> <span class="pre">handlers</span></span><a class="headerlink" href="#global.cylc[scheduler][events]stall handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]stall</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]stall handlers" title="flow.cylc[scheduler][events]stall handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]stall</span> <span class="pre">handlers</span></code></a>.</p>
+</dd>
+</dl>
+<p>Handlers to run if the scheduler stalls.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]stall timeout">
+<span class="sig-name descname"><span class="pre">stall</span> <span class="pre">timeout</span></span><a class="headerlink" href="#global.cylc[scheduler][events]stall timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]stall</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">PT1H</span></code></p>
+</dd>
+<dt class="field-even">Default For<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]stall timeout" title="flow.cylc[scheduler][events]stall timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]stall</span> <span class="pre">timeout</span></code></a>.</p>
+</dd>
+</dl>
+<p>The length of a timer which starts if the scheduler stalls.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]stall timeout handlers">
+<span class="sig-name descname"><span class="pre">stall</span> <span class="pre">timeout</span> <span class="pre">handlers</span></span><a class="headerlink" href="#global.cylc[scheduler][events]stall timeout handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]stall</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]stall timeout handlers" title="flow.cylc[scheduler][events]stall timeout handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]stall</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></a>.</p>
+</dd>
+</dl>
+<p>Handlers to run if the stall timer times out.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]abort on stall timeout">
+<span class="sig-name descname"><span class="pre">abort</span> <span class="pre">on</span> <span class="pre">stall</span> <span class="pre">timeout</span></span><a class="headerlink" href="#global.cylc[scheduler][events]abort on stall timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]abort</span> <span class="pre">on</span> <span class="pre">stall</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-boolean" title="parsec-type-boolean"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">boolean</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">True</span></code></p>
+</dd>
+<dt class="field-even">Default For<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]abort on stall timeout" title="flow.cylc[scheduler][events]abort on stall timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]abort</span> <span class="pre">on</span> <span class="pre">stall</span> <span class="pre">timeout</span></code></a>.</p>
+</dd>
+</dl>
+<p>Whether the scheduler should shut down immediately with error status if
+the stall timer times out.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]inactivity timeout">
+<span class="sig-name descname"><span class="pre">inactivity</span> <span class="pre">timeout</span></span><a class="headerlink" href="#global.cylc[scheduler][events]inactivity timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]inactivity</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]inactivity timeout" title="flow.cylc[scheduler][events]inactivity timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]inactivity</span> <span class="pre">timeout</span></code></a>.</p>
+</dd>
+</dl>
+<p>Scheduler inactivity timeout interval. The timer resets when any
+workflow activity occurs.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]inactivity timeout handlers">
+<span class="sig-name descname"><span class="pre">inactivity</span> <span class="pre">timeout</span> <span class="pre">handlers</span></span><a class="headerlink" href="#global.cylc[scheduler][events]inactivity timeout handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]inactivity</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]inactivity timeout handlers" title="flow.cylc[scheduler][events]inactivity timeout handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]inactivity</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></a>.</p>
+</dd>
+</dl>
+<p>Handlers to run if the inactivity timer times out.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]abort on inactivity timeout">
+<span class="sig-name descname"><span class="pre">abort</span> <span class="pre">on</span> <span class="pre">inactivity</span> <span class="pre">timeout</span></span><a class="headerlink" href="#global.cylc[scheduler][events]abort on inactivity timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]abort</span> <span class="pre">on</span> <span class="pre">inactivity</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-boolean" title="parsec-type-boolean"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">boolean</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">False</span></code></p>
+</dd>
+<dt class="field-even">Default For<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]abort on inactivity timeout" title="flow.cylc[scheduler][events]abort on inactivity timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]abort</span> <span class="pre">on</span> <span class="pre">inactivity</span> <span class="pre">timeout</span></code></a>.</p>
+</dd>
+</dl>
+<p>Whether the scheduler should shut down immediately with error status if
+the inactivity timer times out.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][events]restart timeout">
+<span class="sig-name descname"><span class="pre">restart</span> <span class="pre">timeout</span></span><a class="headerlink" href="#global.cylc[scheduler][events]restart timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]restart</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">PT2M</span></code></p>
+</dd>
+<dt class="field-even">Default For<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][events]restart timeout" title="flow.cylc[scheduler][events]restart timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]restart</span> <span class="pre">timeout</span></code></a>.</p>
+</dd>
+</dl>
+<p>How long to wait for intervention on restarting a completed workflow.
+The timer stops if any task is triggered.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][mail]">
+<span class="sig-name descname"><span class="pre">[mail]</span></span><a class="headerlink" href="#global.cylc[scheduler][mail]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][mail]</span></code></p>
+</dd>
+<dt class="field-even">Defaults For<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][mail]" title="flow.cylc[scheduler][mail]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][mail]</span></code></a>.</p>
+</dd>
+</dl>
+<p>Settings for the scheduler to send event emails.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][mail]from">
+<span class="sig-name descname"><span class="pre">from</span></span><a class="headerlink" href="#global.cylc[scheduler][mail]from" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][mail]from</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][mail]from" title="flow.cylc[scheduler][mail]from"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][mail]from</span></code></a>.</p>
+</dd>
+</dl>
+<p>Specify an alternative <code class="docutils literal notranslate"><span class="pre">from</span></code> email address for workflow event notifications.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][mail]smtp">
+<span class="sig-name descname"><span class="pre">smtp</span></span><a class="headerlink" href="#global.cylc[scheduler][mail]smtp" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][mail]smtp</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Specify the SMTP server for sending workflow event email
+notifications.</p>
+<p>This cannot be configured in <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code>.</p>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">smtp</span><span class="o">.</span><span class="n">yourorg</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][mail]to">
+<span class="sig-name descname"><span class="pre">to</span></span><a class="headerlink" href="#global.cylc[scheduler][mail]to" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][mail]to</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][mail]to" title="flow.cylc[scheduler][mail]to"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][mail]to</span></code></a>.</p>
+</dd>
+</dl>
+<p>A list of email addresses that event notifications should be sent to.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][mail]footer">
+<span class="sig-name descname"><span class="pre">footer</span></span><a class="headerlink" href="#global.cylc[scheduler][mail]footer" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][mail]footer</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][mail]footer" title="flow.cylc[scheduler][mail]footer"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][mail]footer</span></code></a>.</p>
+</dd>
+</dl>
+<p>Specify a string or string template for footers of emails sent for both
+workflow and task events.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][mail]task event batch interval">
+<span class="sig-name descname"><span class="pre">task</span> <span class="pre">event</span> <span class="pre">batch</span> <span class="pre">interval</span></span><a class="headerlink" href="#global.cylc[scheduler][mail]task event batch interval" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][mail]task</span> <span class="pre">event</span> <span class="pre">batch</span> <span class="pre">interval</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">PT5M</span></code></p>
+</dd>
+<dt class="field-even">Default For<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][mail]task event batch interval" title="flow.cylc[scheduler][mail]task event batch interval"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][mail]task</span> <span class="pre">event</span> <span class="pre">batch</span> <span class="pre">interval</span></code></a>.</p>
+</dd>
+</dl>
+<p>Gather all task event notifications in the given interval into a single email.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][main loop]">
+<span class="sig-name descname"><span class="pre">[main</span> <span class="pre">loop]</span></span><a class="headerlink" href="#global.cylc[scheduler][main loop]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop]</span></code></p>
+</dd>
+<dt class="field-even">Defaults For<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][main loop]" title="flow.cylc[scheduler][main loop]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][main</span> <span class="pre">loop]</span></code></a>.</p>
+</dd>
+</dl>
+<p>Configuration of main loop plugins for the scheduler.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][main loop]plugins">
+<span class="sig-name descname"><span class="pre">plugins</span></span><a class="headerlink" href="#global.cylc[scheduler][main loop]plugins" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop]plugins</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">'health</span> <span class="pre">check',</span> <span class="pre">'reset</span> <span class="pre">bad</span> <span class="pre">hosts'</span></code></p>
+</dd>
+</dl>
+<p>Configure the default main loop plugins to use when
+starting new workflows.</p>
+<p>Only enabled plugins are loaded. Plugins can be enabled
+in two ways:</p>
+<dl>
+<dt>Globally:</dt><dd><p>To enable a plugin for all workflows add it to this
+setting.</p>
+</dd>
+<dt>Per-Run:</dt><dd><p>To enable a plugin for a one-off run of a workflow,
+specify it on the command line with
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span> <span class="pre">--main-loop</span></code>.</p>
+<div class="admonition hint">
+<p class="admonition-title">Hint</p>
+<p>This <em>appends</em> to the configured list of plugins
+rather than overriding it.</p>
+</div>
+</dd>
+</dl>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][main loop][&lt;plugin name&gt;]">
+<span class="sig-name descname"><span class="pre">[&lt;plugin</span> <span class="pre">name&gt;]</span></span><a class="headerlink" href="#global.cylc[scheduler][main loop][<plugin name>]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop][&lt;plugin</span> <span class="pre">name&gt;]</span></code></p>
+</dd>
+<dt class="field-even">Defaults For<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][main loop][&lt;plugin name&gt;]" title="flow.cylc[scheduler][main loop][&lt;plugin name&gt;]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][main</span> <span class="pre">loop][&lt;plugin</span> <span class="pre">name&gt;]</span></code></a>.</p>
+</dd>
+</dl>
+<p>Configure a main loop plugin.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][main loop][&lt;plugin name&gt;]interval">
+<span class="sig-name descname"><span class="pre">interval</span></span><a class="headerlink" href="#global.cylc[scheduler][main loop][<plugin name>]interval" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop][&lt;plugin</span> <span class="pre">name&gt;]interval</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">PT10M</span></code></p>
+</dd>
+<dt class="field-even">Default For<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="workflow.html#flow.cylc[scheduler][main loop][&lt;plugin name&gt;]interval" title="flow.cylc[scheduler][main loop][&lt;plugin name&gt;]interval"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][main</span> <span class="pre">loop][&lt;plugin</span> <span class="pre">name&gt;]interval</span></code></a>.</p>
+</dd>
+</dl>
+<p>Interval at which the plugin is invoked.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][main loop][health check]">
+<span class="sig-name descname"><span class="pre">[health</span> <span class="pre">check]</span></span><a class="headerlink" href="#global.cylc[scheduler][main loop][health check]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop][health</span> <span class="pre">check]</span></code></p>
+</dd>
+<dt class="field-even">Inherits<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#global.cylc[scheduler][main loop][&lt;plugin name&gt;]" title="global.cylc[scheduler][main loop][&lt;plugin name&gt;]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop][&lt;plugin</span> <span class="pre">name&gt;]</span></code></a></p>
+</dd>
+</dl>
+<p>Checks the integrity of the workflow run directory.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][main loop][health check]interval">
+<span class="sig-name descname"><span class="pre">interval</span></span><a class="headerlink" href="#global.cylc[scheduler][main loop][health check]interval" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop][health</span> <span class="pre">check]interval</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">PT10M</span></code></p>
+</dd>
+</dl>
+<p>Interval at which the plugin is invoked.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][main loop][auto restart]">
+<span class="sig-name descname"><span class="pre">[auto</span> <span class="pre">restart]</span></span><a class="headerlink" href="#global.cylc[scheduler][main loop][auto restart]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop][auto</span> <span class="pre">restart]</span></code></p>
+</dd>
+<dt class="field-even">Inherits<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#global.cylc[scheduler][main loop][&lt;plugin name&gt;]" title="global.cylc[scheduler][main loop][&lt;plugin name&gt;]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop][&lt;plugin</span> <span class="pre">name&gt;]</span></code></a></p>
+</dd>
+</dl>
+<p>Automatically migrates workflows between servers.</p>
+<p>For more information see:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../user-guide/writing-workflows/scheduler.html#submitting-workflows-to-a-pool-of-hosts"><span class="std std-ref">Submitting Workflows To a Pool Of Hosts</span></a>.</p></li>
+<li><p><a class="reference internal" href="../../plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.html#module-cylc.flow.main_loop.auto_restart" title="cylc.flow.main_loop.auto_restart"><code class="xref py py-mod docutils literal notranslate"><span class="pre">cylc.flow.main_loop.auto_restart</span></code></a></p></li>
+</ul>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][main loop][auto restart]interval">
+<span class="sig-name descname"><span class="pre">interval</span></span><a class="headerlink" href="#global.cylc[scheduler][main loop][auto restart]interval" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop][auto</span> <span class="pre">restart]interval</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">PT10M</span></code></p>
+</dd>
+</dl>
+<p>Interval at which the plugin is invoked.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][main loop][reset bad hosts]">
+<span class="sig-name descname"><span class="pre">[reset</span> <span class="pre">bad</span> <span class="pre">hosts]</span></span><a class="headerlink" href="#global.cylc[scheduler][main loop][reset bad hosts]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop][reset</span> <span class="pre">bad</span> <span class="pre">hosts]</span></code></p>
+</dd>
+<dt class="field-even">Inherits<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#global.cylc[scheduler][main loop][&lt;plugin name&gt;]" title="global.cylc[scheduler][main loop][&lt;plugin name&gt;]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop][&lt;plugin</span> <span class="pre">name&gt;]</span></code></a></p>
+</dd>
+</dl>
+<p>Periodically clear the scheduler list of unreachable (bad)
+hosts.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][main loop][reset bad hosts]interval">
+<span class="sig-name descname"><span class="pre">interval</span></span><a class="headerlink" href="#global.cylc[scheduler][main loop][reset bad hosts]interval" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop][reset</span> <span class="pre">bad</span> <span class="pre">hosts]interval</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">PT30M</span></code></p>
+</dd>
+</dl>
+<p>Interval at which the plugin is invoked.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][logging]">
+<span class="sig-name descname"><span class="pre">[logging]</span></span><a class="headerlink" href="#global.cylc[scheduler][logging]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][logging]</span></code></p>
+</dd>
+</dl>
+<p>Settings for the workflow event log.</p>
+<p>The workflow event log, held under the workflow run directory, is
+maintained as a rolling archive. Logs are rolled over (backed up
+and started anew) when they reach a configurable limit size.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[suite</span> <span class="pre">logging]</span></code>.</p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][logging]rolling archive length">
+<span class="sig-name descname"><span class="pre">rolling</span> <span class="pre">archive</span> <span class="pre">length</span></span><a class="headerlink" href="#global.cylc[scheduler][logging]rolling archive length" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][logging]rolling</span> <span class="pre">archive</span> <span class="pre">length</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-integer" title="parsec-type-integer"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">integer</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">15</span></code></p>
+</dd>
+</dl>
+<p>How many rolled logs to retain in the archive.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[scheduler][logging]maximum size in bytes">
+<span class="sig-name descname"><span class="pre">maximum</span> <span class="pre">size</span> <span class="pre">in</span> <span class="pre">bytes</span></span><a class="headerlink" href="#global.cylc[scheduler][logging]maximum size in bytes" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[scheduler][logging]maximum</span> <span class="pre">size</span> <span class="pre">in</span> <span class="pre">bytes</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-integer" title="parsec-type-integer"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">integer</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">1000000</span></code></p>
+</dd>
+</dl>
+<p>Workflow event logs are rolled over when they reach this
+file size.</p>
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[install]">
+<span class="sig-name descname"><span class="pre">[install]</span></span><a class="headerlink" href="#global.cylc[install]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[install]</span></code></p>
+</dd>
+</dl>
+<p>Configure directories and files to be installed on remote hosts.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[install]max depth">
+<span class="sig-name descname"><span class="pre">max</span> <span class="pre">depth</span></span><a class="headerlink" href="#global.cylc[install]max depth" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[install]max</span> <span class="pre">depth</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-integer" title="parsec-type-integer"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">integer</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">4</span></code></p>
+</dd>
+</dl>
+<p>How many directory levels deep Cylc should look for installed
+workflows in the <a class="reference internal" href="../../glossary.html#term-cylc-run-directory"><span class="xref std std-term">cylc-run directory</span></a>.</p>
+<p>This also sets the limit on how deep a <a class="reference internal" href="../../glossary.html#term-workflow-id"><span class="xref std std-term">workflow ID</span></a> can be
+before <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> will refuse to install it. For example,
+if set to 4, <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span> <span class="pre">one/two/three/four</span></code> will fail,
+because the resultant workflow ID would be
+<code class="docutils literal notranslate"><span class="pre">one/two/three/four/run1</span></code>, which is 5 levels deep. (However,
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span> <span class="pre">one/two/three/four</span> <span class="pre">--no-run-name</span></code> would work.)</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>A high value may cause a slowdown of Cylc commands such
+<code class="docutils literal notranslate"><span class="pre">install</span></code>, <code class="docutils literal notranslate"><span class="pre">scan</span></code> and <code class="docutils literal notranslate"><span class="pre">clean</span></code> if there are many
+<a class="reference internal" href="../../glossary.html#term-run-directory"><span class="xref std std-term">run directories</span></a> in the
+cylc-run directory for Cylc to check, or if the filesystem
+is slow (e.g. NFS).</p>
+</div>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[install]source dirs">
+<span class="sig-name descname"><span class="pre">source</span> <span class="pre">dirs</span></span><a class="headerlink" href="#global.cylc[install]source dirs" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[install]source</span> <span class="pre">dirs</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">~/cylc-src</span></code></p>
+</dd>
+</dl>
+<p>List of paths that Cylc searches for workflows to install.</p>
+<p>All workflow source directories in these locations will
+also show up in the GUI, ready for installation.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>If workflow source directories of the same name exist in more
+than one of these paths, only the first one will be picked up.</p>
+</div>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[install][symlink dirs]">
+<span class="sig-name descname"><span class="pre">[symlink</span> <span class="pre">dirs]</span></span><a class="headerlink" href="#global.cylc[install][symlink dirs]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs]</span></code></p>
+</dd>
+</dl>
+<p>Configure alternate workflow run directory locations.</p>
+<p>Symlinks from the the standard <code class="docutils literal notranslate"><span class="pre">$HOME/cylc-run</span></code> locations will be
+created.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[install][symlink dirs][&lt;install target&gt;]">
+<span class="sig-name descname"><span class="pre">[&lt;install</span> <span class="pre">target&gt;]</span></span><a class="headerlink" href="#global.cylc[install][symlink dirs][<install target>]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs][&lt;install</span> <span class="pre">target&gt;]</span></code></p>
+</dd>
+</dl>
+<p><a class="reference internal" href="writing-platform-configs.html#install-targets"><span class="std std-ref">Host</span></a> on which to create the symlinks.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[install][symlink dirs][&lt;install target&gt;]run">
+<span class="sig-name descname"><span class="pre">run</span></span><a class="headerlink" href="#global.cylc[install][symlink dirs][<install target>]run" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs][&lt;install</span> <span class="pre">target&gt;]run</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Alternative location for the run dir.</p>
+<p>If specified, the workflow run directory will
+be created in <code class="docutils literal notranslate"><span class="pre">&lt;this-path&gt;/cylc-run/&lt;workflow-id&gt;</span></code>
+and a symbolic link will be created from
+<code class="docutils literal notranslate"><span class="pre">$HOME/cylc-run/&lt;workflow-id&gt;</span></code>.
+If not specified the workflow run directory will be created
+in <code class="docutils literal notranslate"><span class="pre">$HOME/cylc-run/&lt;workflow-id&gt;</span></code>.
+All the workflow files and the <code class="docutils literal notranslate"><span class="pre">.service</span></code> directory get
+installed into this directory.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[install][symlink dirs][&lt;install target&gt;]log">
+<span class="sig-name descname"><span class="pre">log</span></span><a class="headerlink" href="#global.cylc[install][symlink dirs][<install target>]log" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs][&lt;install</span> <span class="pre">target&gt;]log</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Alternative location for the log dir.</p>
+<p>If specified the workflow log directory will be created in
+<code class="docutils literal notranslate"><span class="pre">&lt;this-path&gt;/cylc-run/&lt;workflow-id&gt;/log</span></code> and a
+symbolic link will be created from
+<code class="docutils literal notranslate"><span class="pre">$HOME/cylc-run/&lt;workflow-id&gt;/log</span></code>. If not specified
+the workflow log directory will be created in
+<code class="docutils literal notranslate"><span class="pre">$HOME/cylc-run/&lt;workflow-id&gt;/log</span></code>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[install][symlink dirs][&lt;install target&gt;]share">
+<span class="sig-name descname"><span class="pre">share</span></span><a class="headerlink" href="#global.cylc[install][symlink dirs][<install target>]share" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs][&lt;install</span> <span class="pre">target&gt;]share</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Alternative location for the share dir.</p>
+<p>If specified the workflow share directory will be
+created in <code class="docutils literal notranslate"><span class="pre">&lt;this-path&gt;/cylc-run/&lt;workflow-id&gt;/share</span></code>
+and a symbolic link will be created from
+<code class="docutils literal notranslate"><span class="pre">&lt;$HOME/cylc-run/&lt;workflow-id&gt;/share</span></code>. If not specified
+the workflow share directory will be created in
+<code class="docutils literal notranslate"><span class="pre">$HOME/cylc-run/&lt;workflow-id&gt;/share</span></code>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[install][symlink dirs][&lt;install target&gt;]share/cycle">
+<span class="sig-name descname"><span class="pre">share/cycle</span></span><a class="headerlink" href="#global.cylc[install][symlink dirs][<install target>]share/cycle" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs][&lt;install</span> <span class="pre">target&gt;]share/cycle</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Alternative directory for the share/cycle dir.</p>
+<p>If specified the workflow share/cycle directory
+will be created in
+<code class="docutils literal notranslate"><span class="pre">&lt;this-path&gt;/cylc-run/&lt;workflow-id&gt;/share/cycle</span></code>
+and a symbolic link will be created from
+<code class="docutils literal notranslate"><span class="pre">$HOME/cylc-run/&lt;workflow-id&gt;/share/cycle</span></code>. If not
+specified the workflow share/cycle directory will be
+created in <code class="docutils literal notranslate"><span class="pre">$HOME/cylc-run/&lt;workflow-id&gt;/share/cycle</span></code>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[install][symlink dirs][&lt;install target&gt;]work">
+<span class="sig-name descname"><span class="pre">work</span></span><a class="headerlink" href="#global.cylc[install][symlink dirs][<install target>]work" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs][&lt;install</span> <span class="pre">target&gt;]work</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Alternative directory for the work dir.</p>
+<p>If specified the workflow work directory will be created in
+<code class="docutils literal notranslate"><span class="pre">&lt;this-path&gt;/cylc-run/&lt;workflow-id&gt;/work</span></code> and a
+symbolic link will be created from
+<code class="docutils literal notranslate"><span class="pre">$HOME/cylc-run/&lt;workflow-id&gt;/work</span></code>. If not specified
+the workflow work directory will be created in
+<code class="docutils literal notranslate"><span class="pre">$HOME/cylc-run/&lt;workflow-id&gt;/work</span></code>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[platforms]">
+<span class="sig-name descname"><span class="pre">[platforms]</span></span><a class="headerlink" href="#global.cylc[platforms]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms]</span></code></p>
+</dd>
+</dl>
+<p>Platforms allow you to define compute resources available at your
+site.</p>
+<p>A platform consists of a group of one or more hosts which share a
+file system and a job runner (batch system).</p>
+<p>A platform must allow interaction with the same job from <em>any</em>
+of its hosts.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]">
+<span class="sig-name descname"><span class="pre">[&lt;platform</span> <span class="pre">name&gt;]</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]</span></code></p>
+</dd>
+</dl>
+<p>Configuration defining a platform.</p>
+<p>Many of these settings have replaced those of the same name from
+the old Cylc 7 <code class="docutils literal notranslate"><span class="pre">suite.rc[runtime][&lt;namespace&gt;][job]/[remote]</span></code>
+and <code class="docutils literal notranslate"><span class="pre">global.rc[hosts][&lt;host&gt;]</span></code> sections.</p>
+<p>Platform names can be regular expressions: If you have a set of
+compute resources such as <code class="docutils literal notranslate"><span class="pre">bigmachine1,</span> <span class="pre">bigmachine2</span></code> or
+<code class="docutils literal notranslate"><span class="pre">desktop0000,</span> <span class="pre">..,</span> <span class="pre">desktop9999</span></code> one would define platforms with
+names <code class="docutils literal notranslate"><span class="pre">[[bigmachine[12]]]</span></code> and <code class="docutils literal notranslate"><span class="pre">[[desktop[0-9]{4}]]</span></code>.</p>
+<p>Cylc searches for a matching platform in the reverse
+of the definition order to allow user defined platforms
+to override site defined platforms. This means, for example, that
+if <code class="docutils literal notranslate"><span class="pre">[[a.*]]</span></code> were set at the bottom of a configuration any
+platform name beginning with “a” would return that platform.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Each possible match to the definition regular expression is
+considered a separate platform.</p>
+<p>If you had a supercomputer with multiple login nodes this would
+be a single platform with multiple <a class="reference internal" href="#global.cylc[platforms][&lt;platform name&gt;]hosts" title="global.cylc[platforms][&lt;platform name&gt;]hosts"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">hosts</span></code></a>.</p>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p><code class="docutils literal notranslate"><span class="pre">[platforms][localhost]</span></code> may be set, to override default
+settings, but regular expressions which match “localhost”
+may not. Use comma separated lists instead:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[localhost|cylc-server-..]]</span>  <span class="c1"># error</span>
+    <span class="nt">[[localhost, cylc-server-..]]</span>  <span class="c1"># ok</span>
+</pre></div>
+</div>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../7-to-8/major-changes/platforms.html#majorchangesplatforms"><span class="std std-ref">Platforms</span></a> in the Cylc 8 migration guide.</p></li>
+<li><p><a class="reference internal" href="writing-platform-configs.html#adminguide-platformconfigs"><span class="std std-ref">Platform Configuration</span></a>, an administrator’s guide to
+platform configurations.</p></li>
+</ul>
+</div>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;][meta]">
+<span class="sig-name descname"><span class="pre">[meta]</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>][meta]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;][meta]</span></code></p>
+</dd>
+</dl>
+<p>Metadata for this platform or platform group.</p>
+<p>Allows writers of platform configurations to add information
+about platform usage. There are no-preset items because
+Cylc does not use any platform (or group) metadata internally.</p>
+<p>Users can then see information about defined platforms using:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">config</span> <span class="o">-</span><span class="n">i</span> <span class="p">[</span><span class="n">platforms</span><span class="p">]</span>
+<span class="n">cylc</span> <span class="n">config</span> <span class="o">-</span><span class="n">i</span> <span class="p">[</span><span class="n">platform</span> <span class="n">groups</span><span class="p">]</span>
+</pre></div>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="writing-platform-configs.html#adminguide-platformconfigs"><span class="std std-ref">Platform Configuration</span></a></p>
+</div>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;][meta]&lt;custom metadata&gt;">
+<span class="sig-name descname"><span class="pre">&lt;custom</span> <span class="pre">metadata&gt;</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>][meta]<custom metadata>" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;][meta]&lt;custom</span> <span class="pre">metadata&gt;</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Any user-defined metadata item.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]hosts">
+<span class="sig-name descname"><span class="pre">hosts</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]hosts" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]hosts</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>A list of hosts from which the job host can be selected using
+<a class="reference internal" href="#global.cylc[platforms][&lt;platform name&gt;][selection]method" title="global.cylc[platforms][&lt;platform name&gt;][selection]method"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[selection]method</span></code></a>.</p>
+<p>All hosts should share a file system.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]job runner">
+<span class="sig-name descname"><span class="pre">job</span> <span class="pre">runner</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]job runner" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]job</span> <span class="pre">runner</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">background</span></code></p>
+</dd>
+</dl>
+<p>The system used to run jobs on the platform.</p>
+<p>Examples:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">background</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">slurm</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">pbs</span></code></p></li>
+</ul>
+</div></blockquote>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/task-implementation/job-submission.html#availablemethods"><span class="std std-ref">List of built-in Job Runners</span></a></p>
+</div>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0: </span>(Replaces the deprecated setting <a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;][job]batch system" title="flow.cylc[runtime][&lt;namespace&gt;][job]batch system"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][job]batch</span> <span class="pre">system</span></code></a>.)</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]job runner command template">
+<span class="sig-name descname"><span class="pre">job</span> <span class="pre">runner</span> <span class="pre">command</span> <span class="pre">template</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]job runner command template" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]job</span> <span class="pre">runner</span> <span class="pre">command</span> <span class="pre">template</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Set the command used by the chosen job runner.</p>
+<p>The template’s <code class="docutils literal notranslate"><span class="pre">%(job)s</span></code> will be
+substituted by the job file path.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0: </span>(Replaces the deprecated setting <a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;][job]batch submit command template" title="flow.cylc[runtime][&lt;namespace&gt;][job]batch submit command template"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][job]batch</span> <span class="pre">submit</span> <span class="pre">command</span> <span class="pre">template</span></code></a>.)</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]shell">
+<span class="sig-name descname"><span class="pre">shell</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]shell" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]shell</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">/bin/bash</span></code></p>
+</dd>
+</dl>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>Moved from <code class="docutils literal notranslate"><span class="pre">suite.rc[runtime][&lt;namespace&gt;]job</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]communication method">
+<span class="sig-name descname"><span class="pre">communication</span> <span class="pre">method</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]communication method" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]communication</span> <span class="pre">method</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">zmq</span></code></p>
+</dd>
+<dt class="field-even">Options<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">poll</span></code>, <code class="docutils literal notranslate"><span class="pre">ssh</span></code>, <code class="docutils literal notranslate"><span class="pre">zmq</span></code></p>
+</dd>
+</dl>
+<p>The means by which task progress messages are reported back to
+the running workflow.</p>
+<p>Options:</p>
+<dl class="simple">
+<dt>zmq</dt><dd><p>Direct client-server TCP communication via network ports</p>
+</dd>
+<dt>poll</dt><dd><p>The workflow polls for task status (no task messaging)</p>
+</dd>
+<dt>ssh</dt><dd><p>Use non-interactive ssh for task communications</p>
+</dd>
+</dl>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">global.rc[hosts][&lt;host&gt;]task</span> <span class="pre">communication</span>
+<span class="pre">method</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]submission polling intervals">
+<span class="sig-name descname"><span class="pre">submission</span> <span class="pre">polling</span> <span class="pre">intervals</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]submission polling intervals" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]submission</span> <span class="pre">polling</span> <span class="pre">intervals</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval_list" title="parsec-type-time_interval_list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span> <span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">PT15M</span></code></p>
+</dd>
+<dt class="field-even">Default For<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;]submission polling intervals" title="flow.cylc[runtime][&lt;namespace&gt;]submission polling intervals"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]submission</span> <span class="pre">polling</span> <span class="pre">intervals</span></code></a>.</p>
+</dd>
+</dl>
+<p>List of intervals at which to poll status of job submission.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]submission retry delays">
+<span class="sig-name descname"><span class="pre">submission</span> <span class="pre">retry</span> <span class="pre">delays</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]submission retry delays" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]submission</span> <span class="pre">retry</span> <span class="pre">delays</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval_list" title="parsec-type-time_interval_list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span> <span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;]submission retry delays" title="flow.cylc[runtime][&lt;namespace&gt;]submission retry delays"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]submission</span> <span class="pre">retry</span> <span class="pre">delays</span></code></a>.</p>
+</dd>
+</dl>
+<p>Cylc can automatically resubmit jobs after submission failures.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]execution polling intervals">
+<span class="sig-name descname"><span class="pre">execution</span> <span class="pre">polling</span> <span class="pre">intervals</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]execution polling intervals" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]execution</span> <span class="pre">polling</span> <span class="pre">intervals</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval_list" title="parsec-type-time_interval_list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span> <span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">PT15M</span></code></p>
+</dd>
+<dt class="field-even">Default For<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution polling intervals" title="flow.cylc[runtime][&lt;namespace&gt;]execution polling intervals"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]execution</span> <span class="pre">polling</span> <span class="pre">intervals</span></code></a>.</p>
+</dd>
+</dl>
+<p>List of intervals at which to poll status of job execution.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]execution time limit polling intervals">
+<span class="sig-name descname"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span> <span class="pre">polling</span> <span class="pre">intervals</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]execution time limit polling intervals" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]execution</span> <span class="pre">time</span> <span class="pre">limit</span> <span class="pre">polling</span> <span class="pre">intervals</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval_list" title="parsec-type-time_interval_list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span> <span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">PT1M,</span> <span class="pre">PT2M,</span> <span class="pre">PT7M</span></code></p>
+</dd>
+</dl>
+<p>List of intervals after execution time limit to poll jobs.</p>
+<p>If a job exceeds its execution time limit, Cylc can poll
+more frequently to detect the expected job completion quickly.
+The last interval in the list is used repeatedly until the job
+completes.
+Multipliers can be used as shorthand as in the example below.</p>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mi">5</span><span class="o">*</span><span class="n">PT2M</span><span class="p">,</span> <span class="n">PT5M</span>
+</pre></div>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">global.rc[hosts][&lt;host&gt;][batch</span> <span class="pre">systems]</span>
+<span class="pre">[&lt;system&gt;]execution</span> <span class="pre">time</span> <span class="pre">limit</span> <span class="pre">polling</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]ssh command">
+<span class="sig-name descname"><span class="pre">ssh</span> <span class="pre">command</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]ssh command" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]ssh</span> <span class="pre">command</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">ssh</span> <span class="pre">-oBatchMode=yes</span> <span class="pre">-oConnectTimeout=10</span></code></p>
+</dd>
+</dl>
+<p>A communication command used to invoke commands on this
+platform.</p>
+<p>Not used on the workflow host unless you run local tasks
+under another user account.  The value is assumed to be <code class="docutils literal notranslate"><span class="pre">ssh</span></code>
+with some initial options or a command that implements a
+similar interface to <code class="docutils literal notranslate"><span class="pre">ssh</span></code>.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">global.rc[hosts][&lt;host&gt;]ssh</span> <span class="pre">command</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]rsync command">
+<span class="sig-name descname"><span class="pre">rsync</span> <span class="pre">command</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]rsync command" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]rsync</span> <span class="pre">command</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">rsync</span></code></p>
+</dd>
+</dl>
+<p>Command used for file installation.</p>
+<p>This supports POSIX compliant rsync implementations e.g. GNU or
+BSD.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]use login shell">
+<span class="sig-name descname"><span class="pre">use</span> <span class="pre">login</span> <span class="pre">shell</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]use login shell" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]use</span> <span class="pre">login</span> <span class="pre">shell</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-boolean" title="parsec-type-boolean"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">boolean</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">True</span></code></p>
+</dd>
+</dl>
+<p>Whether to use a login shell or not for remote command
+invocation.</p>
+<p>By default, Cylc runs remote SSH commands using a login shell:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ssh<span class="w"> </span>user@host<span class="w"> </span><span class="s1">&#39;bash --login cylc ...&#39;</span>
+</pre></div>
+</div>
+<p>which will source the following files (in order):</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">/etc/profile</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">~/.bash_profile</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">~/.bash_login</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">~/.profile</span></code></p></li>
+</ul>
+<p>For more information on login shells see the “Invocation”
+section of the <a class="reference external" href="https://linux.die.net/man/1/bash">Bash man pages</a>.</p>
+<p>For security reasons some institutions do not allow unattended
+commands to start login shells, so you can turn off this
+behaviour to get:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>ssh<span class="w"> </span>user@host<span class="w"> </span><span class="s1">&#39;cylc ...&#39;</span>
+</pre></div>
+</div>
+<p>which will use the default shell on the remote machine,
+sourcing <code class="docutils literal notranslate"><span class="pre">~/.bashrc</span></code> (or <code class="docutils literal notranslate"><span class="pre">~/.cshrc</span></code>) to set up the
+environment.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">global.rc[hosts][&lt;host&gt;]use</span> <span class="pre">login</span> <span class="pre">shell</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]cylc path">
+<span class="sig-name descname"><span class="pre">cylc</span> <span class="pre">path</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]cylc path" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]cylc</span> <span class="pre">path</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>The path containing the <code class="docutils literal notranslate"><span class="pre">cylc</span></code> executable on a remote
+platform.</p>
+<p>This may be necessary if the <code class="docutils literal notranslate"><span class="pre">cylc</span></code> executable is not in the
+<code class="docutils literal notranslate"><span class="pre">$PATH</span></code> for an <code class="docutils literal notranslate"><span class="pre">ssh</span></code> call.
+Test whether this is the case by using
+<code class="docutils literal notranslate"><span class="pre">ssh</span> <span class="pre">&lt;host&gt;</span> <span class="pre">command</span> <span class="pre">-v</span> <span class="pre">cylc</span></code>.</p>
+<p>This path is used for remote invocations of the <code class="docutils literal notranslate"><span class="pre">cylc</span></code>
+command and is added to the <code class="docutils literal notranslate"><span class="pre">$PATH</span></code> in job scripts
+for the configured platform.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>If <a class="reference internal" href="#global.cylc[platforms][&lt;platform name&gt;]use login shell" title="global.cylc[platforms][&lt;platform name&gt;]use login shell"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">use</span> <span class="pre">login</span> <span class="pre">shell=True</span></code></a> (the default)
+then an alternative approach is to add <code class="docutils literal notranslate"><span class="pre">cylc</span></code> to the
+<code class="docutils literal notranslate"><span class="pre">$PATH</span></code> in the system or user Bash profile files
+(e.g. <code class="docutils literal notranslate"><span class="pre">~/.bash_profile</span></code>).</p>
+</div>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>For multi-version installations this should point to the
+Cylc wrapper script rather than the <code class="docutils literal notranslate"><span class="pre">cylc</span></code> executable
+itself.</p>
+<p>See <a class="reference internal" href="../../installation.html#managing-environments"><span class="std std-ref">Managing Environments</span></a> for more information on
+the wrapper script.</p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>Moved from <code class="docutils literal notranslate"><span class="pre">suite.rc[runtime][&lt;namespace&gt;][job]</span>
+<span class="pre">cylc</span> <span class="pre">executable</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]global init-script">
+<span class="sig-name descname"><span class="pre">global</span> <span class="pre">init-script</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]global init-script" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]global</span> <span class="pre">init-script</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>A per-platform script which is run before other job scripts.</p>
+<p>This should be used sparingly to perform any shell
+configuration that cannot be performed via other means.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>The <code class="docutils literal notranslate"><span class="pre">global</span> <span class="pre">init-script</span></code> now runs <em>before</em> any job
+scripting which introduces caveats outlined below.</p>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">global</span> <span class="pre">init-script</span></code> has the following caveats,
+as compared to the other task <code class="docutils literal notranslate"><span class="pre">script-*</span></code> items:</p>
+<ul class="simple">
+<li><p>The script is not covered by error trapping.</p></li>
+<li><p>The job environment is not available to this script.</p></li>
+<li><p>In debug mode this script will not be included in
+xtrace output.</p></li>
+</ul>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">global.rc[hosts][&lt;host&gt;]global</span> <span class="pre">init-script</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]copyable environment variables">
+<span class="sig-name descname"><span class="pre">copyable</span> <span class="pre">environment</span> <span class="pre">variables</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]copyable environment variables" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]copyable</span> <span class="pre">environment</span> <span class="pre">variables</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>A list containing the names of the environment variables to
+be copied from the scheduler to a job.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">global.rc[hosts][&lt;host&gt;]copyable</span>
+<span class="pre">environment</span> <span class="pre">variables</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]retrieve job logs">
+<span class="sig-name descname"><span class="pre">retrieve</span> <span class="pre">job</span> <span class="pre">logs</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]retrieve job logs" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]retrieve</span> <span class="pre">job</span> <span class="pre">logs</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-boolean" title="parsec-type-boolean"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">boolean</span></code></a></p>
+</dd>
+</dl>
+<p>Whether to retrieve job logs from the job platform.</p>
+<blockquote>
+<div><div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">global.rc[hosts][&lt;host&gt;]retrieve</span> <span class="pre">job</span> <span class="pre">logs</span></code>.
+(Replaces the deprecated setting <a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;][remote]retrieve job logs" title="flow.cylc[runtime][&lt;namespace&gt;][remote]retrieve job logs"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][remote]retrieve</span> <span class="pre">job</span> <span class="pre">logs</span></code></a>.)</p>
+</div>
+</div></blockquote>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]retrieve job logs command">
+<span class="sig-name descname"><span class="pre">retrieve</span> <span class="pre">job</span> <span class="pre">logs</span> <span class="pre">command</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]retrieve job logs command" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]retrieve</span> <span class="pre">job</span> <span class="pre">logs</span> <span class="pre">command</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">rsync</span> <span class="pre">-a</span></code></p>
+</dd>
+</dl>
+<p>The command used to retrieve job logs from the job platform.</p>
+<blockquote>
+<div><div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The default command (<code class="docutils literal notranslate"><span class="pre">rsync</span> <span class="pre">-a</span></code>) means that the retrieved
+files (and the directories above including <code class="docutils literal notranslate"><span class="pre">job/log</span></code>) get
+the same permissions as on the remote host. This can cause
+problems if the remote host uses different permissions to
+the scheduler host (e.g. no world read access). To avoid
+this problem you can set the command to
+<code class="docutils literal notranslate"><span class="pre">rsync</span> <span class="pre">-a</span> <span class="pre">--no-p</span> <span class="pre">--no-g</span> <span class="pre">--chmod=ugo=rwX</span></code> which means the
+retrieved files get the default permissions used on the
+scheduler host.</p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">global.rc[hosts][&lt;host&gt;]retrieve</span> <span class="pre">job</span> <span class="pre">logs</span>
+<span class="pre">command</span></code>.</p>
+</div>
+</div></blockquote>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]retrieve job logs max size">
+<span class="sig-name descname"><span class="pre">retrieve</span> <span class="pre">job</span> <span class="pre">logs</span> <span class="pre">max</span> <span class="pre">size</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]retrieve job logs max size" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]retrieve</span> <span class="pre">job</span> <span class="pre">logs</span> <span class="pre">max</span> <span class="pre">size</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>The maximum size of job logs to retrieve.</p>
+<p>Can be anything
+accepted by the <code class="docutils literal notranslate"><span class="pre">--max-size=SIZE</span></code> option of <code class="docutils literal notranslate"><span class="pre">rsync</span></code>.</p>
+<blockquote>
+<div><div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">global.rc[hosts][&lt;host&gt;]retrieve</span> <span class="pre">job</span> <span class="pre">logs</span>
+<span class="pre">max</span> <span class="pre">size</span></code>.
+(Replaces the deprecated setting <a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;][remote]retrieve job logs max size" title="flow.cylc[runtime][&lt;namespace&gt;][remote]retrieve job logs max size"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][remote]retrieve</span> <span class="pre">job</span> <span class="pre">logs</span> <span class="pre">max</span> <span class="pre">size</span></code></a>.)</p>
+</div>
+</div></blockquote>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]retrieve job logs retry delays">
+<span class="sig-name descname"><span class="pre">retrieve</span> <span class="pre">job</span> <span class="pre">logs</span> <span class="pre">retry</span> <span class="pre">delays</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]retrieve job logs retry delays" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]retrieve</span> <span class="pre">job</span> <span class="pre">logs</span> <span class="pre">retry</span> <span class="pre">delays</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval_list" title="parsec-type-time_interval_list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span> <span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Configure retries for unsuccessful job log retrieval.</p>
+<p>If there is a significant delay between job completion and
+logs appearing in their final location (due to the job runner)
+you can configure time intervals here to delay the first and
+subsequent retrieval attempts.</p>
+<blockquote>
+<div><div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">global.rc[hosts][&lt;host&gt;]retrieve</span> <span class="pre">job</span> <span class="pre">logs</span>
+<span class="pre">retry</span> <span class="pre">delays</span></code>.
+(Replaces the deprecated setting <a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;][remote]retrieve job logs retry delays" title="flow.cylc[runtime][&lt;namespace&gt;][remote]retrieve job logs retry delays"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][remote]retrieve</span> <span class="pre">job</span> <span class="pre">logs</span> <span class="pre">retry</span> <span class="pre">delays</span></code></a>.)</p>
+</div>
+</div></blockquote>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]tail command template">
+<span class="sig-name descname"><span class="pre">tail</span> <span class="pre">command</span> <span class="pre">template</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]tail command template" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]tail</span> <span class="pre">command</span> <span class="pre">template</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">tail</span> <span class="pre">-n</span> <span class="pre">+1</span> <span class="pre">--follow=name</span> <span class="pre">%(filename)s</span></code></p>
+</dd>
+</dl>
+<p>A command template (with <code class="docutils literal notranslate"><span class="pre">%(filename)s</span></code> substitution) to
+tail-follow job logs this platform, by <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">cat-log</span></code>.</p>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>You are are unlikely to need to override this. Doing so may
+adversely affect the UI log view.</p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">global.rc[hosts][&lt;host&gt;]tail</span> <span class="pre">command</span> <span class="pre">template</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]err tailer">
+<span class="sig-name descname"><span class="pre">err</span> <span class="pre">tailer</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]err tailer" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]err</span> <span class="pre">tailer</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>A command template (with <code class="docutils literal notranslate"><span class="pre">%(job_id)s</span></code> substitution) that can
+be used to tail-follow the stderr stream of a running job if
+SYSTEM does not use the normal log file location while the job
+is running.  This setting overrides
+<a class="reference internal" href="#global.cylc[platforms][&lt;platform name&gt;]tail command template" title="global.cylc[platforms][&lt;platform name&gt;]tail command template"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">tail</span> <span class="pre">command</span> <span class="pre">template</span></code></a>.</p>
+<p>Examples:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># for PBS</span>
+<span class="n">qcat</span> <span class="o">-</span><span class="n">f</span> <span class="o">-</span><span class="n">e</span> <span class="o">%</span><span class="p">(</span><span class="n">job_id</span><span class="p">)</span><span class="n">s</span>
+</pre></div>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">global.rc[hosts][&lt;host&gt;][batch</span> <span class="pre">systems]</span>
+<span class="pre">[&lt;system&gt;]err</span> <span class="pre">tailer</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]out tailer">
+<span class="sig-name descname"><span class="pre">out</span> <span class="pre">tailer</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]out tailer" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]out</span> <span class="pre">tailer</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>A command template (with <code class="docutils literal notranslate"><span class="pre">%(job_id)s</span></code> substitution) that can
+be used to tail-follow the stdout stream of a running job if
+SYSTEM does not use the normal log file location while the job
+is running.  This setting overrides
+<a class="reference internal" href="#global.cylc[platforms][&lt;platform name&gt;]tail command template" title="global.cylc[platforms][&lt;platform name&gt;]tail command template"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">tail</span> <span class="pre">command</span> <span class="pre">template</span></code></a>.</p>
+<p>Examples:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># for PBS</span>
+<span class="n">qcat</span> <span class="o">-</span><span class="n">f</span> <span class="o">-</span><span class="n">o</span> <span class="o">%</span><span class="p">(</span><span class="n">job_id</span><span class="p">)</span><span class="n">s</span>
+</pre></div>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">global.rc[hosts][&lt;host&gt;][batch</span> <span class="pre">systems]</span>
+<span class="pre">[&lt;system&gt;]out</span> <span class="pre">tailer</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]err viewer">
+<span class="sig-name descname"><span class="pre">err</span> <span class="pre">viewer</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]err viewer" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]err</span> <span class="pre">viewer</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>A command template (with <code class="docutils literal notranslate"><span class="pre">%(job_id)s</span></code> substitution) that can
+be used to view the stderr stream of a running job if SYSTEM
+does not use the normal log file location while the job is
+running.</p>
+<p>Examples:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># for PBS</span>
+<span class="n">qcat</span> <span class="o">-</span><span class="n">e</span> <span class="o">%</span><span class="p">(</span><span class="n">job_id</span><span class="p">)</span><span class="n">s</span>
+</pre></div>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">global.rc[hosts][&lt;host&gt;][batch</span> <span class="pre">systems]</span>
+<span class="pre">[&lt;system&gt;]err</span> <span class="pre">viewer</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]out viewer">
+<span class="sig-name descname"><span class="pre">out</span> <span class="pre">viewer</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]out viewer" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]out</span> <span class="pre">viewer</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>A command template (with <code class="docutils literal notranslate"><span class="pre">%(job_id)s</span></code> substitution) that can
+be used to view the stdout stream of a running job if SYSTEM
+does not use the normal log file location while the job is
+running.</p>
+<p>Examples:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># for PBS</span>
+<span class="n">qcat</span> <span class="o">-</span><span class="n">o</span> <span class="o">%</span><span class="p">(</span><span class="n">job_id</span><span class="p">)</span><span class="n">s</span>
+</pre></div>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">global.rc[hosts][&lt;host&gt;][batch</span> <span class="pre">systems]</span>
+<span class="pre">[&lt;system&gt;]out</span> <span class="pre">viewer</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]job name length maximum">
+<span class="sig-name descname"><span class="pre">job</span> <span class="pre">name</span> <span class="pre">length</span> <span class="pre">maximum</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]job name length maximum" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]job</span> <span class="pre">name</span> <span class="pre">length</span> <span class="pre">maximum</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-integer" title="parsec-type-integer"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">integer</span></code></a></p>
+</dd>
+</dl>
+<p>The maximum length for job name acceptable by a job runner on
+a given host.  Currently, this setting is only meaningful for
+PBS jobs. For example, PBS 12 or older will fail a job submit
+if the job name has more than 15 characters; whereas PBS 13
+accepts up to 236 characters.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">global.rc[hosts][&lt;host&gt;][batch</span> <span class="pre">systems]</span>
+<span class="pre">[&lt;system&gt;]job</span> <span class="pre">name</span> <span class="pre">length</span> <span class="pre">maximum</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]install target">
+<span class="sig-name descname"><span class="pre">install</span> <span class="pre">target</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]install target" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]install</span> <span class="pre">target</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>This defaults to the platform name. This will be used as the
+target for remote file installation.
+For example, if Platform_A shares a file system with localhost:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[Platform_A]]</span>
+        <span class="nv">install target </span><span class="o">=</span><span class="s"> localhost</span>
+</pre></div>
+</div>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]clean job submission environment">
+<span class="sig-name descname"><span class="pre">clean</span> <span class="pre">job</span> <span class="pre">submission</span> <span class="pre">environment</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]clean job submission environment" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]clean</span> <span class="pre">job</span> <span class="pre">submission</span> <span class="pre">environment</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-boolean" title="parsec-type-boolean"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">boolean</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">False</span></code></p>
+</dd>
+</dl>
+<p>Job submission subprocesses inherit their parent environment by
+default. Remote jobs inherit the default non-interactive shell
+environment for their platform. Jobs on the scheduler host
+inherit the scheduler environment (unless their job runner
+prevents this).</p>
+<p>If, for example, the <code class="docutils literal notranslate"><span class="pre">$PYTHON</span></code> variable is different on the
+scheduler and the remote host the same program  may run in
+different ways.</p>
+<p>We recommend using a clean job submission environment for
+consistent handling of local and remote jobs. However,
+this is not the default behaviour because it prevents
+local jobs from running, unless <code class="docutils literal notranslate"><span class="pre">$PATH</span></code> contains the
+<code class="docutils literal notranslate"><span class="pre">cylc</span></code> wrapper script.</p>
+<p>Specific environment variables can be singled out to pass
+through to the clean environment, if necessary.</p>
+<p>A standard set of executable paths is passed through to clean
+environments, and can be added to if necessary.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]job submission environment pass-through">
+<span class="sig-name descname"><span class="pre">job</span> <span class="pre">submission</span> <span class="pre">environment</span> <span class="pre">pass-through</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]job submission environment pass-through" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]job</span> <span class="pre">submission</span> <span class="pre">environment</span> <span class="pre">pass-through</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>List of environment variable names to pass through to
+job submission subprocesses.</p>
+<p><code class="docutils literal notranslate"><span class="pre">$HOME</span></code> is passed automatically.</p>
+<p>You are unlikely to need this.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]job submission executable paths">
+<span class="sig-name descname"><span class="pre">job</span> <span class="pre">submission</span> <span class="pre">executable</span> <span class="pre">paths</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]job submission executable paths" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]job</span> <span class="pre">submission</span> <span class="pre">executable</span> <span class="pre">paths</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Additional executable locations to pass to the job
+submission subprocess beyond the standard locations
+<code class="docutils literal notranslate"><span class="pre">/bin</span></code>, <code class="docutils literal notranslate"><span class="pre">/usr/bin</span></code>, <code class="docutils literal notranslate"><span class="pre">/usr/local/bin</span></code>, <code class="docutils literal notranslate"><span class="pre">/sbin</span></code>, <code class="docutils literal notranslate"><span class="pre">/usr/sbin</span></code>, <code class="docutils literal notranslate"><span class="pre">/usr/local/sbin</span></code>.
+You are unlikely to need this.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]max batch submit size">
+<span class="sig-name descname"><span class="pre">max</span> <span class="pre">batch</span> <span class="pre">submit</span> <span class="pre">size</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]max batch submit size" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]max</span> <span class="pre">batch</span> <span class="pre">submit</span> <span class="pre">size</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-integer" title="parsec-type-integer"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">integer</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">100</span></code></p>
+</dd>
+</dl>
+<p>Limits the maximum number of jobs that can be submitted at
+once.</p>
+<p>Where possible Cylc will batch together job submissions to
+the same platform for efficiency. Submitting very large
+numbers of jobs can cause problems with some submission
+systems so for safety there is an upper limit on the number
+of job submissions which can be batched together.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;]ssh forward environment variables">
+<span class="sig-name descname"><span class="pre">ssh</span> <span class="pre">forward</span> <span class="pre">environment</span> <span class="pre">variables</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>]ssh forward environment variables" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]ssh</span> <span class="pre">forward</span> <span class="pre">environment</span> <span class="pre">variables</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>A list containing the names of the environment variables to
+forward with SSH connections to the workflow host from
+the host running ‘cylc play’</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.3.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;][selection]">
+<span class="sig-name descname"><span class="pre">[selection]</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>][selection]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;][selection]</span></code></p>
+</dd>
+</dl>
+<p>How to select a host from the list of platform hosts.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;][selection]method">
+<span class="sig-name descname"><span class="pre">method</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>][selection]method" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;][selection]method</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">random</span></code></p>
+</dd>
+<dt class="field-even">Options<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">random</span></code>, <code class="docutils literal notranslate"><span class="pre">definition</span> <span class="pre">order</span></code></p>
+</dd>
+</dl>
+<p>Host selection method for the platform.</p>
+<p class="rubric">Available options</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">random</span></code>: Choose randomly from the list of hosts.
+This is suitable for a pool of identical hosts.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">definition</span> <span class="pre">order</span></code>: Take the first host in the list
+unless that host was unreachable. In many cases
+this is likely to cause load imbalances, but might
+be appropriate if following the pattern
+<code class="docutils literal notranslate"><span class="pre">hosts</span> <span class="pre">=</span> <span class="pre">main,</span> <span class="pre">backup,</span> <span class="pre">failsafe</span></code>.</p></li>
+</ul>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;][directives]">
+<span class="sig-name descname"><span class="pre">[directives]</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>][directives]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;][directives]</span></code></p>
+</dd>
+<dt class="field-even">Defaults For<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;][directives]" title="flow.cylc[runtime][&lt;namespace&gt;][directives]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][directives]</span></code></a>.</p>
+</dd>
+</dl>
+<p>Job runner (batch scheduler) directives.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][&lt;platform name&gt;][directives]&lt;directive&gt;">
+<span class="sig-name descname"><span class="pre">&lt;directive&gt;</span></span><a class="headerlink" href="#global.cylc[platforms][<platform name>][directives]<directive>" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;][directives]&lt;directive&gt;</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Example directives for the built-in job runner handlers are shown in
+<a class="reference internal" href="../../user-guide/task-implementation/job-submission.html#availablemethods"><span class="std std-ref">Supported Job Submission Methods</span></a>.</p>
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][localhost]">
+<span class="sig-name descname"><span class="pre">[localhost]</span></span><a class="headerlink" href="#global.cylc[platforms][localhost]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][localhost]</span></code></p>
+</dd>
+<dt class="field-even">Inherits<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#global.cylc[platforms][&lt;platform name&gt;]" title="global.cylc[platforms][&lt;platform name&gt;]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]</span></code></a></p>
+</dd>
+</dl>
+<p>A default platform for running jobs on the the scheduler host.</p>
+<p>This platform configures the host on which
+<a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">schedulers</span></a> run. By default this is the
+host where <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> is run, however, we often configure
+Cylc to start schedulers on dedicated hosts by configuring
+<a class="reference internal" href="#global.cylc[scheduler][run hosts]available" title="global.cylc[scheduler][run hosts]available"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][run</span> <span class="pre">hosts]available</span></code></a>.</p>
+<p>This platform affects connections made to the scheduler host and
+any jobs run on it.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][localhost]hosts">
+<span class="sig-name descname"><span class="pre">hosts</span></span><a class="headerlink" href="#global.cylc[platforms][localhost]hosts" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][localhost]hosts</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">localhost</span></code></p>
+</dd>
+</dl>
+<p>List of hosts for the localhost platform. You are unlikely to
+need to change this.</p>
+<p>The scheduler hosts are configured by
+<a class="reference internal" href="#global.cylc[scheduler][run hosts]available" title="global.cylc[scheduler][run hosts]available"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][run</span> <span class="pre">hosts]available</span></code></a>.
+See <a class="reference internal" href="../../user-guide/writing-workflows/scheduler.html#submitting-workflows-to-a-pool-of-hosts"><span class="std std-ref">Submitting Workflows To a Pool Of Hosts</span></a> for
+more information.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="#global.cylc[platforms][&lt;platform name&gt;]hosts" title="global.cylc[platforms][&lt;platform name&gt;]hosts"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]hosts</span></code></a></p>
+</div>
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][localhost][selection]">
+<span class="sig-name descname"><span class="pre">[selection]</span></span><a class="headerlink" href="#global.cylc[platforms][localhost][selection]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][localhost][selection]</span></code></p>
+</dd>
+<dt class="field-even">Inherits<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#global.cylc[platforms][&lt;platform name&gt;][selection]" title="global.cylc[platforms][&lt;platform name&gt;][selection]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;][selection]</span></code></a></p>
+</dd>
+</dl>
+<p>How to select a host on the “localhost” platform.You are unlikely to need to change this.:cylc:conf:<a class="reference internal" href="#global.cylc[platforms][&lt;platform name&gt;][selection]" title="global.cylc[platforms][&lt;platform name&gt;][selection]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;][selection]</span></code></a></p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platforms][localhost][selection]method">
+<span class="sig-name descname"><span class="pre">method</span></span><a class="headerlink" href="#global.cylc[platforms][localhost][selection]method" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][localhost][selection]method</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">definition</span> <span class="pre">order</span></code></p>
+</dd>
+</dl>
+<p>Host selection method for the “localhost” platform.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="#global.cylc[platforms][&lt;platform name&gt;][selection]method" title="global.cylc[platforms][&lt;platform name&gt;][selection]method"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;][selection]method</span></code></a></p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[platform groups]">
+<span class="sig-name descname"><span class="pre">[platform</span> <span class="pre">groups]</span></span><a class="headerlink" href="#global.cylc[platform groups]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platform</span> <span class="pre">groups]</span></code></p>
+</dd>
+</dl>
+<p>Platform groups allow you to group together platforms which would
+all be suitable for a given job.</p>
+<p>When Cylc submits a job it will pick a platform from a group.
+Cylc will then use the selected platform for all interactions with
+that job.</p>
+<p>For example, if you have a group of computers
+without a shared file system, but otherwise identical called
+<code class="docutils literal notranslate"><span class="pre">bigmachine01..02</span></code> you might set up a platform group
+<code class="docutils literal notranslate"><span class="pre">[[bigmachines]]platforms=bigmachine01,</span> <span class="pre">bigmachine02</span></code>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../7-to-8/major-changes/platforms.html#majorchangesplatforms"><span class="std std-ref">Platforms</span></a> in the Cylc 8 migration guide.</p></li>
+<li><p><a class="reference internal" href="writing-platform-configs.html#adminguide-platformconfigs"><span class="std std-ref">Platform Configuration</span></a>, an guide to platform
+configurations.</p></li>
+</ul>
+</div>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[platform groups][&lt;group&gt;]">
+<span class="sig-name descname"><span class="pre">[&lt;group&gt;]</span></span><a class="headerlink" href="#global.cylc[platform groups][<group>]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platform</span> <span class="pre">groups][&lt;group&gt;]</span></code></p>
+</dd>
+</dl>
+<p>The name of a <a class="reference internal" href="#global.cylc[platform groups]" title="global.cylc[platform groups]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">platform</span> <span class="pre">group</span></code></a>.</p>
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[platform groups][&lt;group&gt;][meta]">
+<span class="sig-name descname"><span class="pre">[meta]</span></span><a class="headerlink" href="#global.cylc[platform groups][<group>][meta]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platform</span> <span class="pre">groups][&lt;group&gt;][meta]</span></code></p>
+</dd>
+</dl>
+<p>Metadata for this platform or platform group.</p>
+<p>Allows writers of platform configurations to add information
+about platform usage. There are no-preset items because
+Cylc does not use any platform (or group) metadata internally.</p>
+<p>Users can then see information about defined platforms using:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">config</span> <span class="o">-</span><span class="n">i</span> <span class="p">[</span><span class="n">platforms</span><span class="p">]</span>
+<span class="n">cylc</span> <span class="n">config</span> <span class="o">-</span><span class="n">i</span> <span class="p">[</span><span class="n">platform</span> <span class="n">groups</span><span class="p">]</span>
+</pre></div>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="writing-platform-configs.html#adminguide-platformconfigs"><span class="std std-ref">Platform Configuration</span></a></p>
+</div>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platform groups][&lt;group&gt;][meta]&lt;custom metadata&gt;">
+<span class="sig-name descname"><span class="pre">&lt;custom</span> <span class="pre">metadata&gt;</span></span><a class="headerlink" href="#global.cylc[platform groups][<group>][meta]<custom metadata>" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platform</span> <span class="pre">groups][&lt;group&gt;][meta]&lt;custom</span> <span class="pre">metadata&gt;</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Any user-defined metadata item.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platform groups][&lt;group&gt;]platforms">
+<span class="sig-name descname"><span class="pre">platforms</span></span><a class="headerlink" href="#global.cylc[platform groups][<group>]platforms" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platform</span> <span class="pre">groups][&lt;group&gt;]platforms</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>A list of platforms which can be selected if
+<a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;]platform" title="flow.cylc[runtime][&lt;namespace&gt;]platform"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]platform</span></code></a> matches
+the name of this platform group.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Some job runners (“background”, “at”) require a single-host
+platform, because the job ID is only valid on the submission
+host.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[platform groups][&lt;group&gt;][selection]">
+<span class="sig-name descname"><span class="pre">[selection]</span></span><a class="headerlink" href="#global.cylc[platform groups][<group>][selection]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platform</span> <span class="pre">groups][&lt;group&gt;][selection]</span></code></p>
+</dd>
+</dl>
+<p>Sets how platforms are selected from platform groups.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[platform groups][&lt;group&gt;][selection]method">
+<span class="sig-name descname"><span class="pre">method</span></span><a class="headerlink" href="#global.cylc[platform groups][<group>][selection]method" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[platform</span> <span class="pre">groups][&lt;group&gt;][selection]method</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">random</span></code></p>
+</dd>
+<dt class="field-even">Options<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">random</span></code>, <code class="docutils literal notranslate"><span class="pre">definition</span> <span class="pre">order</span></code></p>
+</dd>
+</dl>
+<p>Method for selecting platform from group.</p>
+<p>options:</p>
+<ul class="simple">
+<li><p>random: Suitable for an identical pool of platforms.</p></li>
+<li><p>definition order: Pick the first available platform
+from the list.</p></li>
+</ul>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="global.cylc[task events]">
+<span class="sig-name descname"><span class="pre">[task</span> <span class="pre">events]</span></span><a class="headerlink" href="#global.cylc[task events]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[task</span> <span class="pre">events]</span></code></p>
+</dd>
+<dt class="field-even">Defaults For<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;][events]" title="flow.cylc[runtime][&lt;namespace&gt;][events]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]</span></code></a>.</p>
+</dd>
+</dl>
+<p>Configure the task event handling system.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[task events]execution timeout">
+<span class="sig-name descname"><span class="pre">execution</span> <span class="pre">timeout</span></span><a class="headerlink" href="#global.cylc[task events]execution timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[task</span> <span class="pre">events]execution</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;][events]execution timeout" title="flow.cylc[runtime][&lt;namespace&gt;][events]execution timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]execution</span> <span class="pre">timeout</span></code></a>.</p>
+</dd>
+</dl>
+<p>If a task has not finished after the specified interval, the execution
+timeout event handler(s) will be called.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[task events]handlers">
+<span class="sig-name descname"><span class="pre">handlers</span></span><a class="headerlink" href="#global.cylc[task events]handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[task</span> <span class="pre">events]handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;][events]handlers" title="flow.cylc[runtime][&lt;namespace&gt;][events]handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]handlers</span></code></a>.</p>
+</dd>
+</dl>
+<p>Commands to run on task <a class="reference internal" href="#global.cylc[task events]handler events" title="global.cylc[task events]handler events"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">handler</span> <span class="pre">events</span></code></a>.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[task events]handler events">
+<span class="sig-name descname"><span class="pre">handler</span> <span class="pre">events</span></span><a class="headerlink" href="#global.cylc[task events]handler events" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[task</span> <span class="pre">events]handler</span> <span class="pre">events</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;][events]handler events" title="flow.cylc[runtime][&lt;namespace&gt;][events]handler events"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]handler</span> <span class="pre">events</span></code></a>.</p>
+</dd>
+</dl>
+<p>A list of events for which <a class="reference internal" href="#global.cylc[task events]handlers" title="global.cylc[task events]handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">handlers</span></code></a> are run.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[task events]handler retry delays">
+<span class="sig-name descname"><span class="pre">handler</span> <span class="pre">retry</span> <span class="pre">delays</span></span><a class="headerlink" href="#global.cylc[task events]handler retry delays" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[task</span> <span class="pre">events]handler</span> <span class="pre">retry</span> <span class="pre">delays</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval_list" title="parsec-type-time_interval_list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span> <span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;][events]handler retry delays" title="flow.cylc[runtime][&lt;namespace&gt;][events]handler retry delays"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]handler</span> <span class="pre">retry</span> <span class="pre">delays</span></code></a>.</p>
+</dd>
+</dl>
+<p>Specify an initial delay before running an event handler command and
+any retry delays in case the command returns a non-zero code.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[task events]mail events">
+<span class="sig-name descname"><span class="pre">mail</span> <span class="pre">events</span></span><a class="headerlink" href="#global.cylc[task events]mail events" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[task</span> <span class="pre">events]mail</span> <span class="pre">events</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;][events]mail events" title="flow.cylc[runtime][&lt;namespace&gt;][events]mail events"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]mail</span> <span class="pre">events</span></code></a>.</p>
+</dd>
+</dl>
+<p>Specify the events for which notification emails should be sent.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="global.cylc[task events]submission timeout">
+<span class="sig-name descname"><span class="pre">submission</span> <span class="pre">timeout</span></span><a class="headerlink" href="#global.cylc[task events]submission timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">global.cylc[task</span> <span class="pre">events]submission</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+<dt class="field-odd">Default For<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;][events]submission timeout" title="flow.cylc[runtime][&lt;namespace&gt;][events]submission timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]submission</span> <span class="pre">timeout</span></code></a>.</p>
+</dd>
+</dl>
+<p>If a task has not started after the specified interval, the submission
+timeout event handler(s) will be called.</p>
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+</dd></section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="workflow.html" class="btn btn-neutral float-left" title="Workflow Configuration" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="ui-server.html" class="btn btn-neutral float-right" title="UI Server Configuration" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/config/global";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/config/index.html b/nightly_8.3/html/reference/config/index.html
new file mode 100644
index 00000000000..abfaad0b008
--- /dev/null
+++ b/nightly_8.3/html/reference/config/index.html
@@ -0,0 +1,198 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Configuration &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="The .cylc File Format" href="file-format.html" />
+    <link rel="prev" title="Changes" href="../changes.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../changes.html">Changes</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Configuration</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="file-format.html">The .cylc File Format</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow.html">Workflow Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="global.html">Global Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui-server.html">UI Server Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="types.html">Cylc Configuration Data Types</a></li>
+<li class="toctree-l3"><a class="reference internal" href="writing-platform-configs.html">Platform Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../api/index.html">Cylc API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Reference</a></li>
+      <li class="breadcrumb-item active">Configuration</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/reference/config/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="configuration">
+<h1>Configuration<a class="headerlink" href="#configuration" title="Link to this heading"></a></h1>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="file-format.html">The .cylc File Format</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="file-format.html#syntax">Syntax</a></li>
+<li class="toctree-l2"><a class="reference internal" href="file-format.html#shorthand">Shorthand</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="workflow.html">Workflow Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="global.html">Global Configuration</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ui-server.html">UI Server Configuration</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="ui-server.html#cylc.uiserver.app.CylcUIServer"><code class="docutils literal notranslate"><span class="pre">CylcUIServer</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="types.html">Cylc Configuration Data Types</a></li>
+<li class="toctree-l1"><a class="reference internal" href="writing-platform-configs.html">Platform Configuration</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="writing-platform-configs.html#writing-platform-configurations">Writing Platform Configurations</a></li>
+<li class="toctree-l2"><a class="reference internal" href="writing-platform-configs.html#example-platform-configurations">Example Platform Configurations</a></li>
+<li class="toctree-l2"><a class="reference internal" href="writing-platform-configs.html#symlinking-directories">Symlinking Directories</a></li>
+<li class="toctree-l2"><a class="reference internal" href="writing-platform-configs.html#advanced-platform-example">Advanced Platform Example</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../changes.html" class="btn btn-neutral float-left" title="Changes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="file-format.html" class="btn btn-neutral float-right" title="The .cylc File Format" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/config/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/config/shorthand.html b/nightly_8.3/html/reference/config/shorthand.html
new file mode 100644
index 00000000000..25c7947643a
--- /dev/null
+++ b/nightly_8.3/html/reference/config/shorthand.html
@@ -0,0 +1,161 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>&lt;no title&gt; &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">&lt;no title&gt;</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/reference/config/shorthand.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <p>We often use a compact single-line notation to refer to nested config items:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">[section]</span></code></dt><dd><p>An entire section.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">[section]setting</span></code></dt><dd><p>A setting within a section.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">[section]setting=value</span></code></dt><dd><p>The value of a setting within a section.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">[section][sub-section]another-setting</span></code></dt><dd><p>A setting within a sub-section.</p>
+</dd>
+</dl>
+<p>In the file, however, section headings need additional brackets at each level.</p>
+
+
+           </div>
+          </div>
+          <footer>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/config/shorthand";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/config/types.html b/nightly_8.3/html/reference/config/types.html
new file mode 100644
index 00000000000..65d56208105
--- /dev/null
+++ b/nightly_8.3/html/reference/config/types.html
@@ -0,0 +1,390 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Cylc Configuration Data Types &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Platform Configuration" href="writing-platform-configs.html" />
+    <link rel="prev" title="UI Server Configuration" href="ui-server.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../changes.html">Changes</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Configuration</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="file-format.html">The .cylc File Format</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow.html">Workflow Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="global.html">Global Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui-server.html">UI Server Configuration</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Cylc Configuration Data Types</a></li>
+<li class="toctree-l3"><a class="reference internal" href="writing-platform-configs.html">Platform Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../api/index.html">Cylc API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Reference</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Configuration</a></li>
+      <li class="breadcrumb-item active">Cylc Configuration Data Types</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/reference/config/types.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="cylc-configuration-data-types">
+<h1>Cylc Configuration Data Types<a class="headerlink" href="#cylc-configuration-data-types" title="Link to this heading"></a></h1>
+<p>The Cylc configuration file format supports the following data types.</p>
+<dd><dl class="parsec type">
+<dt class="sig sig-object parsec" id="parsec-type-absolute_host_list">
+<span class="sig-name descname"><span class="pre">absolute</span> <span class="pre">host</span> <span class="pre">list</span></span><a class="headerlink" href="#parsec-type-absolute_host_list" title="Link to this definition"></a></dt>
+<dd><p>A comma separated list of hostnames which does not contain any self references (i.e. does not contain localhost, 127.0.0.1, 0.0.0.0)</p>
+<p class="rubric">Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">foo</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">bar</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">baz</span></code></p></li>
+</ul>
+</dd></dl>
+
+<dl class="parsec type">
+<dt class="sig sig-object parsec" id="parsec-type-boolean">
+<span class="sig-name descname"><span class="pre">boolean</span></span><a class="headerlink" href="#parsec-type-boolean" title="Link to this definition"></a></dt>
+<dd><p>A boolean in Python format</p>
+<p class="rubric">Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">True</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">False</span></code></p></li>
+</ul>
+</dd></dl>
+
+<dl class="parsec type">
+<dt class="sig sig-object parsec" id="parsec-type-cycle_point">
+<span class="sig-name descname"><span class="pre">cycle</span> <span class="pre">point</span></span><a class="headerlink" href="#parsec-type-cycle_point" title="Link to this definition"></a></dt>
+<dd><p>An integer or date-time cycle point as appropriate.</p>
+<p class="rubric">Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">1</span></code> - An integer cycle point.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">2000-01-01T00:00Z</span></code> - A date-time cycle point.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">now</span></code> - The current date-time.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">next(T-00)</span></code> - The current date-time rounded up to the nearest whole hour.</p></li>
+</ul>
+<p class="rubric">See Also:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../glossary.html#term-cycle-point"><span class="xref std std-term">cycle point</span></a></p></li>
+<li><p><a class="reference internal" href="../../glossary.html#term-ISO8601-duration"><span class="xref std std-term">ISO8601 duration</span></a></p></li>
+</ul>
+</dd></dl>
+
+<dl class="parsec type">
+<dt class="sig sig-object parsec" id="parsec-type-cycle_point_format">
+<span class="sig-name descname"><span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">format</span></span><a class="headerlink" href="#parsec-type-cycle_point_format" title="Link to this definition"></a></dt>
+<dd><p>An time format for date-time cycle points in <code class="docutils literal notranslate"><span class="pre">isodatetime</span></code> “print” or “parse” format. See <code class="docutils literal notranslate"><span class="pre">isodatetime</span> <span class="pre">--help</span></code> for more information.</p>
+<p class="rubric">Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">CCYYMM</span></code> - <code class="docutils literal notranslate"><span class="pre">isodatetime</span></code> print format.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">%Y%m</span></code> - <code class="docutils literal notranslate"><span class="pre">isodatetime</span></code> parse format.</p></li>
+</ul>
+</dd></dl>
+
+<dl class="parsec type">
+<dt class="sig sig-object parsec" id="parsec-type-cycle_point_time_zone">
+<span class="sig-name descname"><span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">time</span> <span class="pre">zone</span></span><a class="headerlink" href="#parsec-type-cycle_point_time_zone" title="Link to this definition"></a></dt>
+<dd><p>A time zone for date-time cycle points in ISO8601 format.</p>
+<p class="rubric">Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">Z</span></code> - UTC / GMT.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">+13</span></code> - UTC plus 13 hours.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-0830</span></code> - UTC minus 8 hours and 30 minutes.</p></li>
+</ul>
+</dd></dl>
+
+<dl class="parsec type">
+<dt class="sig sig-object parsec" id="parsec-type-float">
+<span class="sig-name descname"><span class="pre">float</span></span><a class="headerlink" href="#parsec-type-float" title="Link to this definition"></a></dt>
+<dd><p>A number in integer, decimal or exponential format</p>
+<p class="rubric">Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">1</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">1.1</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">1.1e11</span></code></p></li>
+</ul>
+</dd></dl>
+
+<dl class="parsec type">
+<dt class="sig sig-object parsec" id="parsec-type-float_list">
+<span class="sig-name descname"><span class="pre">float</span> <span class="pre">list</span></span><a class="headerlink" href="#parsec-type-float_list" title="Link to this definition"></a></dt>
+<dd><p>A comma separated list of floats.</p>
+<p class="rubric">Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">1,</span> <span class="pre">1.1,</span> <span class="pre">1.1e11</span></code></p></li>
+</ul>
+</dd></dl>
+
+<dl class="parsec type">
+<dt class="sig sig-object parsec" id="parsec-type-integer">
+<span class="sig-name descname"><span class="pre">integer</span></span><a class="headerlink" href="#parsec-type-integer" title="Link to this definition"></a></dt>
+<dd><p>An integer.</p>
+<p class="rubric">Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">1</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">2</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">3</span></code></p></li>
+</ul>
+</dd></dl>
+
+<dl class="parsec type">
+<dt class="sig sig-object parsec" id="parsec-type-integer_list">
+<span class="sig-name descname"><span class="pre">integer</span> <span class="pre">list</span></span><a class="headerlink" href="#parsec-type-integer_list" title="Link to this definition"></a></dt>
+<dd><p>A comma separated list of integers.</p>
+<p class="rubric">Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">1,</span> <span class="pre">2,</span> <span class="pre">3</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">1..3</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">1..3,</span> <span class="pre">7</span></code></p></li>
+</ul>
+</dd></dl>
+
+<dl class="parsec type">
+<dt class="sig sig-object parsec" id="parsec-type-time_interval">
+<span class="sig-name descname"><span class="pre">time</span> <span class="pre">interval</span></span><a class="headerlink" href="#parsec-type-time_interval" title="Link to this definition"></a></dt>
+<dd><p>An ISO8601 duration.</p>
+<p class="rubric">Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">P1Y</span></code> - Every year.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">PT6H</span></code> - Every six hours.</p></li>
+</ul>
+<p class="rubric">See Also:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../glossary.html#term-ISO8601-duration"><span class="xref std std-term">ISO8601 duration</span></a></p></li>
+</ul>
+</dd></dl>
+
+<dl class="parsec type">
+<dt class="sig sig-object parsec" id="parsec-type-time_interval_list">
+<span class="sig-name descname"><span class="pre">time</span> <span class="pre">interval</span> <span class="pre">list</span></span><a class="headerlink" href="#parsec-type-time_interval_list" title="Link to this definition"></a></dt>
+<dd><p>A comma separated list of time intervals. These can include multipliers.</p>
+<p class="rubric">Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">P1Y,</span> <span class="pre">P2Y,</span> <span class="pre">P3Y</span></code> - After 1, 2 and 3 years.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">PT1M,</span> <span class="pre">2*PT1H,</span> <span class="pre">P1D</span></code> - After 1 minute, 1 hour, 1 hour and 1 day</p></li>
+</ul>
+<p class="rubric">See Also:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../glossary.html#term-ISO8601-duration"><span class="xref std std-term">ISO8601 duration</span></a></p></li>
+</ul>
+</dd></dl>
+
+<dl class="parsec type">
+<dt class="sig sig-object parsec" id="parsec-type-parameter_list">
+<span class="sig-name descname"><span class="pre">parameter</span> <span class="pre">list</span></span><a class="headerlink" href="#parsec-type-parameter_list" title="Link to this definition"></a></dt>
+<dd><p>A comma separated list of Cylc parameter values. This can include strings, integers and integer ranges.</p>
+<p class="rubric">Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">foo,</span> <span class="pre">bar,</span> <span class="pre">baz</span></code> - List of string parameters.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">1,</span> <span class="pre">2,</span> <span class="pre">3</span></code> - List of integer parameters.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">1..3</span></code> - The same as 1, 2, 3.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">1..5..2</span></code> - The same as 1, 3, 5.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">1..5..2,</span> <span class="pre">8</span></code> - Range and integers can be mixed.</p></li>
+</ul>
+<p class="rubric">See Also:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../user-guide/writing-workflows/parameterized-tasks.html#user-guide-param"><span class="std std-ref">Task Parameters</span></a></p></li>
+</ul>
+</dd></dl>
+
+<dl class="parsec type">
+<dt class="sig sig-object parsec" id="parsec-type-integer_range">
+<span class="sig-name descname"><span class="pre">integer</span> <span class="pre">range</span></span><a class="headerlink" href="#parsec-type-integer_range" title="Link to this definition"></a></dt>
+<dd><p>An integer range specified by a minimum and maximum value.</p>
+<p class="rubric">Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">1..5</span></code> - The numbers 1 to 5 inclusive.</p></li>
+</ul>
+</dd></dl>
+
+<dl class="parsec type">
+<dt class="sig sig-object parsec" id="parsec-type-spaceless_list">
+<span class="sig-name descname"><span class="pre">spaceless</span> <span class="pre">list</span></span><a class="headerlink" href="#parsec-type-spaceless_list" title="Link to this definition"></a></dt>
+<dd><p>A comma separated list of strings which cannot contain spaces.</p>
+<p class="rubric">Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">a,</span> <span class="pre">b,</span> <span class="pre">c</span></code></p></li>
+</ul>
+</dd></dl>
+
+<dl class="parsec type">
+<dt class="sig sig-object parsec" id="parsec-type-string">
+<span class="sig-name descname"><span class="pre">string</span></span><a class="headerlink" href="#parsec-type-string" title="Link to this definition"></a></dt>
+<dd><p>Plain text.</p>
+<p class="rubric">Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">Hello</span> <span class="pre">World!</span></code></p></li>
+</ul>
+</dd></dl>
+
+<dl class="parsec type">
+<dt class="sig sig-object parsec" id="parsec-type-list">
+<span class="sig-name descname"><span class="pre">list</span></span><a class="headerlink" href="#parsec-type-list" title="Link to this definition"></a></dt>
+<dd><p>A comma separated list of strings.</p>
+<p class="rubric">Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">a,</span> <span class="pre">b</span> <span class="pre">c,</span> <span class="pre">d</span></code></p></li>
+</ul>
+</dd></dl>
+
+<dl class="parsec type">
+<dt class="sig sig-object parsec" id="parsec-type-xtrigger_function_signature">
+<span class="sig-name descname"><span class="pre">xtrigger</span> <span class="pre">function</span> <span class="pre">signature</span></span><a class="headerlink" href="#parsec-type-xtrigger_function_signature" title="Link to this definition"></a></dt>
+<dd><p>A function signature similar to how it would be written in Python.
+<code class="docutils literal notranslate"><span class="pre">&lt;function&gt;(&lt;arg&gt;,</span> <span class="pre">&lt;kwarg&gt;=&lt;value&gt;):&lt;interval&gt;</span></code></p>
+<p class="rubric">Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">mytrigger(42,</span> <span class="pre">cycle_point=%(point)):PT10S</span></code> - Run function <code class="docutils literal notranslate"><span class="pre">mytrigger</span></code> every 10 seconds.</p></li>
+</ul>
+<p class="rubric">See Also:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../user-guide/writing-workflows/external-triggers.html#section-external-triggers"><span class="std std-ref">External Triggers</span></a></p></li>
+</ul>
+</dd></dl>
+
+</dd></section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="ui-server.html" class="btn btn-neutral float-left" title="UI Server Configuration" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="writing-platform-configs.html" class="btn btn-neutral float-right" title="Platform Configuration" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/config/types";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/config/ui-server.html b/nightly_8.3/html/reference/config/ui-server.html
new file mode 100644
index 00000000000..951c940804f
--- /dev/null
+++ b/nightly_8.3/html/reference/config/ui-server.html
@@ -0,0 +1,380 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>UI Server Configuration &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Cylc Configuration Data Types" href="types.html" />
+    <link rel="prev" title="Global Configuration" href="global.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../changes.html">Changes</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Configuration</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="file-format.html">The .cylc File Format</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow.html">Workflow Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="global.html">Global Configuration</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">UI Server Configuration</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.uiserver.app.CylcUIServer"><code class="docutils literal notranslate"><span class="pre">CylcUIServer</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="types.html">Cylc Configuration Data Types</a></li>
+<li class="toctree-l3"><a class="reference internal" href="writing-platform-configs.html">Platform Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../api/index.html">Cylc API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Reference</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Configuration</a></li>
+      <li class="breadcrumb-item active">UI Server Configuration</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/reference/config/ui-server.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="ui-server-configuration">
+<span id="ui-server-config"></span><h1>UI Server Configuration<a class="headerlink" href="#ui-server-configuration" title="Link to this heading"></a></h1>
+<p>Cylc UI Server can be configured using a <code class="docutils literal notranslate"><span class="pre">jupyter_config.py</span></code>.</p>
+<p>Site level configuration, such as <code class="docutils literal notranslate"><span class="pre">c.CylcUIServer.site_authorization</span></code> should
+be defined in <code class="docutils literal notranslate"><span class="pre">/etc/cylc/uiserver/jupyter_config.py</span></code>, or, alternatively, the
+environment variable <code class="docutils literal notranslate"><span class="pre">CYLC_SITE_CONF_PATH</span></code>.
+User level configuration should be located in <code class="docutils literal notranslate"><span class="pre">~/.cylc/uiserver/jupyter_config.py</span></code>.</p>
+<p id="module-cylc.uiserver.app">Cylc UI Server can be configured using a <code class="docutils literal notranslate"><span class="pre">jupyter_config.py</span></code> file, loaded
+from a hierarchy of locations. This hierarchy includes the prepackaged
+configuration, the site directory (which defaults to <code class="docutils literal notranslate"><span class="pre">/etc/cylc/uiserver</span></code> but
+can be set with the environment variable <code class="docutils literal notranslate"><span class="pre">$CYLC_SITE_CONF_PATH</span></code>) and
+the user directory (<code class="docutils literal notranslate"><span class="pre">~/.cylc/uiserver</span></code>).
+For example, at Cylc UI Server version 0.6.0, the hierarchy (highest priority
+at the bottom) would be:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc/uiserver/jupyter_config.py</span></code> (pre-packaged default)</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">/etc/cylc/uiserver/jupyter_config.py</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">/etc/cylc/uiserver/0/jupyter_config.py</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">/etc/cylc/uiserver/0.6/jupyter_config.py</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">/etc/cylc/uiserver/0.6.0/jupyter_config.py</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">~/.cylc/uiserver/jupyter_config.py</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">~/.cylc/uiserver/0/jupyter_config.py</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">~/.cylc/uiserver/0.6/jupyter_config.py</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">~/.cylc/uiserver/0.6.0/jupyter_config.py</span></code></p></li>
+</ul>
+<p>An example configuration might look like this:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># scan for workflows every 10 seconds</span>
+<span class="n">c</span><span class="o">.</span><span class="n">CylcUIServer</span><span class="o">.</span><span class="n">scan_interval</span> <span class="o">=</span> <span class="mi">10</span>
+</pre></div>
+</div>
+<p>The Cylc UI Server is a <a class="reference external" href="https://jupyter-server.readthedocs.io">Jupyter Server</a> extension. For generic configuration
+options see the Jupyter Servers documentation:
+<a class="reference external" href="https://jupyter-server.readthedocs.io/en/latest/other/full-config.html#other-full-config" title="(in Jupyter Server v2.13)"><span>Config file and command line options</span></a>.
+Cylc specific configurations are documented here.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><code class="docutils literal notranslate"><span class="pre">c.CylcUIServer.site_authorization</span></code> should be defined in
+<code class="docutils literal notranslate"><span class="pre">/etc/cylc/uiserver/jupyter_config.py</span></code>, or, alternatively, via
+the environment variable <code class="docutils literal notranslate"><span class="pre">CYLC_SITE_CONF_PATH</span></code>.</p>
+</div>
+<dl class="py class">
+<dt class="sig sig-object py" id="cylc.uiserver.app.CylcUIServer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.uiserver.app.</span></span><span class="sig-name descname"><span class="pre">CylcUIServer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><span class="pre">Any</span></a></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.uiserver.app.CylcUIServer" title="Link to this definition"></a></dt>
+<dd><dl class="py attribute">
+<dt class="sig sig-object py" id="cylc.uiserver.app.CylcUIServer.max_workers">
+<span class="sig-name descname"><span class="pre">max_workers</span></span><em class="property"><span class="w"> </span><span class="pre">c.CylcUIServer.max_workers</span> <span class="pre">=</span> <span class="pre">Int(1)</span></em><a class="headerlink" href="#cylc.uiserver.app.CylcUIServer.max_workers" title="Link to this definition"></a></dt>
+<dd><p>Set the maximum number of workers for process pools.</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="cylc.uiserver.app.CylcUIServer.profile">
+<span class="sig-name descname"><span class="pre">profile</span></span><em class="property"><span class="w"> </span><span class="pre">c.CylcUIServer.profile</span> <span class="pre">=</span> <span class="pre">Bool(False)</span></em><a class="headerlink" href="#cylc.uiserver.app.CylcUIServer.profile" title="Link to this definition"></a></dt>
+<dd><p>Turn on Python profiling.</p>
+<p>The profile results will be saved to ~/.cylc/uiserver/profile.prof
+in cprofile format.</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="cylc.uiserver.app.CylcUIServer.scan_interval">
+<span class="sig-name descname"><span class="pre">scan_interval</span></span><em class="property"><span class="w"> </span><span class="pre">c.CylcUIServer.scan_interval</span> <span class="pre">=</span> <span class="pre">Float(5.0)</span></em><a class="headerlink" href="#cylc.uiserver.app.CylcUIServer.scan_interval" title="Link to this definition"></a></dt>
+<dd><p>Set the interval between workflow scans in seconds.</p>
+<p>Workflow scans allow a UI server to detect workflows which have
+been started from the CLI since the last update.</p>
+<p>This involves a number of filesystem operations, to reduce
+system load set a higher value.</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="cylc.uiserver.app.CylcUIServer.site_authorization">
+<span class="sig-name descname"><span class="pre">site_authorization</span></span><em class="property"><span class="w"> </span><span class="pre">c.CylcUIServer.site_authorization</span> <span class="pre">=</span> <span class="pre">Dict()</span></em><a class="headerlink" href="#cylc.uiserver.app.CylcUIServer.site_authorization" title="Link to this definition"></a></dt>
+<dd><p>Dictionary containing site limits and defaults for authorization.</p>
+<p>This configuration should be placed only in the site set
+configuration file and not the user configuration file (use
+<code class="docutils literal notranslate"><span class="pre">c.CylcUIServer.user_authorization</span></code> for user defined
+authorization).</p>
+<p>If this configuration is empty, site authorization defaults to no
+configurable authorization and users will be unable to set any
+authorization.</p>
+<p>Authorization can be granted at operation (mutation) level, i.e.
+specifically grant user access to execute Cylc commands, e.g.
+<code class="docutils literal notranslate"><span class="pre">play</span></code>, <code class="docutils literal notranslate"><span class="pre">pause</span></code>, <code class="docutils literal notranslate"><span class="pre">edit</span></code>, <code class="docutils literal notranslate"><span class="pre">trigger</span></code> etc. For your
+convenience, these operations have been mapped to access groups
+<code class="docutils literal notranslate"><span class="pre">READ</span></code>, <code class="docutils literal notranslate"><span class="pre">CONTROL</span></code> and <code class="docutils literal notranslate"><span class="pre">ALL</span></code>.</p>
+<p>To remove permissions, prepend the access group or operation with
+<code class="docutils literal notranslate"><span class="pre">!</span></code>.</p>
+<p>Permissions are additive but negated permissions take precedence
+above additions e.g. <code class="docutils literal notranslate"><span class="pre">CONTROL,</span> <span class="pre">!stop</span></code> will permit all operations
+in the <code class="docutils literal notranslate"><span class="pre">CONTROL</span></code> group except for <code class="docutils literal notranslate"><span class="pre">stop</span></code>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Any authorization permissions granted to a user will be
+applied to all workflows.</p>
+</div>
+<p>For more information, including the access group mappings, see
+<a class="reference internal" href="../../user-guide/sharing-access-to-workflows.html#cylc-uiserver-multi-user"><span class="std std-ref">Authorizing Others to Access Your Workflows</span></a>.</p>
+<p class="rubric">Example Configuration:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">c</span><span class="o">.</span><span class="n">CylcUIServer</span><span class="o">.</span><span class="n">site_authorization</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;*&quot;</span><span class="p">:</span> <span class="p">{</span>  <span class="c1"># For all ui-server owners,</span>
+        <span class="s2">&quot;*&quot;</span><span class="p">:</span> <span class="p">{</span>  <span class="c1"># Any authenticated user</span>
+            <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="s2">&quot;READ&quot;</span><span class="p">,</span>  <span class="c1"># Has default read access</span>
+        <span class="p">},</span>
+        <span class="s2">&quot;user1&quot;</span><span class="p">:</span> <span class="p">{</span>  <span class="c1"># user1</span>
+            <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;!ALL&quot;</span><span class="p">],</span>  <span class="c1"># No privileges for all</span>
+            <span class="c1"># ui-server owners.</span>
+        <span class="p">},</span>  <span class="c1"># No limit set, so all ui-server owners</span>
+    <span class="p">},</span>  <span class="c1"># limit is also &quot;!ALL&quot; for user1</span>
+    <span class="s2">&quot;server_owner_1&quot;</span><span class="p">:</span> <span class="p">{</span>  <span class="c1"># For specific UI Server owner,</span>
+        <span class="s2">&quot;group:group_a&quot;</span><span class="p">:</span> <span class="p">{</span>  <span class="c1"># Any member of group_a</span>
+            <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="s2">&quot;READ&quot;</span><span class="p">,</span>  <span class="c1"># Will have default read access</span>
+            <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;ALL&quot;</span><span class="p">,</span> <span class="s2">&quot;!play&quot;</span><span class="p">],</span>  <span class="c1"># server_owner_1 can</span>
+        <span class="p">},</span>  <span class="c1"># grant All privileges, except play.</span>
+    <span class="p">},</span>
+    <span class="s2">&quot;group:grp_of_svr_owners&quot;</span><span class="p">:</span> <span class="p">{</span>  <span class="c1"># Group of UI Server owners</span>
+        <span class="s2">&quot;group:group_b&quot;</span><span class="p">:</span> <span class="p">{</span>
+            <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="p">[</span>  <span class="c1"># can grant groupB users up to READ and</span>
+                <span class="s2">&quot;READ&quot;</span><span class="p">,</span>  <span class="c1"># CONTROL privileges, without stop and</span>
+                <span class="s2">&quot;CONTROL&quot;</span><span class="p">,</span>  <span class="c1"># kill</span>
+                <span class="s2">&quot;!stop&quot;</span><span class="p">,</span>
+                <span class="s2">&quot;!kill&quot;</span><span class="p">,</span>  <span class="c1"># No default, so default is no access</span>
+            <span class="p">],</span>
+        <span class="p">},</span>
+    <span class="p">},</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="cylc.uiserver.app.CylcUIServer.ui_build_dir">
+<span class="sig-name descname"><span class="pre">ui_build_dir</span></span><em class="property"><span class="w"> </span><span class="pre">c.CylcUIServer.ui_build_dir</span> <span class="pre">=</span> <span class="pre">PathType()</span></em><a class="headerlink" href="#cylc.uiserver.app.CylcUIServer.ui_build_dir" title="Link to this definition"></a></dt>
+<dd><p>The directory containing the UI build.</p>
+<p>This can be a directory containing a single UI build e.g:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="nb">dir</span><span class="o">/</span>
+    <span class="n">index</span><span class="o">.</span><span class="n">html</span>
+</pre></div>
+</div>
+<p>Or a tree of builds where each build has a version number e.g:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="nb">dir</span><span class="o">/</span>
+    <span class="mf">1.0</span><span class="o">/</span>
+        <span class="n">index</span><span class="o">.</span><span class="n">html</span>
+    <span class="mf">2.0</span><span class="o">/</span>
+        <span class="n">index</span><span class="o">.</span><span class="n">html</span>
+</pre></div>
+</div>
+<p>By default this points at the UI build tree which was bundled with
+the UI Server. Change this if you want to pick up a different
+build e.g. for development or evaluation purposes.</p>
+<p>Takes effect on (re)start.</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="cylc.uiserver.app.CylcUIServer.ui_version">
+<span class="sig-name descname"><span class="pre">ui_version</span></span><em class="property"><span class="w"> </span><span class="pre">c.CylcUIServer.ui_version</span> <span class="pre">=</span> <span class="pre">Unicode('')</span></em><a class="headerlink" href="#cylc.uiserver.app.CylcUIServer.ui_version" title="Link to this definition"></a></dt>
+<dd><p>Hardcodes the UI version to serve.</p>
+<p>If the <code class="docutils literal notranslate"><span class="pre">ui_build_dir</span></code> is a tree of builds, this config can be
+used to determine which UI build is used.</p>
+<p>By default the highest version is chosen according to PEP440
+version sorting rules.</p>
+<p>Takes effect on (re)start.</p>
+</dd></dl>
+
+<dl class="py attribute">
+<dt class="sig sig-object py" id="cylc.uiserver.app.CylcUIServer.user_authorization">
+<span class="sig-name descname"><span class="pre">user_authorization</span></span><em class="property"><span class="w"> </span><span class="pre">c.CylcUIServer.user_authorization</span> <span class="pre">=</span> <span class="pre">Dict()</span></em><a class="headerlink" href="#cylc.uiserver.app.CylcUIServer.user_authorization" title="Link to this definition"></a></dt>
+<dd><p>Dictionary containing authorized users and permission levels for
+authorization.</p>
+<p>Use this setting to share control of your workflows
+with other users.</p>
+<p>Note that you are only permitted to give away permissions up to
+your limit for each user, as defined in the site_authorization
+configuration.</p>
+<p>Authorization can be granted at operation (mutation) level, i.e.
+specifically grant user access to execute Cylc commands, e.g.
+<code class="docutils literal notranslate"><span class="pre">play</span></code>, <code class="docutils literal notranslate"><span class="pre">pause</span></code>, <code class="docutils literal notranslate"><span class="pre">edit</span></code>, <code class="docutils literal notranslate"><span class="pre">trigger</span></code> etc. For your
+convenience, these operations have been mapped to access groups
+<code class="docutils literal notranslate"><span class="pre">READ</span></code>, <code class="docutils literal notranslate"><span class="pre">CONTROL</span></code> and <code class="docutils literal notranslate"><span class="pre">ALL</span></code>.</p>
+<p>To remove permissions, prepend the access group or operation with
+<code class="docutils literal notranslate"><span class="pre">!</span></code>.</p>
+<p>Permissions are additive but negated permissions take precedence
+above additions e.g. <code class="docutils literal notranslate"><span class="pre">CONTROL,</span> <span class="pre">!stop</span></code> will permit all operations
+in the <code class="docutils literal notranslate"><span class="pre">CONTROL</span></code> group except for <code class="docutils literal notranslate"><span class="pre">stop</span></code>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Any authorization permissions granted to a user will be
+applied to all workflows.</p>
+</div>
+<p>For more information, including the access group mappings, see
+<a class="reference internal" href="../../user-guide/sharing-access-to-workflows.html#cylc-uiserver-multi-user"><span class="std std-ref">Authorizing Others to Access Your Workflows</span></a>.</p>
+<p>Example configuration, residing in
+<code class="docutils literal notranslate"><span class="pre">~/.cylc/uiserver/jupyter_config.py</span></code>:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">c</span><span class="o">.</span><span class="n">CylcUIServer</span><span class="o">.</span><span class="n">user_authorization</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;*&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;READ&quot;</span><span class="p">],</span>  <span class="c1"># any authenticated user has READ access</span>
+    <span class="s2">&quot;group:group2&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;ALL&quot;</span><span class="p">],</span>  <span class="c1"># Any user in system group2 has</span>
+                              <span class="c1"># access to all operations</span>
+    <span class="s2">&quot;userA&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;ALL&quot;</span><span class="p">,</span> <span class="s2">&quot;!stop&quot;</span><span class="p">],</span>  <span class="c1"># userA has ALL operations, not</span>
+                                <span class="c1"># stop</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="global.html" class="btn btn-neutral float-left" title="Global Configuration" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="types.html" class="btn btn-neutral float-right" title="Cylc Configuration Data Types" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/config/ui-server";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/config/workflow.html b/nightly_8.3/html/reference/config/workflow.html
new file mode 100644
index 00000000000..768bd0d058f
--- /dev/null
+++ b/nightly_8.3/html/reference/config/workflow.html
@@ -0,0 +1,3682 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Workflow Configuration &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Global Configuration" href="global.html" />
+    <link rel="prev" title="The .cylc File Format" href="file-format.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../changes.html">Changes</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Configuration</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="file-format.html">The .cylc File Format</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Workflow Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="global.html">Global Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui-server.html">UI Server Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="types.html">Cylc Configuration Data Types</a></li>
+<li class="toctree-l3"><a class="reference internal" href="writing-platform-configs.html">Platform Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../api/index.html">Cylc API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Reference</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Configuration</a></li>
+      <li class="breadcrumb-item active">Workflow Configuration</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/reference/config/workflow.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="workflow-configuration">
+<span id="id1"></span><h1>Workflow Configuration<a class="headerlink" href="#workflow-configuration" title="Link to this heading"></a></h1>
+<p>Cylc workflow configurations use the <a class="reference internal" href="file-format.html#file-format"><span class="std std-ref">.cylc file format</span></a>.</p>
+<dd><dl class="cylc conf">
+<dt class="sig sig-object cylc" id="flow.cylc">
+<span class="sig-name descname"><span class="pre">flow.cylc</span></span><a class="headerlink" href="#flow.cylc" title="Link to this definition"></a></dt>
+<dd><p>Defines a Cylc workflow configuration.</p>
+<p>After processing any embedded templating code
+(see <a class="reference internal" href="../../user-guide/writing-workflows/jinja2.html#jinja"><span class="std std-ref">Jinja2</span></a>) the resultant raw flow.cylc file
+must be valid. See also <a class="reference internal" href="../../user-guide/writing-workflows/configuration.html#flowconfigfile"><span class="std std-ref">The flow.cylc File</span></a> for a descriptive
+overview of flow.cylc files, including syntax (<a class="reference internal" href="file-format.html#syntax"><span class="std std-ref">Syntax</span></a>).</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>The configuration file was previously named <code class="docutils literal notranslate"><span class="pre">suite.rc</span></code>, but that
+name is now deprecated.
+The <code class="docutils literal notranslate"><span class="pre">suite.rc</span></code> file name now activates <a class="reference internal" href="../../7-to-8/major-changes/compatibility-mode.html#cylc-7-compat-mode"><span class="std std-ref">Cylc 7 Compatibility Mode</span></a>.
+Rename to <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> to turn off compatibility mode.</p>
+</div>
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[meta]">
+<span class="sig-name descname"><span class="pre">[meta]</span></span><a class="headerlink" href="#flow.cylc[meta]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[meta]</span></code></p>
+</dd>
+</dl>
+<p>Metadata for this workflow.</p>
+<p>Cylc defines and uses
+the terms “title”, “description” and “URL”.
+Users can define more terms, and use these in event handlers.</p>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">A</span> <span class="n">user</span> <span class="n">could</span> <span class="n">define</span> <span class="s2">&quot;workflow-priority&quot;</span><span class="o">.</span> <span class="n">An</span> <span class="n">event</span> <span class="n">handler</span>
+<span class="n">would</span> <span class="n">then</span> <span class="n">respond</span> <span class="n">to</span> <span class="n">failure</span> <span class="n">events</span> <span class="ow">in</span> <span class="n">a</span> <span class="n">way</span> <span class="nb">set</span> <span class="n">by</span>
+<span class="s2">&quot;workflow-priority&quot;</span><span class="o">.</span>
+</pre></div>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[meta]description">
+<span class="sig-name descname"><span class="pre">description</span></span><a class="headerlink" href="#flow.cylc[meta]description" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[meta]description</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>A multi-line description of the workflow.</p>
+<p>It can be retrieved at run time with the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">show</span></code> command.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[meta]title">
+<span class="sig-name descname"><span class="pre">title</span></span><a class="headerlink" href="#flow.cylc[meta]title" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[meta]title</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>A single line description of the workflow.</p>
+<p>It can be retrieved at run time with the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">show</span></code> command.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[meta]URL">
+<span class="sig-name descname"><span class="pre">URL</span></span><a class="headerlink" href="#flow.cylc[meta]URL" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[meta]URL</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>A web URL to workflow documentation.</p>
+<p>The URL can be retrieved at run time with the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">show</span></code>
+command.</p>
+<p>The template variable <code class="docutils literal notranslate"><span class="pre">%(workflow)s</span></code> will be replaced with the
+actual workflow ID.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>The <code class="docutils literal notranslate"><span class="pre">%(suite_name)s</span></code> template variable is deprecated, please
+use <code class="docutils literal notranslate"><span class="pre">%(workflow)s</span></code>.</p>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;][meta]URL" title="flow.cylc[runtime][&lt;namespace&gt;][meta]URL"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][meta]URL</span></code></a>.</p>
+</div>
+<p>Example:</p>
+<p><code class="docutils literal notranslate"><span class="pre">http://my-site.com/workflows/%(workflow)s/index.html</span></code></p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[meta]&lt;custom metadata&gt;">
+<span class="sig-name descname"><span class="pre">&lt;custom</span> <span class="pre">metadata&gt;</span></span><a class="headerlink" href="#flow.cylc[meta]<custom metadata>" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[meta]&lt;custom</span> <span class="pre">metadata&gt;</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Any user-defined metadata item.</p>
+<p>Like title, description and URL these can be
+passed to workflow event handlers to be interpreted according to
+your needs.</p>
+<p>For example, a user could define an item called
+“workflow-priority”. An event handler could then respond to
+failure events in a way set by “workflow-priority”.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler]">
+<span class="sig-name descname"><span class="pre">[scheduler]</span></span><a class="headerlink" href="#flow.cylc[scheduler]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler]</span></code></p>
+</dd>
+</dl>
+<p>Settings for the scheduler.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler]" title="global.cylc[scheduler]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler]</span></code></a>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Not to be confused with <a class="reference internal" href="#flow.cylc[scheduling]" title="flow.cylc[scheduling]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduling]</span></code></a>.</p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[cylc]</span></code></p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler]UTC mode">
+<span class="sig-name descname"><span class="pre">UTC</span> <span class="pre">mode</span></span><a class="headerlink" href="#flow.cylc[scheduler]UTC mode" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler]UTC</span> <span class="pre">mode</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-boolean" title="parsec-type-boolean"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">boolean</span></code></a></p>
+</dd>
+</dl>
+<p>If <code class="docutils literal notranslate"><span class="pre">True</span></code>, UTC will be used as the time zone for timestamps in
+the logs. If <code class="docutils literal notranslate"><span class="pre">False</span></code>, the local/system time zone will be used.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler]UTC mode" title="global.cylc[scheduler]UTC mode"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler]UTC</span> <span class="pre">mode</span></code></a>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p>To set a time zone for cycle points, see
+<a class="reference internal" href="#flow.cylc[scheduler]cycle point time zone" title="flow.cylc[scheduler]cycle point time zone"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]cycle</span> <span class="pre">point</span> <span class="pre">time</span> <span class="pre">zone</span></code></a>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler]allow implicit tasks">
+<span class="sig-name descname"><span class="pre">allow</span> <span class="pre">implicit</span> <span class="pre">tasks</span></span><a class="headerlink" href="#flow.cylc[scheduler]allow implicit tasks" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler]allow</span> <span class="pre">implicit</span> <span class="pre">tasks</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-boolean" title="parsec-type-boolean"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">boolean</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">False</span></code></p>
+</dd>
+</dl>
+<p>Allow tasks in the graph that are not defined in
+<a class="reference internal" href="#flow.cylc[runtime]" title="flow.cylc[runtime]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime]</span></code></a>.</p>
+<p><a class="reference internal" href="../../glossary.html#term-implicit-task"><span class="xref std std-term">Implicit tasks</span></a> are tasks without explicit
+definitions in <a class="reference internal" href="#flow.cylc[runtime]" title="flow.cylc[runtime]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime]</span></code></a>. By default,
+these are not allowed, as they are often typos. However,
+this setting can be set to <code class="docutils literal notranslate"><span class="pre">True</span></code> to allow implicit tasks.
+It is recommended to only set this to <code class="docutils literal notranslate"><span class="pre">True</span></code> if required during
+development/prototyping of a workflow graph, but set it to
+<code class="docutils literal notranslate"><span class="pre">False</span></code> after finishing the <a class="reference internal" href="#flow.cylc[runtime]" title="flow.cylc[runtime]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime]</span></code></a>
+section.</p>
+<div class="admonition-cylc-7-compatibility-mode admonition">
+<p class="admonition-title">Cylc 7 compatibility mode</p>
+<p>In <a class="reference internal" href="../../7-to-8/major-changes/compatibility-mode.html#cylc-7-compat-mode"><span class="std std-ref">Cylc 7 Compatibility Mode</span></a>, implicit tasks are still
+allowed unless you explicitly set this to <code class="docutils literal notranslate"><span class="pre">False</span></code>, or
+unless a <code class="docutils literal notranslate"><span class="pre">rose-suite.conf</span></code> file is present (to maintain
+backward compatibility with Rose 2019).</p>
+</div>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler]install">
+<span class="sig-name descname"><span class="pre">install</span></span><a class="headerlink" href="#flow.cylc[scheduler]install" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler]install</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Configure custom directories and files to be installed on remote
+hosts.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The following directories already get installed by default:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">ana/</span></code></dt><dd><p>Rose ana analysis modules</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">app/</span></code></dt><dd><p>Rose applications</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">bin/</span></code></dt><dd><p>Cylc bin directory (added to <code class="docutils literal notranslate"><span class="pre">PATH</span></code>)</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">etc/</span></code></dt><dd><p>Miscellaneous resources</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">lib/</span></code></dt><dd><p>Cylc lib directory (<code class="docutils literal notranslate"><span class="pre">lib/python</span></code> added to <code class="docutils literal notranslate"><span class="pre">PYTHONPATH</span></code>
+for workflow config)</p>
+</dd>
+</dl>
+<p>These should be located in the top level of your Cylc workflow,
+i.e. the directory that contains your <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> file.</p>
+</div>
+<p>Directories must have a trailing slash.
+For example, to add the following items to your file installation:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>~/cylc-run/workflow_x
+|-- dir1/
+|-- dir2/
+|-- file1
+`-- file2
+</pre></div>
+</div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">install </span><span class="o">=</span><span class="s"> dir/, dir2/, file1, file2</span>
+</pre></div>
+</div>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler]cycle point format">
+<span class="sig-name descname"><span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">format</span></span><a class="headerlink" href="#flow.cylc[scheduler]cycle point format" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler]cycle</span> <span class="pre">point</span> <span class="pre">format</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-cycle_point_format" title="parsec-type-cycle_point_format"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">format</span></code></a></p>
+</dd>
+</dl>
+<p>Set the datetime format and precision that Cylc uses for
+<a class="reference internal" href="../../glossary.html#term-cycle-point"><span class="xref std std-term">cycle points</span></a> in <a class="reference internal" href="../../glossary.html#term-datetime-cycling"><span class="xref std std-term">datetime cycling</span></a>
+workflows.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p>To alter the time zone used in the datetime cycle point
+format, see
+<a class="reference internal" href="#flow.cylc[scheduler]cycle point time zone" title="flow.cylc[scheduler]cycle point time zone"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]cycle</span> <span class="pre">point</span> <span class="pre">time</span> <span class="pre">zone</span></code></a>.</p></li>
+<li><p>To alter the number of expanded year digits (for years
+below 0 or above 9999), see
+<a class="reference internal" href="#flow.cylc[scheduler]cycle point num expanded year digits" title="flow.cylc[scheduler]cycle point num expanded year digits"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]cycle</span> <span class="pre">point</span> <span class="pre">num</span> <span class="pre">expanded</span> <span class="pre">year</span> <span class="pre">digits</span></code></a>.</p></li>
+</ul>
+</div>
+<p>By default, Cylc uses a <code class="docutils literal notranslate"><span class="pre">CCYYMMDDThhmmZ</span></code> (<code class="docutils literal notranslate"><span class="pre">Z</span></code> in the special
+case of UTC) or <code class="docutils literal notranslate"><span class="pre">CCYYMMDDThhmm±hhmm</span></code> format for writing
+datetime cycle points, following the <a class="reference internal" href="../../glossary.html#term-ISO-8601"><span class="xref std std-term">ISO 8601</span></a> standard.</p>
+<p>You may use the <a class="reference external" href="https://github.com/metomi/isodatetime#dates-and-times">isodatetime library’s syntax</a> to set
+the cycle point format.</p>
+<p>You can also use a subset of the strptime/strftime POSIX
+standard - supported tokens are <code class="docutils literal notranslate"><span class="pre">%F</span></code>, <code class="docutils literal notranslate"><span class="pre">%H</span></code>, <code class="docutils literal notranslate"><span class="pre">%M</span></code>, <code class="docutils literal notranslate"><span class="pre">%S</span></code>,
+<code class="docutils literal notranslate"><span class="pre">%Y</span></code>, <code class="docutils literal notranslate"><span class="pre">%d</span></code>, <code class="docutils literal notranslate"><span class="pre">%j</span></code>, <code class="docutils literal notranslate"><span class="pre">%m</span></code>, <code class="docutils literal notranslate"><span class="pre">%s</span></code>, <code class="docutils literal notranslate"><span class="pre">%z</span></code>.</p>
+<p>If specifying a format here, we recommend including a time zone -
+this will be used for displaying cycle points only. To avoid
+confusion, we recommend using the same time zone as
+<a class="reference internal" href="#flow.cylc[scheduler]cycle point time zone" title="flow.cylc[scheduler]cycle point time zone"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]cycle</span> <span class="pre">point</span> <span class="pre">time</span> <span class="pre">zone</span></code></a>.</p>
+<p>The ISO 8601 <em>extended</em> datetime format (<code class="docutils literal notranslate"><span class="pre">CCYY-MM-DDThh:mm</span></code>)
+cannot be used, as cycle points are used in job-log and work
+directory paths where the “:” character is invalid.</p>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>The smallest unit included in the format sets the precision
+of cycle points in the workflow.
+If the precision is lower than the smallest unit
+in a graph recurrence, the workflow will fail.
+For example, if you set a format of <code class="docutils literal notranslate"><span class="pre">CCYY</span></code>, and have a
+recurrence <code class="docutils literal notranslate"><span class="pre">R/2000/P8M</span></code>, then both the first and second
+cycle points will be <code class="docutils literal notranslate"><span class="pre">2000</span></code>, which is invalid.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler]cycle point num expanded year digits">
+<span class="sig-name descname"><span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">num</span> <span class="pre">expanded</span> <span class="pre">year</span> <span class="pre">digits</span></span><a class="headerlink" href="#flow.cylc[scheduler]cycle point num expanded year digits" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler]cycle</span> <span class="pre">point</span> <span class="pre">num</span> <span class="pre">expanded</span> <span class="pre">year</span> <span class="pre">digits</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-integer" title="parsec-type-integer"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">integer</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">0</span></code></p>
+</dd>
+</dl>
+<p>Enable negative years or years more than four digits long.</p>
+<p>For years below 0 or above 9999, the ISO 8601 standard specifies
+that an extra number of year digits and a sign should be used.
+This extra number needs to be written down somewhere (here).</p>
+<p>For example, if this extra number is set to 2, 00Z on the 1st of
+January in the year 10040 will be represented as
+<code class="docutils literal notranslate"><span class="pre">+0100400101T0000Z</span></code> (2 extra year digits used). With this number
+set to 3, 06Z on the 4th of May 1985 would be written as
+<code class="docutils literal notranslate"><span class="pre">+00019850504T0600Z</span></code>.</p>
+<p>This number defaults to 0 (no sign or extra digits used).</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler]cycle point time zone">
+<span class="sig-name descname"><span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">time</span> <span class="pre">zone</span></span><a class="headerlink" href="#flow.cylc[scheduler]cycle point time zone" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler]cycle</span> <span class="pre">point</span> <span class="pre">time</span> <span class="pre">zone</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-cycle_point_time_zone" title="parsec-type-cycle_point_time_zone"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">time</span> <span class="pre">zone</span></code></a></p>
+</dd>
+</dl>
+<p>Time zone to be used for datetime cycle points if not otherwise
+specified.</p>
+<p>This time zone will be used for
+datetime cycle point dumping and inferring the time zone of cycle
+points that are input without time zones.</p>
+<p>Time zones should be expressed as <a class="reference internal" href="../../glossary.html#term-ISO8601"><span class="xref std std-term">ISO8601</span></a> time zone offsets
+from UTC, such as <code class="docutils literal notranslate"><span class="pre">+13</span></code>, <code class="docutils literal notranslate"><span class="pre">+1300</span></code>, <code class="docutils literal notranslate"><span class="pre">-0500</span></code> or <code class="docutils literal notranslate"><span class="pre">+0645</span></code>,
+with <code class="docutils literal notranslate"><span class="pre">Z</span></code> representing the special case of <code class="docutils literal notranslate"><span class="pre">+0000</span></code> (UTC).
+Cycle points will be converted to the time zone you give and will
+be represented with this string at the end.</p>
+<p>If not set, it will default to UTC (<code class="docutils literal notranslate"><span class="pre">Z</span></code>).</p>
+<div class="admonition-cylc-7-compatibility-mode admonition">
+<p class="admonition-title">Cylc 7 compatibility mode</p>
+<p>In <a class="reference internal" href="../../7-to-8/major-changes/compatibility-mode.html#cylc-7-compat-mode"><span class="std std-ref">Cylc 7 Compatibility Mode</span></a>, it will default to the
+local/system time zone, rather than UTC.</p>
+</div>
+<p>The time zone will persist over reloads/restarts following any
+local time zone changes (e.g. if the
+workflow is run during winter time, then stopped, then restarted
+after summer time has begun, the cycle points will remain
+in winter time). Changing this setting after the workflow has
+first started will have no effect.</p>
+<p>If you use a custom
+<a class="reference internal" href="#flow.cylc[scheduler]cycle point format" title="flow.cylc[scheduler]cycle point format"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]cycle</span> <span class="pre">point</span> <span class="pre">format</span></code></a>, it is a good
+idea to set the same time zone here. If you specify a different
+one here, it will only be used for inferring timezone-less cycle
+points; cycle points will be displayed in the time zone from the
+cycle point format.</p>
+<div class="admonition caution">
+<p class="admonition-title">Caution</p>
+<p>It is not recommended to write the time zone with a “:”
+(e.g. <code class="docutils literal notranslate"><span class="pre">+05:30</span></code>), given that the time zone is used as part of
+task output filenames.</p>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="#flow.cylc[scheduler]UTC mode" title="flow.cylc[scheduler]UTC mode"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]UTC</span> <span class="pre">mode</span></code></a></p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 7.8.9/7.9.4: </span>The value set here now persists over reloads/restarts after a
+system time zone change.</p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>The default time zone is now <code class="docutils literal notranslate"><span class="pre">Z</span></code> instead of the local time of
+the first workflow start.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][main loop]">
+<span class="sig-name descname"><span class="pre">[main</span> <span class="pre">loop]</span></span><a class="headerlink" href="#flow.cylc[scheduler][main loop]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][main</span> <span class="pre">loop]</span></code></p>
+</dd>
+</dl>
+<p>Configuration of main loop plugins for the scheduler.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][main loop]" title="global.cylc[scheduler][main loop]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop]</span></code></a>.</p>
+<p>For a list of built in plugins see <a class="reference internal" href="../../plugins/main-loop/index.html#builtinplugins"><span class="std std-ref">Main Loop Plugins</span></a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][main loop][&lt;plugin name&gt;]">
+<span class="sig-name descname"><span class="pre">[&lt;plugin</span> <span class="pre">name&gt;]</span></span><a class="headerlink" href="#flow.cylc[scheduler][main loop][<plugin name>]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][main</span> <span class="pre">loop][&lt;plugin</span> <span class="pre">name&gt;]</span></code></p>
+</dd>
+</dl>
+<p>Configure a main loop plugin.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][main loop][&lt;plugin name&gt;]" title="global.cylc[scheduler][main loop][&lt;plugin name&gt;]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop][&lt;plugin</span> <span class="pre">name&gt;]</span></code></a>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Only the configured list of
+<a class="reference internal" href="global.html#global.cylc[scheduler][main loop]plugins" title="global.cylc[scheduler][main loop]plugins"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop]plugins</span></code></a>
+is loaded when a scheduler is started.</p>
+</div>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][main loop][&lt;plugin name&gt;]interval">
+<span class="sig-name descname"><span class="pre">interval</span></span><a class="headerlink" href="#flow.cylc[scheduler][main loop][<plugin name>]interval" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][main</span> <span class="pre">loop][&lt;plugin</span> <span class="pre">name&gt;]interval</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+</dl>
+<p>Interval at which the plugin is invoked.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][main loop][&lt;plugin name&gt;]interval" title="global.cylc[scheduler][main loop][&lt;plugin name&gt;]interval"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][main</span> <span class="pre">loop][&lt;plugin</span> <span class="pre">name&gt;]interval</span></code></a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]">
+<span class="sig-name descname"><span class="pre">[events]</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]</span></code></p>
+</dd>
+</dl>
+<p>Configure the workflow event handling system.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]" title="global.cylc[scheduler][events]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]</span></code></a>.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]handlers">
+<span class="sig-name descname"><span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Configure <a class="reference internal" href="../../glossary.html#term-event-handlers"><span class="xref std std-term">event handlers</span></a> that run when certain workflow
+events occur.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]handlers" title="global.cylc[scheduler][events]handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]handlers</span></code></a>.</p>
+<p>This section configures <em>workflow</em> event handlers; see
+<a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;][events]" title="flow.cylc[runtime][&lt;namespace&gt;][events]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]</span></code></a> for <em>task</em> event
+handlers.</p>
+<p>Event handlers can be held in the workflow <code class="docutils literal notranslate"><span class="pre">bin/</span></code> directory,
+otherwise it is up to you to ensure their location is in <code class="docutils literal notranslate"><span class="pre">$PATH</span></code>
+(in the shell in which the scheduler runs). They should require
+little resource to run and return quickly.</p>
+<p>Template variables can be used to configure handlers. For a full list
+of supported variables see <a class="reference internal" href="../../user-guide/writing-workflows/scheduler.html#workflow-event-template-variables"><span class="std std-ref">Workflow Event Template Variables</span></a>.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]handler events">
+<span class="sig-name descname"><span class="pre">handler</span> <span class="pre">events</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]handler events" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]handler</span> <span class="pre">events</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Specify the events for which workflow event handlers should be invoked.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]handler events" title="global.cylc[scheduler][events]handler events"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]handler</span> <span class="pre">events</span></code></a>.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]mail events">
+<span class="sig-name descname"><span class="pre">mail</span> <span class="pre">events</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]mail events" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]mail</span> <span class="pre">events</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Specify the workflow events for which notification emails should
+be sent.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]mail events" title="global.cylc[scheduler][events]mail events"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]mail</span> <span class="pre">events</span></code></a>.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]startup handlers">
+<span class="sig-name descname"><span class="pre">startup</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]startup handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]startup</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run at scheduler startup.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]startup handlers" title="global.cylc[scheduler][events]startup handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]startup</span> <span class="pre">handlers</span></code></a>.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">startup</span> <span class="pre">handler</span></code>.</p>
+</div>
+<p>Examples:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># configure a single event handler</span>
+<span class="nv">startup handlers </span><span class="o">=</span><span class="s"> echo foo</span>
+
+<span class="c1"># provide context to the handler</span>
+<span class="nv">startup handlers </span><span class="o">=</span><span class="s"> echo %(workflow)s</span>
+
+<span class="c1"># configure multiple event handlers</span>
+<span class="nv">startup handlers </span><span class="o">=</span><span class="s"> \</span>
+<span class="s">    &#39;echo %(workflow)s, %(event)s&#39;, \</span>
+<span class="s">    &#39;my_exe %(event)s %(message)s&#39; \</span>
+<span class="s">    &#39;curl -X PUT -d event=%(event)s host:port&#39;</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]shutdown handlers">
+<span class="sig-name descname"><span class="pre">shutdown</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]shutdown handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]shutdown</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run at scheduler shutdown.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]shutdown handlers" title="global.cylc[scheduler][events]shutdown handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]shutdown</span> <span class="pre">handlers</span></code></a>.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">shutdown</span> <span class="pre">handler</span></code>.</p>
+</div>
+<p>Examples:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># configure a single event handler</span>
+<span class="nv">shutdown handlers </span><span class="o">=</span><span class="s"> echo foo</span>
+
+<span class="c1"># provide context to the handler</span>
+<span class="nv">shutdown handlers </span><span class="o">=</span><span class="s"> echo %(workflow)s</span>
+
+<span class="c1"># configure multiple event handlers</span>
+<span class="nv">shutdown handlers </span><span class="o">=</span><span class="s"> \</span>
+<span class="s">    &#39;echo %(workflow)s, %(event)s&#39;, \</span>
+<span class="s">    &#39;my_exe %(event)s %(message)s&#39; \</span>
+<span class="s">    &#39;curl -X PUT -d event=%(event)s host:port&#39;</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]abort handlers">
+<span class="sig-name descname"><span class="pre">abort</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]abort handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]abort</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run if the scheduler shuts down with error status due to
+a configured timeout or a fatal error condition.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]abort handlers" title="global.cylc[scheduler][events]abort handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]abort</span> <span class="pre">handlers</span></code></a>.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">aborted</span> <span class="pre">handler</span></code>.</p>
+</div>
+<p>Examples:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># configure a single event handler</span>
+<span class="nv">abort handlers </span><span class="o">=</span><span class="s"> echo foo</span>
+
+<span class="c1"># provide context to the handler</span>
+<span class="nv">abort handlers </span><span class="o">=</span><span class="s"> echo %(workflow)s</span>
+
+<span class="c1"># configure multiple event handlers</span>
+<span class="nv">abort handlers </span><span class="o">=</span><span class="s"> \</span>
+<span class="s">    &#39;echo %(workflow)s, %(event)s&#39;, \</span>
+<span class="s">    &#39;my_exe %(event)s %(message)s&#39; \</span>
+<span class="s">    &#39;curl -X PUT -d event=%(event)s host:port&#39;</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]workflow timeout">
+<span class="sig-name descname"><span class="pre">workflow</span> <span class="pre">timeout</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]workflow timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]workflow</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+</dl>
+<p>Workflow timeout interval. The timer starts counting down at scheduler
+startup. It resets on workflow restart.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]workflow timeout" title="global.cylc[scheduler][events]workflow timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]workflow</span> <span class="pre">timeout</span></code></a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]workflow timeout handlers">
+<span class="sig-name descname"><span class="pre">workflow</span> <span class="pre">timeout</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]workflow timeout handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]workflow</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run if the workflow timer times out.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]workflow timeout handlers" title="global.cylc[scheduler][events]workflow timeout handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]workflow</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<p>Examples:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># configure a single event handler</span>
+<span class="nv">workflow timeout handlers </span><span class="o">=</span><span class="s"> echo foo</span>
+
+<span class="c1"># provide context to the handler</span>
+<span class="nv">workflow timeout handlers </span><span class="o">=</span><span class="s"> echo %(workflow)s</span>
+
+<span class="c1"># configure multiple event handlers</span>
+<span class="nv">workflow timeout handlers </span><span class="o">=</span><span class="s"> \</span>
+<span class="s">    &#39;echo %(workflow)s, %(event)s&#39;, \</span>
+<span class="s">    &#39;my_exe %(event)s %(message)s&#39; \</span>
+<span class="s">    &#39;curl -X PUT -d event=%(event)s host:port&#39;</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]abort on workflow timeout">
+<span class="sig-name descname"><span class="pre">abort</span> <span class="pre">on</span> <span class="pre">workflow</span> <span class="pre">timeout</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]abort on workflow timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]abort</span> <span class="pre">on</span> <span class="pre">workflow</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-boolean" title="parsec-type-boolean"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">boolean</span></code></a></p>
+</dd>
+</dl>
+<p>Whether the scheduler should shut down immediately with error status if
+the workflow timer times out.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]abort on workflow timeout" title="global.cylc[scheduler][events]abort on workflow timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]abort</span> <span class="pre">on</span> <span class="pre">workflow</span> <span class="pre">timeout</span></code></a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]stall handlers">
+<span class="sig-name descname"><span class="pre">stall</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]stall handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]stall</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run if the scheduler stalls.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]stall handlers" title="global.cylc[scheduler][events]stall handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]stall</span> <span class="pre">handlers</span></code></a>.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">stalled</span> <span class="pre">handler</span></code>.</p>
+</div>
+<p>Examples:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># configure a single event handler</span>
+<span class="nv">stall handlers </span><span class="o">=</span><span class="s"> echo foo</span>
+
+<span class="c1"># provide context to the handler</span>
+<span class="nv">stall handlers </span><span class="o">=</span><span class="s"> echo %(workflow)s</span>
+
+<span class="c1"># configure multiple event handlers</span>
+<span class="nv">stall handlers </span><span class="o">=</span><span class="s"> \</span>
+<span class="s">    &#39;echo %(workflow)s, %(event)s&#39;, \</span>
+<span class="s">    &#39;my_exe %(event)s %(message)s&#39; \</span>
+<span class="s">    &#39;curl -X PUT -d event=%(event)s host:port&#39;</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]stall timeout">
+<span class="sig-name descname"><span class="pre">stall</span> <span class="pre">timeout</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]stall timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]stall</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+</dl>
+<p>The length of a timer which starts if the scheduler stalls.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]stall timeout" title="global.cylc[scheduler][events]stall timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]stall</span> <span class="pre">timeout</span></code></a>.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">timeout</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]stall timeout handlers">
+<span class="sig-name descname"><span class="pre">stall</span> <span class="pre">timeout</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]stall timeout handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]stall</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run if the stall timer times out.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]stall timeout handlers" title="global.cylc[scheduler][events]stall timeout handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]stall</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></a>.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">timeout</span> <span class="pre">handler</span></code>.</p>
+</div>
+<p>Examples:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># configure a single event handler</span>
+<span class="nv">stall timeout handlers </span><span class="o">=</span><span class="s"> echo foo</span>
+
+<span class="c1"># provide context to the handler</span>
+<span class="nv">stall timeout handlers </span><span class="o">=</span><span class="s"> echo %(workflow)s</span>
+
+<span class="c1"># configure multiple event handlers</span>
+<span class="nv">stall timeout handlers </span><span class="o">=</span><span class="s"> \</span>
+<span class="s">    &#39;echo %(workflow)s, %(event)s&#39;, \</span>
+<span class="s">    &#39;my_exe %(event)s %(message)s&#39; \</span>
+<span class="s">    &#39;curl -X PUT -d event=%(event)s host:port&#39;</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]abort on stall timeout">
+<span class="sig-name descname"><span class="pre">abort</span> <span class="pre">on</span> <span class="pre">stall</span> <span class="pre">timeout</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]abort on stall timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]abort</span> <span class="pre">on</span> <span class="pre">stall</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-boolean" title="parsec-type-boolean"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">boolean</span></code></a></p>
+</dd>
+</dl>
+<p>Whether the scheduler should shut down immediately with error status if
+the stall timer times out.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]abort on stall timeout" title="global.cylc[scheduler][events]abort on stall timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]abort</span> <span class="pre">on</span> <span class="pre">stall</span> <span class="pre">timeout</span></code></a>.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">abort</span> <span class="pre">on</span> <span class="pre">timeout</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]inactivity timeout">
+<span class="sig-name descname"><span class="pre">inactivity</span> <span class="pre">timeout</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]inactivity timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]inactivity</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+</dl>
+<p>Scheduler inactivity timeout interval. The timer resets when any
+workflow activity occurs.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]inactivity timeout" title="global.cylc[scheduler][events]inactivity timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]inactivity</span> <span class="pre">timeout</span></code></a>.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called  <code class="docutils literal notranslate"><span class="pre">inactivity</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]inactivity timeout handlers">
+<span class="sig-name descname"><span class="pre">inactivity</span> <span class="pre">timeout</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]inactivity timeout handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]inactivity</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run if the inactivity timer times out.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]inactivity timeout handlers" title="global.cylc[scheduler][events]inactivity timeout handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]inactivity</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></a>.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">inactivity</span> <span class="pre">handler</span></code>.</p>
+</div>
+<p>Examples:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># configure a single event handler</span>
+<span class="nv">inactivity timeout handlers </span><span class="o">=</span><span class="s"> echo foo</span>
+
+<span class="c1"># provide context to the handler</span>
+<span class="nv">inactivity timeout handlers </span><span class="o">=</span><span class="s"> echo %(workflow)s</span>
+
+<span class="c1"># configure multiple event handlers</span>
+<span class="nv">inactivity timeout handlers </span><span class="o">=</span><span class="s"> \</span>
+<span class="s">    &#39;echo %(workflow)s, %(event)s&#39;, \</span>
+<span class="s">    &#39;my_exe %(event)s %(message)s&#39; \</span>
+<span class="s">    &#39;curl -X PUT -d event=%(event)s host:port&#39;</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]abort on inactivity timeout">
+<span class="sig-name descname"><span class="pre">abort</span> <span class="pre">on</span> <span class="pre">inactivity</span> <span class="pre">timeout</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]abort on inactivity timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]abort</span> <span class="pre">on</span> <span class="pre">inactivity</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-boolean" title="parsec-type-boolean"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">boolean</span></code></a></p>
+</dd>
+</dl>
+<p>Whether the scheduler should shut down immediately with error status if
+the inactivity timer times out.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]abort on inactivity timeout" title="global.cylc[scheduler][events]abort on inactivity timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]abort</span> <span class="pre">on</span> <span class="pre">inactivity</span> <span class="pre">timeout</span></code></a>.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">abort</span> <span class="pre">on</span> <span class="pre">inactivity</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]restart timeout">
+<span class="sig-name descname"><span class="pre">restart</span> <span class="pre">timeout</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]restart timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]restart</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+</dl>
+<p>How long to wait for intervention on restarting a completed workflow.
+The timer stops if any task is triggered.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][events]restart timeout" title="global.cylc[scheduler][events]restart timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]restart</span> <span class="pre">timeout</span></code></a>.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.2.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][events]expected task failures">
+<span class="sig-name descname"><span class="pre">expected</span> <span class="pre">task</span> <span class="pre">failures</span></span><a class="headerlink" href="#flow.cylc[scheduler][events]expected task failures" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]expected</span> <span class="pre">task</span> <span class="pre">failures</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>(For Cylc developers writing a functional tests only)
+List of tasks that are expected to fail in the test.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][mail]">
+<span class="sig-name descname"><span class="pre">[mail]</span></span><a class="headerlink" href="#flow.cylc[scheduler][mail]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][mail]</span></code></p>
+</dd>
+</dl>
+<p>Settings for the scheduler to send event emails.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][mail]" title="global.cylc[scheduler][mail]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][mail]</span></code></a>.</p>
+<p>These settings are used for both workflow and task events.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][mail]footer">
+<span class="sig-name descname"><span class="pre">footer</span></span><a class="headerlink" href="#flow.cylc[scheduler][mail]footer" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][mail]footer</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Specify a string or string template for footers of emails sent for both
+workflow and task events.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][mail]footer" title="global.cylc[scheduler][mail]footer"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][mail]footer</span></code></a>.</p>
+<p>Template variables may be used in the mail footer. For a list of supported
+variables see <a class="reference internal" href="../../user-guide/writing-workflows/scheduler.html#workflow-event-template-variables"><span class="std std-ref">Workflow Event Template Variables</span></a>.</p>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>footer = see http://ahost/%(owner)s/notes/%(workflow)s``
+</pre></div>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[cylc][events]mail</span> <span class="pre">footer</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][mail]to">
+<span class="sig-name descname"><span class="pre">to</span></span><a class="headerlink" href="#flow.cylc[scheduler][mail]to" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][mail]to</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>A list of email addresses that event notifications should be sent to.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][mail]to" title="global.cylc[scheduler][mail]to"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][mail]to</span></code></a>.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[cylc][events]mail</span> <span class="pre">to</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][mail]from">
+<span class="sig-name descname"><span class="pre">from</span></span><a class="headerlink" href="#flow.cylc[scheduler][mail]from" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][mail]from</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Specify an alternative <code class="docutils literal notranslate"><span class="pre">from</span></code> email address for workflow event notifications.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][mail]from" title="global.cylc[scheduler][mail]from"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][mail]from</span></code></a>.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[cylc][events]mail</span> <span class="pre">from</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduler][mail]task event batch interval">
+<span class="sig-name descname"><span class="pre">task</span> <span class="pre">event</span> <span class="pre">batch</span> <span class="pre">interval</span></span><a class="headerlink" href="#flow.cylc[scheduler][mail]task event batch interval" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduler][mail]task</span> <span class="pre">event</span> <span class="pre">batch</span> <span class="pre">interval</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+</dl>
+<p>Gather all task event notifications in the given interval into a single email.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[scheduler][mail]task event batch interval" title="global.cylc[scheduler][mail]task event batch interval"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][mail]task</span> <span class="pre">event</span> <span class="pre">batch</span> <span class="pre">interval</span></code></a>.</p>
+<p>Useful to prevent being overwhelmed by emails.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[cylc]task</span> <span class="pre">event</span> <span class="pre">mail</span> <span class="pre">interval</span></code>.</p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[task parameters]">
+<span class="sig-name descname"><span class="pre">[task</span> <span class="pre">parameters]</span></span><a class="headerlink" href="#flow.cylc[task parameters]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[task</span> <span class="pre">parameters]</span></code></p>
+</dd>
+</dl>
+<p>Set task parameters and parameter templates.</p>
+<p>Define parameter values here for use in expanding
+<a class="reference internal" href="../../user-guide/writing-workflows/parameterized-tasks.html#user-guide-param"><span class="std std-ref">parameterized tasks</span></a>.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[cylc][parameters]</span></code>.</p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[task parameters]&lt;parameter&gt;">
+<span class="sig-name descname"><span class="pre">&lt;parameter&gt;</span></span><a class="headerlink" href="#flow.cylc[task parameters]<parameter>" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[task</span> <span class="pre">parameters]&lt;parameter&gt;</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-parameter_list" title="parsec-type-parameter_list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">parameter</span> <span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>A custom parameter to use in a workflow.</p>
+<p>Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">run</span> <span class="pre">=</span> <span class="pre">control,</span> <span class="pre">test1,</span> <span class="pre">test2</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">mem</span> <span class="pre">=</span> <span class="pre">1..5</span></code>  (equivalent to <code class="docutils literal notranslate"><span class="pre">1,</span> <span class="pre">2,</span> <span class="pre">3,</span> <span class="pre">4,</span> <span class="pre">5</span></code>).</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">mem</span> <span class="pre">=</span> <span class="pre">-11..-7..2</span></code>  (equivalent to <code class="docutils literal notranslate"><span class="pre">-11,</span> <span class="pre">-9,</span> <span class="pre">-7</span></code>).</p></li>
+</ul>
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[task parameters][templates]">
+<span class="sig-name descname"><span class="pre">[templates]</span></span><a class="headerlink" href="#flow.cylc[task parameters][templates]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[task</span> <span class="pre">parameters][templates]</span></code></p>
+</dd>
+</dl>
+<p>Cylc will expand each parameterized task name using a string
+template.</p>
+<p>You can set templates for any parameter name here to override the
+default template.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[cylc][parameter</span> <span class="pre">templates]</span></code>.</p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[task parameters][templates]&lt;parameter&gt;">
+<span class="sig-name descname"><span class="pre">&lt;parameter&gt;</span></span><a class="headerlink" href="#flow.cylc[task parameters][templates]<parameter>" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[task</span> <span class="pre">parameters][templates]&lt;parameter&gt;</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>A template for a parameter.</p>
+<p>For example:</p>
+<p>If you set:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+    <span class="nv">myparameter </span><span class="o">=</span><span class="s"> 1..3</span>
+    <span class="nt">[[templates]]</span>
+        <span class="nv">myparameter </span><span class="o">=</span><span class="s"> _run_%(myparameter)s</span>
+</pre></div>
+</div>
+<p>task name <code class="docutils literal notranslate"><span class="pre">foo&lt;myparameter&gt;</span></code> becomes <code class="docutils literal notranslate"><span class="pre">foo_run_3</span></code> for
+<code class="docutils literal notranslate"><span class="pre">run</span> <span class="pre">==</span> <span class="pre">3</span></code>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The default parameter templates are:</p>
+<dl class="simple">
+<dt>For integer parameters:</dt><dd><p><code class="docutils literal notranslate"><span class="pre">_p%(p)0Nd</span></code>
+where <code class="docutils literal notranslate"><span class="pre">N</span></code> is the number of digits of the maximum
+integer value, i.e. If the largest parameter value is
+3142 then N = 4.</p>
+</dd>
+<dt>Default for non-integer parameters:</dt><dd><p><code class="docutils literal notranslate"><span class="pre">_%(p)s</span></code> e.g. <code class="docutils literal notranslate"><span class="pre">foo&lt;run&gt;</span></code> becomes <code class="docutils literal notranslate"><span class="pre">foo_top</span></code> for
+<code class="docutils literal notranslate"><span class="pre">run</span></code> value <code class="docutils literal notranslate"><span class="pre">top</span></code>.</p>
+</dd>
+</dl>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling]">
+<span class="sig-name descname"><span class="pre">[scheduling]</span></span><a class="headerlink" href="#flow.cylc[scheduling]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling]</span></code></p>
+</dd>
+</dl>
+<p>This section allows Cylc to determine when tasks are ready to run.</p>
+<p>Any cycle points defined here without a time zone will use the
+time zone from
+<a class="reference internal" href="#flow.cylc[scheduler]cycle point time zone" title="flow.cylc[scheduler]cycle point time zone"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]cycle</span> <span class="pre">point</span> <span class="pre">time</span> <span class="pre">zone</span></code></a>.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling]initial cycle point">
+<span class="sig-name descname"><span class="pre">initial</span> <span class="pre">cycle</span> <span class="pre">point</span></span><a class="headerlink" href="#flow.cylc[scheduling]initial cycle point" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling]initial</span> <span class="pre">cycle</span> <span class="pre">point</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-cycle_point" title="parsec-type-cycle_point"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">cycle</span> <span class="pre">point</span></code></a></p>
+</dd>
+</dl>
+<p>The earliest cycle point at which any task can run.</p>
+<p>In a cold start each cycling task (unless specifically excluded
+under <a class="reference internal" href="#flow.cylc[scheduling][special tasks]" title="flow.cylc[scheduling][special tasks]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[special</span> <span class="pre">tasks]</span></code></a>) will be loaded into the
+workflow with this cycle point, or with the closest subsequent
+valid cycle point for the task.</p>
+<p>In integer cycling, the default is <code class="docutils literal notranslate"><span class="pre">1</span></code>.</p>
+<p>The string <code class="docutils literal notranslate"><span class="pre">now</span></code> converts to the current datetime on the workflow
+host when first starting the workflow (with precision determined
+by <a class="reference internal" href="#flow.cylc[scheduler]cycle point format" title="flow.cylc[scheduler]cycle point format"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]cycle</span> <span class="pre">point</span> <span class="pre">format</span></code></a>).</p>
+<p>For more information on setting the initial cycle point relative
+to the current time see <a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#setting-the-icp-relative-to-now"><span class="std std-ref">Setting The Initial Cycle Point Relative To The Current Time</span></a>.</p>
+<p>This item can be overridden on the command line using
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span> <span class="pre">--initial-cycle-point</span></code> or <code class="docutils literal notranslate"><span class="pre">--icp</span></code>.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling]final cycle point">
+<span class="sig-name descname"><span class="pre">final</span> <span class="pre">cycle</span> <span class="pre">point</span></span><a class="headerlink" href="#flow.cylc[scheduling]final cycle point" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling]final</span> <span class="pre">cycle</span> <span class="pre">point</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>The (optional) last cycle point at which tasks are run.</p>
+<p>Once all tasks have reached this cycle point, the
+workflow will shut down.</p>
+<p>This item can be overridden on the command line using
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span> <span class="pre">--final-cycle-point</span></code> or <code class="docutils literal notranslate"><span class="pre">--fcp</span></code>.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling]initial cycle point constraints">
+<span class="sig-name descname"><span class="pre">initial</span> <span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">constraints</span></span><a class="headerlink" href="#flow.cylc[scheduling]initial cycle point constraints" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling]initial</span> <span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">constraints</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Rules to allow only some initial datetime cycle points.</p>
+<div class="admonition-use-case admonition">
+<p class="admonition-title">Use Case</p>
+<p>Writing a workflow where users may change the initial
+cycle point, but where only some initial cycle points are
+reasonable.</p>
+</div>
+<p>Set by defining a list of truncated time points, which
+the initial cycle point must match.</p>
+<p>Examples:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">T00,</span> <span class="pre">T06,</span> <span class="pre">T12,</span> <span class="pre">T18</span></code> - only at 6 hourly intervals.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">T-30</span></code> - only at half-past an hour.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">01T00</span></code> - only at midnight on the first day of a month.</p></li>
+</ul>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../tutorial/scheduling/datetime-cycling.html#tutorial-inferred-recurrence"><span class="std std-ref">Recurrence tutorial</span></a>.</p>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>This setting does not coerce <a class="reference internal" href="#flow.cylc[scheduling]initial cycle point" title="flow.cylc[scheduling]initial cycle point"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">initial</span> <span class="pre">cycle</span> <span class="pre">point=now</span></code></a>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling]final cycle point constraints">
+<span class="sig-name descname"><span class="pre">final</span> <span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">constraints</span></span><a class="headerlink" href="#flow.cylc[scheduling]final cycle point constraints" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling]final</span> <span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">constraints</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Rules restricting permitted final cycle points.</p>
+<p>In a cycling workflow it is possible to restrict the final cycle
+point by defining a list of truncated time points under the final
+cycle point constraints.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../tutorial/scheduling/datetime-cycling.html#tutorial-inferred-recurrence"><span class="std std-ref">Recurrence tutorial</span></a>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling]hold after cycle point">
+<span class="sig-name descname"><span class="pre">hold</span> <span class="pre">after</span> <span class="pre">cycle</span> <span class="pre">point</span></span><a class="headerlink" href="#flow.cylc[scheduling]hold after cycle point" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling]hold</span> <span class="pre">after</span> <span class="pre">cycle</span> <span class="pre">point</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-cycle_point" title="parsec-type-cycle_point"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">cycle</span> <span class="pre">point</span></code></a></p>
+</dd>
+</dl>
+<p>Hold all tasks that pass this cycle point.</p>
+<p>Unlike the final
+cycle point, the workflow does not shut down once all tasks have
+passed this point. If this item is set you can override it on the
+command line using <code class="docutils literal notranslate"><span class="pre">--hold-after</span></code>.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[scheduling]hold</span> <span class="pre">after</span> <span class="pre">point</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling]stop after cycle point">
+<span class="sig-name descname"><span class="pre">stop</span> <span class="pre">after</span> <span class="pre">cycle</span> <span class="pre">point</span></span><a class="headerlink" href="#flow.cylc[scheduling]stop after cycle point" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling]stop</span> <span class="pre">after</span> <span class="pre">cycle</span> <span class="pre">point</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-cycle_point" title="parsec-type-cycle_point"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">cycle</span> <span class="pre">point</span></code></a></p>
+</dd>
+</dl>
+<p>Shut down the workflow after all tasks pass this cycle point.</p>
+<p>The stop cycle point can be overridden on the command line using
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span> <span class="pre">--stop-cycle-point=POINT</span></code></p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Not to be confused with <a class="reference internal" href="#flow.cylc[scheduling]final cycle point" title="flow.cylc[scheduling]final cycle point"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">final</span> <span class="pre">cycle</span> <span class="pre">point</span></code></a>:
+There can be more graph beyond this point, but you are
+choosing not to run that part of the graph. You can play
+the workflow and continue.</p>
+</div>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling]cycling mode">
+<span class="sig-name descname"><span class="pre">cycling</span> <span class="pre">mode</span></span><a class="headerlink" href="#flow.cylc[scheduling]cycling mode" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling]cycling</span> <span class="pre">mode</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">gregorian</span></code></p>
+</dd>
+<dt class="field-even">Options<span class="colon">:</span></dt>
+<dd class="field-even"><p><code class="docutils literal notranslate"><span class="pre">360day</span></code>, <code class="docutils literal notranslate"><span class="pre">360_day</span></code>, <code class="docutils literal notranslate"><span class="pre">365day</span></code>, <code class="docutils literal notranslate"><span class="pre">365_day</span></code>, <code class="docutils literal notranslate"><span class="pre">366day</span></code>, <code class="docutils literal notranslate"><span class="pre">366_day</span></code>, <code class="docutils literal notranslate"><span class="pre">gregorian</span></code>, <code class="docutils literal notranslate"><span class="pre">integer</span></code></p>
+</dd>
+</dl>
+<p>Choice of <a class="reference internal" href="../../glossary.html#term-integer-cycling"><span class="xref std std-term">integer cycling</span></a> or one of several
+<a class="reference internal" href="../../glossary.html#term-datetime-cycling"><span class="xref std std-term">datetime cycling</span></a> calendars.</p>
+<p>Cylc runs workflows using the proleptic Gregorian calendar
+by default. This setting allows you to instead choose
+integer cycling, or one of the other supported non-Gregorian
+datetime calendars: 360 day (12 months of 30 days in a year),
+365 day (never a leap year) and 366 day (always a leap year).</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling]runahead limit">
+<span class="sig-name descname"><span class="pre">runahead</span> <span class="pre">limit</span></span><a class="headerlink" href="#flow.cylc[scheduling]runahead limit" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling]runahead</span> <span class="pre">limit</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">P4</span></code></p>
+</dd>
+</dl>
+<p>The scheduler runahead limit determines how many consecutive cycle
+points can be active at once. The base point of the runahead
+calculation is the lowest-valued point with <a class="reference internal" href="../../glossary.html#term-active"><span class="xref std std-term">active</span></a> or
+<a class="reference internal" href="../../glossary.html#term-incomplete"><span class="xref std std-term">incomplete</span></a> tasks present.</p>
+<p>An integer interval value of <code class="docutils literal notranslate"><span class="pre">Pn</span></code> allows up to <code class="docutils literal notranslate"><span class="pre">n+1</span></code> cycle
+points (including the base point) to be active at once.</p>
+<p>The default runahead limit is <code class="docutils literal notranslate"><span class="pre">P4</span></code>, i.e. 5 active points
+including the base point.</p>
+<p>Datetime cycling workflows can optionally use a datetime interval
+value instead, in which case the number of active cycle points
+within the interval depends on the cycling intervals present.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#runaheadlimit"><span class="std std-ref">Runahead Limiting</span></a></p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>The integer format <code class="docutils literal notranslate"><span class="pre">Pn</span></code> was introduced to replace the
+deprecated <code class="docutils literal notranslate"><span class="pre">[scheduling]max</span> <span class="pre">active</span> <span class="pre">cycle</span> <span class="pre">points</span> <span class="pre">=</span> <span class="pre">m</span></code>
+(with <code class="docutils literal notranslate"><span class="pre">n</span> <span class="pre">=</span> <span class="pre">m-1</span></code>) and unify it with the existing datetime
+interval <code class="docutils literal notranslate"><span class="pre">runahead</span> <span class="pre">limit</span></code> setting.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling][queues]">
+<span class="sig-name descname"><span class="pre">[queues]</span></span><a class="headerlink" href="#flow.cylc[scheduling][queues]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling][queues]</span></code></p>
+</dd>
+</dl>
+<p>Configuration of internal queues of tasks.</p>
+<p>This section will allow you to limit the number of simultaneously
+active tasks (submitted or running) by assigning tasks to queues.</p>
+<p>By default, a single queue called <code class="docutils literal notranslate"><span class="pre">default</span></code> is defined,
+with all tasks assigned to it and no limit to the number of those
+tasks which may be active.</p>
+<p>To use a single queue for the whole workflow, but limit the number
+of active tasks, set <a class="reference internal" href="#flow.cylc[scheduling][queues][default]limit" title="flow.cylc[scheduling][queues][default]limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[default]limit</span></code></a>.</p>
+<p>To add additional queues define additional sections:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[queues]]</span>
+    <span class="nt">[[[user_defined_queue]]]</span>
+        <span class="nv">limit </span><span class="o">=</span><span class="s"> 2</span>
+        <span class="nv">members </span><span class="o">=</span><span class="s"> TASK_FAMILY_NAME</span>
+</pre></div>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#internalqueues"><span class="std std-ref">Internal Queues</span></a>.</p>
+</div>
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling][queues][&lt;queue name&gt;]">
+<span class="sig-name descname"><span class="pre">[&lt;queue</span> <span class="pre">name&gt;]</span></span><a class="headerlink" href="#flow.cylc[scheduling][queues][<queue name>]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling][queues][&lt;queue</span> <span class="pre">name&gt;]</span></code></p>
+</dd>
+</dl>
+<p>Section heading for configuration of a single queue.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling][queues][&lt;queue name&gt;]limit">
+<span class="sig-name descname"><span class="pre">limit</span></span><a class="headerlink" href="#flow.cylc[scheduling][queues][<queue name>]limit" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling][queues][&lt;queue</span> <span class="pre">name&gt;]limit</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-integer" title="parsec-type-integer"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">integer</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">0</span></code></p>
+</dd>
+</dl>
+<p>The maximum number of active tasks allowed at any one
+time, for this queue.</p>
+<p>If set to 0 this queue is not limited.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling][queues][&lt;queue name&gt;]members">
+<span class="sig-name descname"><span class="pre">members</span></span><a class="headerlink" href="#flow.cylc[scheduling][queues][<queue name>]members" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling][queues][&lt;queue</span> <span class="pre">name&gt;]members</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-spaceless_list" title="parsec-type-spaceless_list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">spaceless</span> <span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>A list of member tasks, or task family names to assign to
+this queue.</p>
+<p>Assigned tasks will automatically be removed
+from the default queue.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling][queues][default]">
+<span class="sig-name descname"><span class="pre">[default]</span></span><a class="headerlink" href="#flow.cylc[scheduling][queues][default]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling][queues][default]</span></code></p>
+</dd>
+<dt class="field-even">Inherits<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#flow.cylc[scheduling][queues][&lt;queue name&gt;]" title="flow.cylc[scheduling][queues][&lt;queue name&gt;]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduling][queues][&lt;queue</span> <span class="pre">name&gt;]</span></code></a></p>
+</dd>
+</dl>
+<p>The default queue for all tasks not assigned to other queues.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling][queues][default]limit">
+<span class="sig-name descname"><span class="pre">limit</span></span><a class="headerlink" href="#flow.cylc[scheduling][queues][default]limit" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling][queues][default]limit</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-integer" title="parsec-type-integer"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">integer</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">100</span></code></p>
+</dd>
+</dl>
+<p>Controls the total number of active tasks in the default
+queue.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#flow.cylc[scheduling][queues][&lt;queue name&gt;]limit" title="flow.cylc[scheduling][queues][&lt;queue name&gt;]limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduling][queues][&lt;queue</span> <span class="pre">name&gt;]limit</span></code></a></p></li>
+<li><p><a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#internalqueues"><span class="std std-ref">Internal Queues</span></a></p></li>
+</ul>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling][special tasks]">
+<span class="sig-name descname"><span class="pre">[special</span> <span class="pre">tasks]</span></span><a class="headerlink" href="#flow.cylc[scheduling][special tasks]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling][special</span> <span class="pre">tasks]</span></code></p>
+</dd>
+</dl>
+<p>This section is used to identify tasks with special behaviour.</p>
+<p>Family names can be used in special task lists as shorthand for
+listing all member tasks.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling][special tasks]clock-trigger">
+<span class="sig-name descname"><span class="pre">clock-trigger</span></span><a class="headerlink" href="#flow.cylc[scheduling][special tasks]clock-trigger" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling][special</span> <span class="pre">tasks]clock-trigger</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Legacy clock trigger definitions.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>These are now auto-upgraded to the newer wall_clock xtriggers
+(see <a class="reference internal" href="../../user-guide/writing-workflows/external-triggers.html#section-external-triggers"><span class="std std-ref">External Triggers</span></a>). The old way defining
+clock-triggers will be removed in an upcoming Cylc version.</p>
+</div>
+<p>Clock-triggered tasks (see <a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#clocktriggertasks"><span class="std std-ref">Clock Triggers</span></a>) wait on a wall
+clock time specified as an offset from their own cycle point.</p>
+<p>Example:</p>
+<p><code class="docutils literal notranslate"><span class="pre">foo(PT1H30M),</span> <span class="pre">bar(PT1.5H),</span> <span class="pre">baz</span></code></p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling][special tasks]external-trigger">
+<span class="sig-name descname"><span class="pre">external-trigger</span></span><a class="headerlink" href="#flow.cylc[scheduling][special tasks]external-trigger" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling][special</span> <span class="pre">tasks]external-trigger</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Legacy external trigger definition section.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Please read <a class="reference internal" href="../../user-guide/writing-workflows/external-triggers.html#section-external-triggers"><span class="std std-ref">External Triggers</span></a> before
+using the older mechanism described in this section.</p>
+</div>
+<p>Externally triggered tasks (see <a class="reference internal" href="../../user-guide/writing-workflows/external-triggers.html#old-style-external-triggers"><span class="std std-ref">Push External Triggers</span></a>) wait on external events reported via the
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">ext-trigger</span></code> command. To constrain triggers to a
+specific cycle point, include <code class="docutils literal notranslate"><span class="pre">$CYLC_TASK_CYCLE_POINT</span></code>
+in the trigger message string and pass the cycle point to the
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">ext-trigger</span></code> command.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling][special tasks]clock-expire">
+<span class="sig-name descname"><span class="pre">clock-expire</span></span><a class="headerlink" href="#flow.cylc[scheduling][special tasks]clock-expire" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling][special</span> <span class="pre">tasks]clock-expire</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Don’t submit jobs if they are too late in wall clock time.</p>
+<p>Clock-expire tasks enter the <code class="docutils literal notranslate"><span class="pre">expired</span></code> state and skip job
+submission if too far behind the wall clock when they become
+ready to run.</p>
+<p>The expiry time is specified as an offset from the task’s
+cycle point. The offset:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p>May be positive or negative</p></li>
+<li><p>May be omitted if it is zero</p></li>
+</ul>
+</div></blockquote>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#clockexpiretasks"><span class="std std-ref">Clock-Expire Triggers</span></a>.</p>
+</div>
+<p>Examples:</p>
+<p><code class="docutils literal notranslate"><span class="pre">foo(PT1H)</span></code> - expire task <code class="docutils literal notranslate"><span class="pre">foo</span></code> if the current wall clock
+time has reached 1 hour after the task’s cycle point.</p>
+<p><code class="docutils literal notranslate"><span class="pre">bar(-PT5M)</span></code> - expire task <code class="docutils literal notranslate"><span class="pre">bar</span></code> if the current wall clock
+time has reached 5 minutes <em>before</em> the task’s cycle point.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling][special tasks]sequential">
+<span class="sig-name descname"><span class="pre">sequential</span></span><a class="headerlink" href="#flow.cylc[scheduling][special tasks]sequential" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling][special</span> <span class="pre">tasks]sequential</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>A list of tasks which automatically depend on their own
+previous-cycle instance.</p>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>Recommend best practice is now to use explicit inter-cycle
+triggers rather than sequential tasks.</p>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#sequentialtasks"><span class="std std-ref">Special Sequential Tasks</span></a>.</p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling][xtriggers]">
+<span class="sig-name descname"><span class="pre">[xtriggers]</span></span><a class="headerlink" href="#flow.cylc[scheduling][xtriggers]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling][xtriggers]</span></code></p>
+</dd>
+</dl>
+<p>This section is for <em>External Trigger</em> function declarations -
+see <a class="reference internal" href="../../user-guide/writing-workflows/external-triggers.html#section-external-triggers"><span class="std std-ref">External Triggers</span></a>.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling][xtriggers]&lt;xtrigger name&gt;">
+<span class="sig-name descname"><span class="pre">&lt;xtrigger</span> <span class="pre">name&gt;</span></span><a class="headerlink" href="#flow.cylc[scheduling][xtriggers]<xtrigger name>" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling][xtriggers]&lt;xtrigger</span> <span class="pre">name&gt;</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-xtrigger_function_signature" title="parsec-type-xtrigger_function_signature"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">xtrigger</span> <span class="pre">function</span> <span class="pre">signature</span></code></a></p>
+</dd>
+</dl>
+<p>Any user-defined event trigger function declarations and
+corresponding labels for use in the graph.</p>
+<p>See <a class="reference internal" href="../../user-guide/writing-workflows/external-triggers.html#section-external-triggers"><span class="std std-ref">External Triggers</span></a> for details.</p>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>``my_trigger(arg1, arg2, kwarg1, kwarg2):PT10S``
+</pre></div>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling][graph]">
+<span class="sig-name descname"><span class="pre">[graph]</span></span><a class="headerlink" href="#flow.cylc[scheduling][graph]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling][graph]</span></code></p>
+</dd>
+</dl>
+<p>The workflow graph is defined under this section.</p>
+<p>You can plot the dependency graph as you work on it, with
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code>.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#user-guide-scheduling"><span class="std std-ref">Scheduling Configuration</span></a>.</p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[runtime][dependencies][graph]</span></code>.</p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[scheduling][graph]&lt;recurrence&gt;">
+<span class="sig-name descname"><span class="pre">&lt;recurrence&gt;</span></span><a class="headerlink" href="#flow.cylc[scheduling][graph]<recurrence>" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[scheduling][graph]&lt;recurrence&gt;</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>The recurrence defines the sequence of cycle points
+for which the dependency graph is valid.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#user-guide-scheduling"><span class="std std-ref">Scheduling Configuration</span></a></p>
+</div>
+<p>Cycle points should be specified in our ISO 8601 derived
+sequence syntax, or as integers, in integer cycling mode:</p>
+<p>Example Recurrences:</p>
+<dl class="simple">
+<dt>datetime cycling:</dt><dd><ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">R1</span></code> - once at the initial cycle point</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">T00,T06,T12,T18</span></code> - daily at 00:00, 06:00, 12:00
+&amp; 18:00</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">PT6H</span></code> - every six hours starting at the initial
+cycle point</p></li>
+</ul>
+</dd>
+<dt>integer cycling:</dt><dd><ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">R1</span></code> - once at the initial cycle point</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">P2</span></code> - every other cycle</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">P3,P5</span></code> - every third or fifth cycle</p></li>
+</ul>
+</dd>
+</dl>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Unlike other Cylc configurations duplicate recurrences
+are additive and do not override.</p>
+<p>For example this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = a </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">b</span>
+<span class="nv">        R1 = c </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">d</span>
+</pre></div>
+</div>
+<p>Is equivalent to this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">a</span> <span class="o">=&gt;</span> <span class="kd">b</span>
+            <span class="kd">c</span> <span class="o">=&gt;</span> <span class="kd">d</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>See <a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#graphtypes"><span class="std std-ref">Graph Types</span></a> for more on recurrence expressions,
+and how multiple graphs combine.</p>
+</div>
+<p>The value should be a dependency graph the given recurrence.
+Syntax examples follow; see also <a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#user-guide-scheduling"><span class="std std-ref">Scheduling Configuration</span></a>
+and <a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#triggertypes"><span class="std std-ref">Task Triggering</span></a>.</p>
+<p>Example Graph Strings:</p>
+<blockquote>
+<div><div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="c1"># baz and waz both trigger off bar</span>
+<span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">bar</span> <span class="o">=&gt;</span> <span class="kd">baz</span> <span class="o">&amp;</span> <span class="kd">waz</span>
+
+<span class="c1"># bar triggers off foo[-P1D-PT6H]</span>
+<span class="kd">foo</span>[<span class="nb">-P1D-PT6H</span>] <span class="o">=&gt;</span> <span class="kd">bar</span>
+
+<span class="c1"># faz triggers off a message output of baz</span>
+<span class="kd">baz</span><span class="c">:</span><span class="kd">out1</span> <span class="o">=&gt;</span> <span class="kd">faz</span>
+
+<span class="c1"># Y triggers if X starts executing</span>
+<span class="kd">X</span><span class="c">:</span><span class="kd">start</span> <span class="o">=&gt;</span> <span class="kd">Y</span>
+
+<span class="c1"># Y triggers if X fails</span>
+<span class="kd">X</span><span class="c">:</span><span class="kd">fail</span> <span class="o">=&gt;</span> <span class="kd">Y</span>
+
+<span class="c1"># bar triggers if foo[-PT6H] fails</span>
+<span class="kd">foo</span>[<span class="nb">-PT6H</span>]<span class="c">:</span><span class="kd">fail</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+
+<span class="c1"># Y suicides if X succeeds</span>
+<span class="kd">X</span> <span class="o">=&gt;</span> <span class="x">!Y</span>
+
+<span class="c1"># Z triggers if X succeeds or fails</span>
+<span class="kd">X</span> <span class="o">|</span> <span class="kd">X</span><span class="c">:</span><span class="kd">fail</span> <span class="o">=&gt;</span> <span class="kd">Z</span>
+
+<span class="c1"># Z triggers if X succeeds or fails</span>
+<span class="kd">X</span><span class="c">:</span><span class="kd">finish</span> <span class="o">=&gt;</span> <span class="kd">Z</span>
+
+<span class="c1"># general conditional triggers</span>
+<span class="p">(</span><span class="kd">A</span> <span class="o">|</span> <span class="kd">B</span> <span class="o">&amp;</span> <span class="kd">C</span> <span class="p">)</span> <span class="o">|</span> <span class="kd">D</span> <span class="o">=&gt;</span> <span class="kd">foo</span>
+
+<span class="c1"># bar triggers if foo is successfully submitted</span>
+<span class="kd">foo</span><span class="c">:</span><span class="kd">submit</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+
+<span class="c1"># bar triggers if submission of foo fails</span>
+<span class="kd">foo</span><span class="c">:</span><span class="kd">submit</span><span class="c">-</span><span class="kd">fail</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+</pre></div>
+</div>
+</div></blockquote>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called 
+<code class="docutils literal notranslate"><span class="pre">[runtime][dependencies][graph][&lt;recurrence&gt;]graph</span></code>.</p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime]">
+<span class="sig-name descname"><span class="pre">[runtime]</span></span><a class="headerlink" href="#flow.cylc[runtime]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime]</span></code></p>
+</dd>
+</dl>
+<p>This section is used to specify settings for tasks to be run.</p>
+<p>You can specify:</p>
+<ul class="simple">
+<li><p>What scripts or commands you want to execute.</p></li>
+<li><p>Which compute resource (platform) you wish to use.</p></li>
+<li><p>How to run your task.</p></li>
+</ul>
+<p>If multiple tasks need the same settings, they can share settings by
+inheriting them from one or more other tasks.</p>
+<p>Precedence is determined by the same C3
+linearization algorithm used to find the <em>method resolution order</em>
+in Python language class hierarchies.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p>For details and examples see <a class="reference internal" href="../../user-guide/writing-workflows/runtime.html#user-guide-runtime"><span class="std std-ref">Task Configuration</span></a>.</p>
+</div>
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;]">
+<span class="sig-name descname"><span class="pre">[&lt;namespace&gt;]</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]</span></code></p>
+</dd>
+</dl>
+<p>The name(s) of one or more tasks or task families.</p>
+<p>A namespace (i.e. task or family name) or a comma-separated list
+of namespace names, and repeat as needed to define all tasks in
+the workflow. Names may contain letters, digits, underscores, and
+hyphens.  A namespace represents a group or family of tasks if
+other namespaces inherit from it, or a task if no others inherit
+from it.</p>
+<div class="admonition important">
+<p class="admonition-title">Important</p>
+<p>Names may not contain <code class="docutils literal notranslate"><span class="pre">:</span></code> or <code class="docutils literal notranslate"><span class="pre">.</span></code>.</p>
+<p>See <a class="reference internal" href="../../user-guide/writing-workflows/runtime.html#namespace-names"><span class="std std-ref">task namespace rules.</span></a></p>
+</div>
+<p>Examples of legal values:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">[foo]</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[foo,</span> <span class="pre">bar,</span> <span class="pre">baz]</span></code></p></li>
+</ul>
+<p>If multiple names are listed the subsequent settings apply to
+all.</p>
+<p>All tasks or task families inherit initially from <code class="docutils literal notranslate"><span class="pre">root</span></code>, which
+can be explicitly configured to provide or override default
+settings for all tasks in the workflow.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;]platform">
+<span class="sig-name descname"><span class="pre">platform</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>]platform" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]platform</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>The name of a compute resource defined in
+<a class="reference internal" href="global.html#global.cylc[platforms]" title="global.cylc[platforms]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms]</span></code></a> or
+<a class="reference internal" href="global.html#global.cylc[platform groups]" title="global.cylc[platform groups]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platform</span> <span class="pre">groups]</span></code></a>.</p>
+<p>The platform specifies the host(s) that the tasks’ jobs
+will run on and where (if necessary) files need to be
+installed, and what job runner will be used.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;]inherit">
+<span class="sig-name descname"><span class="pre">inherit</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>]inherit" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]inherit</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>A list of the immediate parent(s) of this task or task family.</p>
+<p>If no parents are listed default is <code class="docutils literal notranslate"><span class="pre">root</span></code>.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;]script">
+<span class="sig-name descname"><span class="pre">script</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>]script" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]script</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>The main custom script run from the job script.</p>
+<p>It can be an external command or script, or inlined scripting.</p>
+<p>See <a class="reference internal" href="../../user-guide/writing-workflows/runtime.html#task-job-script-variables"><span class="std std-ref">Job Script Variables</span></a> for the list of variables
+available in the task execution environment.</p>
+<p>See also <a class="reference internal" href="../../user-guide/task-implementation/job-scripts.html#jobscripts"><span class="std std-ref">Job Scripts</span></a>.</p>
+<p>Other user-defined script items:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]init-script" title="flow.cylc[runtime][&lt;namespace&gt;]init-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">init-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]env-script" title="flow.cylc[runtime][&lt;namespace&gt;]env-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">env-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]pre-script" title="flow.cylc[runtime][&lt;namespace&gt;]pre-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">pre-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]post-script" title="flow.cylc[runtime][&lt;namespace&gt;]post-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">post-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]err-script" title="flow.cylc[runtime][&lt;namespace&gt;]err-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">err-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]exit-script" title="flow.cylc[runtime][&lt;namespace&gt;]exit-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">exit-script</span></code></a></p></li>
+</ul>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">my_script</span><span class="o">.</span><span class="n">sh</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;]init-script">
+<span class="sig-name descname"><span class="pre">init-script</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>]init-script" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]init-script</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Custom script run by the job script before the task
+execution environment is configured.</p>
+<p>By running before the task execution environment is configured,
+this script does not have
+access to any workflow or task environment variables. It can be
+an external command or script, or inlined scripting. The
+original intention for this item was to allow remote tasks to
+source login scripts to configure their access to cylc, but
+this should no longer be necessary.</p>
+<p>See also <a class="reference internal" href="../../user-guide/task-implementation/job-scripts.html#jobscripts"><span class="std std-ref">Job Scripts</span></a>.</p>
+<p>Other user-defined script items:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]env-script" title="flow.cylc[runtime][&lt;namespace&gt;]env-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">env-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]pre-script" title="flow.cylc[runtime][&lt;namespace&gt;]pre-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">pre-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]script" title="flow.cylc[runtime][&lt;namespace&gt;]script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]post-script" title="flow.cylc[runtime][&lt;namespace&gt;]post-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">post-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]err-script" title="flow.cylc[runtime][&lt;namespace&gt;]err-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">err-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]exit-script" title="flow.cylc[runtime][&lt;namespace&gt;]exit-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">exit-script</span></code></a></p></li>
+</ul>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">echo</span> <span class="s2">&quot;Hello World&quot;</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;]env-script">
+<span class="sig-name descname"><span class="pre">env-script</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>]env-script" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]env-script</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Custom script run by the job script between the
+cylc-defined environment (workflow and task identity, etc.) and
+the user-defined task runtime environment.</p>
+<p>The env-script has access to the Cylc environment (and the task
+environment has access to variables defined by this scripting).
+It can be an external command or script, or inlined scripting.</p>
+<p>See also <a class="reference internal" href="../../user-guide/task-implementation/job-scripts.html#jobscripts"><span class="std std-ref">Job Scripts</span></a>.</p>
+<p>Other user-defined script items:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]init-script" title="flow.cylc[runtime][&lt;namespace&gt;]init-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">init-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]pre-script" title="flow.cylc[runtime][&lt;namespace&gt;]pre-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">pre-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]script" title="flow.cylc[runtime][&lt;namespace&gt;]script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]post-script" title="flow.cylc[runtime][&lt;namespace&gt;]post-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">post-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]err-script" title="flow.cylc[runtime][&lt;namespace&gt;]err-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">err-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]exit-script" title="flow.cylc[runtime][&lt;namespace&gt;]exit-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">exit-script</span></code></a></p></li>
+</ul>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">echo</span> <span class="s2">&quot;Hello World&quot;</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;]err-script">
+<span class="sig-name descname"><span class="pre">err-script</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>]err-script" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]err-script</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Script run when a job error is detected.</p>
+<blockquote>
+<div><p>Custom script to be run at the end of the error trap,
+which is triggered due to failure of a command in the job
+script or trappable job kill.</p>
+<p>The output of this script will always
+be sent to STDERR and <code class="docutils literal notranslate"><span class="pre">$1</span></code> is set to the name of the signal
+caught by the error trap. The script should be fast and use
+very little system resource to ensure that the error trap can
+return quickly.  Companion of <a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]exit-script" title="flow.cylc[runtime][&lt;namespace&gt;]exit-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">exit-script</span></code></a>,
+which is executed on job success.  It can be an external
+command or script, or inlined scripting.</p>
+</div></blockquote>
+<p>See also <a class="reference internal" href="../../user-guide/task-implementation/job-scripts.html#jobscripts"><span class="std std-ref">Job Scripts</span></a>.</p>
+<p>Other user-defined script items:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]init-script" title="flow.cylc[runtime][&lt;namespace&gt;]init-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">init-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]env-script" title="flow.cylc[runtime][&lt;namespace&gt;]env-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">env-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]pre-script" title="flow.cylc[runtime][&lt;namespace&gt;]pre-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">pre-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]script" title="flow.cylc[runtime][&lt;namespace&gt;]script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]post-script" title="flow.cylc[runtime][&lt;namespace&gt;]post-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">post-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]exit-script" title="flow.cylc[runtime][&lt;namespace&gt;]exit-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">exit-script</span></code></a></p></li>
+</ul>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">echo</span> <span class="s2">&quot;Uh oh, received $</span><span class="si">{1}</span><span class="s2">&quot;</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;]exit-script">
+<span class="sig-name descname"><span class="pre">exit-script</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>]exit-script" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]exit-script</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Custom script run at the very end of <em>successful</em> job
+execution, just before the job script exits.</p>
+<p>The exit-script should execute very quickly.
+Companion of <a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]err-script" title="flow.cylc[runtime][&lt;namespace&gt;]err-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">err-script</span></code></a>,
+which is executed on job failure. It can be an external
+command or script, or inlined scripting.</p>
+<p>See also <a class="reference internal" href="../../user-guide/task-implementation/job-scripts.html#jobscripts"><span class="std std-ref">Job Scripts</span></a>.</p>
+<p>Other user-defined script items:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]init-script" title="flow.cylc[runtime][&lt;namespace&gt;]init-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">init-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]env-script" title="flow.cylc[runtime][&lt;namespace&gt;]env-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">env-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]pre-script" title="flow.cylc[runtime][&lt;namespace&gt;]pre-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">pre-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]script" title="flow.cylc[runtime][&lt;namespace&gt;]script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]post-script" title="flow.cylc[runtime][&lt;namespace&gt;]post-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">post-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]err-script" title="flow.cylc[runtime][&lt;namespace&gt;]err-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">err-script</span></code></a></p></li>
+</ul>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">rm</span> <span class="o">-</span><span class="n">f</span> <span class="s2">&quot;$TMP_FILES&quot;</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;]pre-script">
+<span class="sig-name descname"><span class="pre">pre-script</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>]pre-script" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]pre-script</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Custom script run by the job script immediately
+before <a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]script" title="flow.cylc[runtime][&lt;namespace&gt;]script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">script</span></code></a>.</p>
+<p>The pre-script can be an external command or script, or
+inlined scripting.</p>
+<p>See also <a class="reference internal" href="../../user-guide/task-implementation/job-scripts.html#jobscripts"><span class="std std-ref">Job Scripts</span></a>.</p>
+<p>Other user-defined script items:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]init-script" title="flow.cylc[runtime][&lt;namespace&gt;]init-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">init-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]env-script" title="flow.cylc[runtime][&lt;namespace&gt;]env-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">env-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]script" title="flow.cylc[runtime][&lt;namespace&gt;]script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]post-script" title="flow.cylc[runtime][&lt;namespace&gt;]post-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">post-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]err-script" title="flow.cylc[runtime][&lt;namespace&gt;]err-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">err-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]exit-script" title="flow.cylc[runtime][&lt;namespace&gt;]exit-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">exit-script</span></code></a></p></li>
+</ul>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">echo</span> <span class="s2">&quot;Hello from workflow $</span><span class="si">{CYLC_WORKFLOW_ID}</span><span class="s2">!&quot;</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;]post-script">
+<span class="sig-name descname"><span class="pre">post-script</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>]post-script" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]post-script</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Custom script run by the job script immediately
+after <a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]script" title="flow.cylc[runtime][&lt;namespace&gt;]script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">script</span></code></a>.</p>
+<p>The post-script can be an external
+command or script, or inlined scripting.</p>
+<p>See also <a class="reference internal" href="../../user-guide/task-implementation/job-scripts.html#jobscripts"><span class="std std-ref">Job Scripts</span></a>.</p>
+<p>Other user-defined script items:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]init-script" title="flow.cylc[runtime][&lt;namespace&gt;]init-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">init-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]env-script" title="flow.cylc[runtime][&lt;namespace&gt;]env-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">env-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]pre-script" title="flow.cylc[runtime][&lt;namespace&gt;]pre-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">pre-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]script" title="flow.cylc[runtime][&lt;namespace&gt;]script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]err-script" title="flow.cylc[runtime][&lt;namespace&gt;]err-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">err-script</span></code></a></p></li>
+<li><p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]exit-script" title="flow.cylc[runtime][&lt;namespace&gt;]exit-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">exit-script</span></code></a></p></li>
+</ul>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">echo</span> <span class="s2">&quot;Hello World&quot;</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;]work sub-directory">
+<span class="sig-name descname"><span class="pre">work</span> <span class="pre">sub-directory</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>]work sub-directory" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]work</span> <span class="pre">sub-directory</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>The directory from which tasks are executed.</p>
+<p>Job scripts are executed from within <em>work directories</em>
+created automatically under the workflow run directory. A task
+can get its own work directory from <code class="docutils literal notranslate"><span class="pre">$CYLC_TASK_WORK_DIR</span></code>
+(or <code class="docutils literal notranslate"><span class="pre">$PWD</span></code> if it does not <code class="docutils literal notranslate"><span class="pre">cd</span></code> elsewhere at
+runtime). The default directory path contains task name and
+cycle point, to provide a unique workspace for every instance
+of every task. If several tasks need to exchange files and
+simply read and write from their from current working
+directory, setting <code class="docutils literal notranslate"><span class="pre">work</span> <span class="pre">sub-directory</span></code> can be used to
+override the default to make them all use the same workspace.</p>
+<p>The top level share and work directory location can be changed
+(e.g. to a large data area) by a global config setting (see
+<a class="reference internal" href="global.html#global.cylc[install][symlink dirs]" title="global.cylc[install][symlink dirs]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs]</span></code></a>).</p>
+<div class="admonition caution">
+<p class="admonition-title">Caution</p>
+<p>If you omit cycle point from the work sub-directory path
+successive instances of the task will share the same
+workspace. Consider the effect on cycle point offset
+housekeeping of work directories before doing this.</p>
+</div>
+<p>Example:</p>
+<blockquote>
+<div><p><code class="docutils literal notranslate"><span class="pre">$CYLC_TASK_CYCLE_POINT/shared/</span></code></p>
+</div></blockquote>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;]execution polling intervals">
+<span class="sig-name descname"><span class="pre">execution</span> <span class="pre">polling</span> <span class="pre">intervals</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>]execution polling intervals" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]execution</span> <span class="pre">polling</span> <span class="pre">intervals</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval_list" title="parsec-type-time_interval_list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span> <span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>List of intervals at which to poll status of job execution.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[platforms][&lt;platform name&gt;]execution polling intervals" title="global.cylc[platforms][&lt;platform name&gt;]execution polling intervals"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]execution</span> <span class="pre">polling</span> <span class="pre">intervals</span></code></a>.</p>
+<p>Cylc can poll running jobs to catch problems that prevent task messages from
+being sent back to the workflow, such as hard job kills, network outages, or
+unplanned job host shutdown.</p>
+<p>The last interval in the list is used repeatedly until the job completes.</p>
+<p>Multipliers can be used as shorthand as in the example below.</p>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mi">5</span><span class="o">*</span><span class="n">PT2M</span><span class="p">,</span> <span class="n">PT5M</span>
+</pre></div>
+</div>
+<p>Note that if the polling
+<a class="reference internal" href="global.html#global.cylc[platforms][&lt;platform name&gt;]communication method" title="global.cylc[platforms][&lt;platform name&gt;]communication method"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]communication</span> <span class="pre">method</span></code></a> is
+used then Cylc relies on polling to detect all task state changes, so you may
+want to configure more frequent polling.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][job]execution</span> <span class="pre">polling</span> <span class="pre">intervals</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;]execution retry delays">
+<span class="sig-name descname"><span class="pre">execution</span> <span class="pre">retry</span> <span class="pre">delays</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>]execution retry delays" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]execution</span> <span class="pre">retry</span> <span class="pre">delays</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval_list" title="parsec-type-time_interval_list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span> <span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Cylc can automate resubmission of failed jobs.</p>
+<p>Execution retry delays is a list of ISO 8601 durations which
+tell Cylc how long to wait before the next try.</p>
+<p>The job environment variable <code class="docutils literal notranslate"><span class="pre">$CYLC_TASK_TRY_NUMBER</span></code>
+increments with each automatic retry, allowing you to vary task
+behaviour between retries.</p>
+<p>Tasks only go to the <code class="docutils literal notranslate"><span class="pre">failed</span></code> state if job execution fails
+with no retries left.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][job]execution</span>
+<span class="pre">retry</span> <span class="pre">delays</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;]execution time limit">
+<span class="sig-name descname"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>]execution time limit" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+</dl>
+<p>Set the execution (<a class="reference internal" href="../../glossary.html#term-wallclock-time"><span class="xref std std-term">wallclock</span></a>) time
+limit of a job.</p>
+<p>For <code class="docutils literal notranslate"><span class="pre">background</span></code> and <code class="docutils literal notranslate"><span class="pre">at</span></code> job runners Cylc runs the
+job’s script using the timeout command. For other job runners
+Cylc will convert execution time limit to a <a class="reference internal" href="../../glossary.html#term-directive"><span class="xref std std-term">directive</span></a>.</p>
+<p>If a job exceeds its execution time limit Cylc can
+poll the job multiple times. You can set polling
+intervals using <a class="reference internal" href="global.html#global.cylc[platforms][&lt;platform name&gt;]execution time limit polling intervals" title="global.cylc[platforms][&lt;platform name&gt;]execution time limit polling intervals"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]execution</span> <span class="pre">time</span> <span class="pre">limit</span> <span class="pre">polling</span> <span class="pre">intervals</span></code></a></p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][job]execution</span>
+<span class="pre">time</span> <span class="pre">limit</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;]submission polling intervals">
+<span class="sig-name descname"><span class="pre">submission</span> <span class="pre">polling</span> <span class="pre">intervals</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>]submission polling intervals" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]submission</span> <span class="pre">polling</span> <span class="pre">intervals</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval_list" title="parsec-type-time_interval_list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span> <span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>List of intervals at which to poll status of job submission.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[platforms][&lt;platform name&gt;]submission polling intervals" title="global.cylc[platforms][&lt;platform name&gt;]submission polling intervals"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]submission</span> <span class="pre">polling</span> <span class="pre">intervals</span></code></a>.</p>
+<p>Cylc can poll submitted jobs to catch problems that prevent the submitted job
+from executing at all, such as deletion from an external job runner queue.</p>
+<p>The last value is used repeatedly until the task starts running.</p>
+<p>Multipliers can be used as shorthand as in the example below.</p>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mi">5</span><span class="o">*</span><span class="n">PT2M</span><span class="p">,</span> <span class="n">PT5M</span>
+</pre></div>
+</div>
+<p>Note that if the polling
+<a class="reference internal" href="global.html#global.cylc[platforms][&lt;platform name&gt;]communication method" title="global.cylc[platforms][&lt;platform name&gt;]communication method"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]communication</span> <span class="pre">method</span></code></a>
+is used then Cylc relies on polling to detect all task state changes,
+so you may want to configure more frequent polling.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][job]submission</span> <span class="pre">polling</span> <span class="pre">intervals</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;]submission retry delays">
+<span class="sig-name descname"><span class="pre">submission</span> <span class="pre">retry</span> <span class="pre">delays</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>]submission retry delays" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]submission</span> <span class="pre">retry</span> <span class="pre">delays</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval_list" title="parsec-type-time_interval_list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span> <span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Cylc can automatically resubmit jobs after submission failures.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[platforms][&lt;platform name&gt;]submission retry delays" title="global.cylc[platforms][&lt;platform name&gt;]submission retry delays"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]submission</span> <span class="pre">retry</span> <span class="pre">delays</span></code></a>.</p>
+<p>Submission retry delays is a list of ISO 8601 durations which tell Cylc
+how long to wait before the next try.</p>
+<p>The job environment variable <code class="docutils literal notranslate"><span class="pre">$CYLC_TASK_SUBMIT_NUMBER</span></code> increments with each
+job submission attempt.</p>
+<p>Tasks only go to the <code class="docutils literal notranslate"><span class="pre">submit-failed</span></code> state if job submission fails with no
+retries left.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][job]submission</span> <span class="pre">retry</span> <span class="pre">delays</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][meta]">
+<span class="sig-name descname"><span class="pre">[meta]</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][meta]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][meta]</span></code></p>
+</dd>
+</dl>
+<p>Metadata for the task or task family.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">meta</span></code> section contains metadata items for this task or
+family namespace. The items <code class="docutils literal notranslate"><span class="pre">title</span></code>, <code class="docutils literal notranslate"><span class="pre">description</span></code> and
+<code class="docutils literal notranslate"><span class="pre">URL</span></code> are pre-defined and are used by Cylc. Others can be
+user-defined and passed to task event handlers to be
+interpreted according to your needs. For example, the value of
+an “importance” item could determine how an event handler
+responds to task failure events.</p>
+<p>Any workflow meta item can now be passed to task event handlers
+by prefixing the string template item name with <code class="docutils literal notranslate"><span class="pre">workflow_</span></code>,
+for example:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="nt">[[[events]]]</span>
+            <span class="nv">failed handlers </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">                send-help.sh \</span>
+<span class="s2">                    %(workflow_title)s \</span>
+<span class="s2">                    %(workflow_importance)s \</span>
+<span class="s2">                    %(title)s</span>
+<span class="s2">             &quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][meta]title">
+<span class="sig-name descname"><span class="pre">title</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][meta]title" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][meta]title</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>A single line description of this task or task family.</p>
+<p>It is displayed by the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">list</span></code> command and can be
+retrieved from running tasks with the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">show</span></code>
+command.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][meta]description">
+<span class="sig-name descname"><span class="pre">description</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][meta]description" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][meta]description</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>A multi-line description of this task or task family.</p>
+<p>It is retrievable from running tasks with the
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">show</span></code> command.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][meta]URL">
+<span class="sig-name descname"><span class="pre">URL</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][meta]URL" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][meta]URL</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>A URL link to task documentation for this task or task
+family.</p>
+<p>The templates <code class="docutils literal notranslate"><span class="pre">%(workflow)s</span></code> and
+<code class="docutils literal notranslate"><span class="pre">%(task)s</span></code> will be replaced with the actual
+workflow ID and task name.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>The <code class="docutils literal notranslate"><span class="pre">%(suite_name)s</span></code> template variable is
+deprecated, please use <code class="docutils literal notranslate"><span class="pre">%(workflow)s</span></code>.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">%(task_name)s</span></code> template variable is
+deprecated, please use <code class="docutils literal notranslate"><span class="pre">%(task)s</span></code>.</p>
+</div>
+<p>See also <a class="reference internal" href="#flow.cylc[meta]URL" title="flow.cylc[meta]URL"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[meta]URL</span></code></a>.</p>
+<p>Example:</p>
+<p><code class="docutils literal notranslate"><span class="pre">http://my-site.com/workflows/%(workflow)s/%(task)s.html</span></code></p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][meta]&lt;custom metadata&gt;">
+<span class="sig-name descname"><span class="pre">&lt;custom</span> <span class="pre">metadata&gt;</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][meta]<custom metadata>" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][meta]&lt;custom</span> <span class="pre">metadata&gt;</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Any user-defined metadata item.</p>
+<p>These, like title, description and URL. can be passed to
+task event handlers to be interpreted according to your
+needs. For example, the value of an “importance” item could
+determine how an event handler responds to task failure
+events.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][simulation]">
+<span class="sig-name descname"><span class="pre">[simulation]</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][simulation]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][simulation]</span></code></p>
+</dd>
+</dl>
+<p>Task configuration for workflow <em>simulation</em> and <em>dummy</em> run
+modes.</p>
+<p>For a full description of simulation and dummy run modes see
+<a class="reference internal" href="../../user-guide/running-workflows/simulation-modes.html#simulationmode"><span class="std std-ref">Simulation Modes</span></a>.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][simulation]default run length">
+<span class="sig-name descname"><span class="pre">default</span> <span class="pre">run</span> <span class="pre">length</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][simulation]default run length" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][simulation]default</span> <span class="pre">run</span> <span class="pre">length</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">PT10S</span></code></p>
+</dd>
+</dl>
+<p>The default simulated job run length.</p>
+<p>Used if <a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> <strong>and</strong>
+<a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;][simulation]speedup factor" title="flow.cylc[runtime][&lt;namespace&gt;][simulation]speedup factor"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][simulation]speedup</span> <span class="pre">factor</span></code></a> are not set.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][simulation]speedup factor">
+<span class="sig-name descname"><span class="pre">speedup</span> <span class="pre">factor</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][simulation]speedup factor" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][simulation]speedup</span> <span class="pre">factor</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-float" title="parsec-type-float"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">float</span></code></a></p>
+</dd>
+</dl>
+<p>Simulated run length = speedup factor * execution time
+limit.</p>
+<p>If <a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> is set, the task
+simulated run length is computed by dividing it by this
+factor.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][simulation]time limit buffer">
+<span class="sig-name descname"><span class="pre">time</span> <span class="pre">limit</span> <span class="pre">buffer</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][simulation]time limit buffer" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][simulation]time</span> <span class="pre">limit</span> <span class="pre">buffer</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">PT30S</span></code></p>
+</dd>
+</dl>
+<p>For dummy jobs <a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> is extended
+by <code class="docutils literal notranslate"><span class="pre">time</span> <span class="pre">limit</span> <span class="pre">buffer</span></code>.</p>
+<p>The time limit buffer is added to prevent dummy jobs
+being killed after exceeding the <code class="docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code>.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][simulation]fail cycle points">
+<span class="sig-name descname"><span class="pre">fail</span> <span class="pre">cycle</span> <span class="pre">points</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][simulation]fail cycle points" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][simulation]fail</span> <span class="pre">cycle</span> <span class="pre">points</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Configure simulated or dummy jobs to fail at certain cycle
+points.</p>
+<p>Example:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">all</span></code> - all instance of the task will fail</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">2017-08-12T06,</span> <span class="pre">2017-08-12T18</span></code> - these instances of
+the task will fail</p></li>
+</ul>
+<p>If you set <a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]execution retry delays" title="flow.cylc[runtime][&lt;namespace&gt;]execution retry delays"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">retry</span> <span class="pre">delays</span></code></a>
+the second attempt will succeed unless you set
+<a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;][simulation]fail try 1 only" title="flow.cylc[runtime][&lt;namespace&gt;][simulation]fail try 1 only"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">fail</span> <span class="pre">try</span> <span class="pre">1</span> <span class="pre">only=False</span></code></a>.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][simulation]fail try 1 only">
+<span class="sig-name descname"><span class="pre">fail</span> <span class="pre">try</span> <span class="pre">1</span> <span class="pre">only</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][simulation]fail try 1 only" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][simulation]fail</span> <span class="pre">try</span> <span class="pre">1</span> <span class="pre">only</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-boolean" title="parsec-type-boolean"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">boolean</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">True</span></code></p>
+</dd>
+</dl>
+<p>If <code class="docutils literal notranslate"><span class="pre">True</span></code> only the first run of the task
+instance will fail, otherwise retries will fail too.</p>
+<p>Task instances must be set to fail by
+<a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;][simulation]fail cycle points" title="flow.cylc[runtime][&lt;namespace&gt;][simulation]fail cycle points"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">fail</span> <span class="pre">cycle</span> <span class="pre">points</span></code></a>.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][simulation]disable task event handlers">
+<span class="sig-name descname"><span class="pre">disable</span> <span class="pre">task</span> <span class="pre">event</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][simulation]disable task event handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][simulation]disable</span> <span class="pre">task</span> <span class="pre">event</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-boolean" title="parsec-type-boolean"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">boolean</span></code></a></p>
+</dd>
+<dt class="field-odd">Default<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">True</span></code></p>
+</dd>
+</dl>
+<p>If <code class="docutils literal notranslate"><span class="pre">True</span></code> configured task event handlers
+will not be called in simulation or dummy modes.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][environment filter]">
+<span class="sig-name descname"><span class="pre">[environment</span> <span class="pre">filter]</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][environment filter]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][environment</span> <span class="pre">filter]</span></code></p>
+</dd>
+</dl>
+<p>This section contains environment variable inclusion and
+exclusion lists that can be used to filter the inherited
+environment.</p>
+<p><em>This is not intended as an alternative to a
+well-designed inheritance hierarchy that provides each task
+with just the variables it needs.</em></p>
+<p>Filters can improve workflows with tasks which inherit a lot
+of environment variables: Filters can make it clear which
+variables each task uses.</p>
+<p>You can use filters as explicit “task environment interfaces”.
+They make sure that variables filtered out of the inherited
+environment are not used. However, using filters in this way
+will make your workflow definition longer.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Environment filtering is done after inheritance is
+completely worked out, not at each level on the way, so
+filter lists in higher-level namespaces only have an effect
+if they are not overridden by descendants.</p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][environment filter]include">
+<span class="sig-name descname"><span class="pre">include</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][environment filter]include" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][environment</span> <span class="pre">filter]include</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>If given, <strong>only</strong> variables named in this list will be
+included from the inherited environment.</p>
+<p>Other variables will be filtered out. Variables may also
+be explicitly excluded by an <code class="docutils literal notranslate"><span class="pre">exclude</span></code> list.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][environment filter]exclude">
+<span class="sig-name descname"><span class="pre">exclude</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][environment filter]exclude" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][environment</span> <span class="pre">filter]exclude</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Variables named in this list will be filtered out of the
+inherited environment.</p>
+<p>Variables may also be implicitly
+excluded by omission from an <code class="docutils literal notranslate"><span class="pre">include</span></code> list.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][job]">
+<span class="sig-name descname"><span class="pre">[job]</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][job]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][job]</span></code></p>
+</dd>
+</dl>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>This is used to select a matching platform.
+It will be removed in a future version of Cylc 8.
+Please set a suitable platform in
+<a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]platform" title="flow.cylc[runtime][&lt;namespace&gt;]platform"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]platform</span></code></a> instead.
+<a class="reference internal" href="../../7-to-8/major-changes/platforms.html#majorchangesplatforms"><span class="std std-ref">See the migration guide</span></a>.</p>
+</div>
+<p>This section configures the means by which cylc submits task
+job scripts to run.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][job]batch system">
+<span class="sig-name descname"><span class="pre">batch</span> <span class="pre">system</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][job]batch system" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][job]batch</span> <span class="pre">system</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Kept for back compatibility but replaced by
+<a class="reference internal" href="global.html#global.cylc[platforms][&lt;platform name&gt;]job runner" title="global.cylc[platforms][&lt;platform name&gt;]job runner"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]job</span> <span class="pre">runner</span></code></a>.</p>
+</div>
+<p>Batch/queuing system (aka job runner) to submit task
+jobs to.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][job]batch submit command template">
+<span class="sig-name descname"><span class="pre">batch</span> <span class="pre">submit</span> <span class="pre">command</span> <span class="pre">template</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][job]batch submit command template" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][job]batch</span> <span class="pre">submit</span> <span class="pre">command</span> <span class="pre">template</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Kept for back compatibility but replaced by
+<a class="reference internal" href="global.html#global.cylc[platforms][&lt;platform name&gt;]job runner command template" title="global.cylc[platforms][&lt;platform name&gt;]job runner command template"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]job</span> <span class="pre">runner</span> <span class="pre">command</span> <span class="pre">template</span></code></a>.</p>
+</div>
+<p>Override the default job submission command for the chosen
+batch system.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][remote]">
+<span class="sig-name descname"><span class="pre">[remote]</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][remote]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][remote]</span></code></p>
+</dd>
+</dl>
+<p>Job host settings.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>This is used to select a matching platform.
+It will be removed in a future version of Cylc 8.
+Please set a suitable platform in
+<a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]platform" title="flow.cylc[runtime][&lt;namespace&gt;]platform"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]platform</span></code></a> instead.
+<a class="reference internal" href="../../7-to-8/major-changes/platforms.html#majorchangesplatforms"><span class="std std-ref">See the migration guide</span></a>.</p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][remote]host">
+<span class="sig-name descname"><span class="pre">host</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][remote]host" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][remote]host</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Hostname or IP address of the job host.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>This is used to select a matching platform.
+It will be removed in a future version of Cylc 8.
+Please set a suitable platform in
+<a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]platform" title="flow.cylc[runtime][&lt;namespace&gt;]platform"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]platform</span></code></a> instead.
+<a class="reference internal" href="../../7-to-8/major-changes/platforms.html#majorchangesplatforms"><span class="std std-ref">See the migration guide</span></a>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][remote]owner">
+<span class="sig-name descname"><span class="pre">owner</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][remote]owner" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][remote]owner</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Your username on the job host, if different from that on
+the scheduler host.</p>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>This setting is obsolete at Cylc 8.</p>
+<p>See <a class="reference internal" href="../../7-to-8/major-changes/remote-owner.html#remote-owner"><span class="std std-ref">documentation on changes to remote owner</span></a></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][remote]retrieve job logs">
+<span class="sig-name descname"><span class="pre">retrieve</span> <span class="pre">job</span> <span class="pre">logs</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][remote]retrieve job logs" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][remote]retrieve</span> <span class="pre">job</span> <span class="pre">logs</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-boolean" title="parsec-type-boolean"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">boolean</span></code></a></p>
+</dd>
+</dl>
+<p>Whether to retrieve job logs from the job platform.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>This is used to select a matching platform.
+It will be removed in a future version of Cylc 8.
+Please set a suitable platform in
+<a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]platform" title="flow.cylc[runtime][&lt;namespace&gt;]platform"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]platform</span></code></a> instead.
+<a class="reference internal" href="../../7-to-8/major-changes/platforms.html#majorchangesplatforms"><span class="std std-ref">See the migration guide</span></a>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][remote]retrieve job logs max size">
+<span class="sig-name descname"><span class="pre">retrieve</span> <span class="pre">job</span> <span class="pre">logs</span> <span class="pre">max</span> <span class="pre">size</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][remote]retrieve job logs max size" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][remote]retrieve</span> <span class="pre">job</span> <span class="pre">logs</span> <span class="pre">max</span> <span class="pre">size</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>The maximum size of job logs to retrieve.</p>
+<p>Can be anything
+accepted by the <code class="docutils literal notranslate"><span class="pre">--max-size=SIZE</span></code> option of <code class="docutils literal notranslate"><span class="pre">rsync</span></code>.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>This is used to select a matching platform.
+It will be removed in a future version of Cylc 8.
+Please set a suitable platform in
+<a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]platform" title="flow.cylc[runtime][&lt;namespace&gt;]platform"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]platform</span></code></a> instead.
+<a class="reference internal" href="../../7-to-8/major-changes/platforms.html#majorchangesplatforms"><span class="std std-ref">See the migration guide</span></a>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][remote]retrieve job logs retry delays">
+<span class="sig-name descname"><span class="pre">retrieve</span> <span class="pre">job</span> <span class="pre">logs</span> <span class="pre">retry</span> <span class="pre">delays</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][remote]retrieve job logs retry delays" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][remote]retrieve</span> <span class="pre">job</span> <span class="pre">logs</span> <span class="pre">retry</span> <span class="pre">delays</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval_list" title="parsec-type-time_interval_list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span> <span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Configure retries for unsuccessful job log retrieval.</p>
+<p>If there is a significant delay between job completion and
+logs appearing in their final location (due to the job runner)
+you can configure time intervals here to delay the first and
+subsequent retrieval attempts.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>This is used to select a matching platform.
+It will be removed in a future version of Cylc 8.
+Please set a suitable platform in
+<a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]platform" title="flow.cylc[runtime][&lt;namespace&gt;]platform"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]platform</span></code></a> instead.
+<a class="reference internal" href="../../7-to-8/major-changes/platforms.html#majorchangesplatforms"><span class="std std-ref">See the migration guide</span></a>.</p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]">
+<span class="sig-name descname"><span class="pre">[events]</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]</span></code></p>
+</dd>
+</dl>
+<p>Configure the task event handling system.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[task events]" title="global.cylc[task events]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[task</span> <span class="pre">events]</span></code></a>.</p>
+<p>See also <a class="reference internal" href="#flow.cylc[scheduler][events]" title="flow.cylc[scheduler][events]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]</span></code></a> for <em>workflow</em> events.</p>
+<p>Task <a class="reference internal" href="../../glossary.html#term-event-handlers"><span class="xref std std-term">event handlers</span></a> are scripts to run when task events occur.</p>
+<p>Event handlers can be stored in the workflow <code class="docutils literal notranslate"><span class="pre">bin/</span></code> directory, or
+anywhere the scheduler environment <code class="docutils literal notranslate"><span class="pre">$PATH</span></code>. They should return quickly.</p>
+<p>Multiple event handlers can be specified as a list of command line templates.
+For supported template variables see <a class="reference internal" href="../../user-guide/writing-workflows/runtime.html#user-guide-runtime-event-handlers-task-event-handling-template-variables"><span class="std std-ref">Task Event Template Variables</span></a>.
+Python template substitution syntax is used:
+<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting">String Formatting Operations in the Python documentation</a>.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]execution timeout">
+<span class="sig-name descname"><span class="pre">execution</span> <span class="pre">timeout</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]execution timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]execution</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+</dl>
+<p>If a task has not finished after the specified interval, the execution
+timeout event handler(s) will be called.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[task events]execution timeout" title="global.cylc[task events]execution timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[task</span> <span class="pre">events]execution</span> <span class="pre">timeout</span></code></a>.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]handlers">
+<span class="sig-name descname"><span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Commands to run on task <a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;][events]handler events" title="flow.cylc[runtime][&lt;namespace&gt;][events]handler events"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">handler</span> <span class="pre">events</span></code></a>.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[task events]handlers" title="global.cylc[task events]handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[task</span> <span class="pre">events]handlers</span></code></a>.</p>
+<p>A command or list of commands to run for each task event handler
+set in
+<a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;][events]handler events" title="flow.cylc[runtime][&lt;namespace&gt;][events]handler events"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]handler</span> <span class="pre">events</span></code></a>.</p>
+<p>Information about the event can be provided to the command
+using <a class="reference internal" href="../../user-guide/writing-workflows/runtime.html#user-guide-runtime-event-handlers-task-event-handling-template-variables"><span class="std std-ref">Task Event Template Variables</span></a>.
+For more information, see
+<a class="reference internal" href="../../user-guide/writing-workflows/runtime.html#user-guide-runtime-task-event-handling"><span class="std std-ref">Task Event Handling</span></a>.</p>
+<p>For workflow events, see
+<a class="reference internal" href="../../user-guide/writing-workflows/scheduler.html#user-guide-scheduler-workflow-event-handling"><span class="std std-ref">Workflow Event Handling</span></a>.</p>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">echo</span> <span class="o">%</span><span class="p">(</span><span class="n">event</span><span class="p">)</span><span class="n">s</span> <span class="n">occurred</span> <span class="ow">in</span> <span class="o">%</span><span class="p">(</span><span class="n">workflow</span><span class="p">)</span><span class="n">s</span> <span class="o">&gt;&gt;</span> <span class="n">my</span><span class="o">-</span><span class="n">log</span><span class="o">-</span><span class="n">file</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]handler events">
+<span class="sig-name descname"><span class="pre">handler</span> <span class="pre">events</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]handler events" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]handler</span> <span class="pre">events</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>A list of events for which <a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;][events]handlers" title="flow.cylc[runtime][&lt;namespace&gt;][events]handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">handlers</span></code></a> are run.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[task events]handler events" title="global.cylc[task events]handler events"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[task</span> <span class="pre">events]handler</span> <span class="pre">events</span></code></a>.</p>
+<p>Specify the events for which the general task event handlers
+<a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;][events]handlers" title="flow.cylc[runtime][&lt;namespace&gt;][events]handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]handlers</span></code></a>
+should be invoked.</p>
+<p>See <a class="reference internal" href="../../user-guide/writing-workflows/runtime.html#user-guide-runtime-task-event-handling"><span class="std std-ref">Task Event Handling</span></a> for more information.</p>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">submission</span> <span class="n">failed</span><span class="p">,</span> <span class="n">failed</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]handler retry delays">
+<span class="sig-name descname"><span class="pre">handler</span> <span class="pre">retry</span> <span class="pre">delays</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]handler retry delays" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]handler</span> <span class="pre">retry</span> <span class="pre">delays</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval_list" title="parsec-type-time_interval_list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span> <span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Specify an initial delay before running an event handler command and
+any retry delays in case the command returns a non-zero code.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[task events]handler retry delays" title="global.cylc[task events]handler retry delays"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[task</span> <span class="pre">events]handler</span> <span class="pre">retry</span> <span class="pre">delays</span></code></a>.</p>
+<p>The default behaviour is to run an event handler command once without
+any delay.</p>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">PT10S</span><span class="p">,</span> <span class="n">PT1M</span><span class="p">,</span> <span class="n">PT5M</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]mail events">
+<span class="sig-name descname"><span class="pre">mail</span> <span class="pre">events</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]mail events" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]mail</span> <span class="pre">events</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Specify the events for which notification emails should be sent.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[task events]mail events" title="global.cylc[task events]mail events"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[task</span> <span class="pre">events]mail</span> <span class="pre">events</span></code></a>.</p>
+<p>Example:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">submission</span> <span class="n">failed</span><span class="p">,</span> <span class="n">failed</span>
+</pre></div>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]submission timeout">
+<span class="sig-name descname"><span class="pre">submission</span> <span class="pre">timeout</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]submission timeout" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]submission</span> <span class="pre">timeout</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+</dl>
+<p>If a task has not started after the specified interval, the submission
+timeout event handler(s) will be called.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[task events]submission timeout" title="global.cylc[task events]submission timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[task</span> <span class="pre">events]submission</span> <span class="pre">timeout</span></code></a>.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]expired handlers">
+<span class="sig-name descname"><span class="pre">expired</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]expired handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]expired</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run if this task has expired.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/running-workflows/task-job-states.html#task-job-states"><span class="std std-ref">Task &amp; Job States</span></a></p>
+</div>
+<div class="admonition caution">
+<p class="admonition-title">Caution</p>
+<p>Changes to the scheduling algorithm in Cylc 8 mean
+this event will not be triggered until the expired task
+is ready to run.  Earlier expired-task detection will be
+implemented in a future Cylc release.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]late offset">
+<span class="sig-name descname"><span class="pre">late</span> <span class="pre">offset</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]late offset" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]late</span> <span class="pre">offset</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+</dl>
+<p>Offset from cycle point, in real time, at which this task
+is considered to be “running late” (i.e. the time by which
+it would normally have started running).</p>
+<div class="admonition caution">
+<p class="admonition-title">Caution</p>
+<p>Changes to the scheduling algorithm in Cylc 8 mean
+this event will not be triggered until the late task
+is ready to run.  Earlier late-task detection will be
+implemented in a future Cylc release.</p>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;][events]late handlers" title="flow.cylc[runtime][&lt;namespace&gt;][events]late handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]late</span> <span class="pre">handlers</span></code></a>.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]late handlers">
+<span class="sig-name descname"><span class="pre">late</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]late handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]late</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run if this task is late.</p>
+<div class="admonition caution">
+<p class="admonition-title">Caution</p>
+<p>Due to changes to the Cylc 8 scheduling algorithm
+this event is unlikely to occur until the task is about
+to submit anyway.</p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]submitted handlers">
+<span class="sig-name descname"><span class="pre">submitted</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]submitted handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]submitted</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run when this task is submitted.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]started handlers">
+<span class="sig-name descname"><span class="pre">started</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]started handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]started</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run when this task starts executing.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]succeeded handlers">
+<span class="sig-name descname"><span class="pre">succeeded</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]succeeded handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]succeeded</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run if this task succeeds.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]failed handlers">
+<span class="sig-name descname"><span class="pre">failed</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]failed handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]failed</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run if this task fails.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]submission failed handlers">
+<span class="sig-name descname"><span class="pre">submission</span> <span class="pre">failed</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]submission failed handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]submission</span> <span class="pre">failed</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run if submission of this task fails.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]warning handlers">
+<span class="sig-name descname"><span class="pre">warning</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]warning handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]warning</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run if this task runs <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">message</span></code>
+with severity level “WARNING”.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]critical handlers">
+<span class="sig-name descname"><span class="pre">critical</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]critical handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]critical</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run if this task runs <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">message</span></code>
+with severity level “CRITICAL”.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]retry handlers">
+<span class="sig-name descname"><span class="pre">retry</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]retry handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]retry</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run if this task failed but is retrying.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]submission retry handlers">
+<span class="sig-name descname"><span class="pre">submission</span> <span class="pre">retry</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]submission retry handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]submission</span> <span class="pre">retry</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run if a job failed to submit but is
+retrying.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/running-workflows/task-job-states.html#task-job-states"><span class="std std-ref">Task &amp; Job States</span></a></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]execution timeout handlers">
+<span class="sig-name descname"><span class="pre">execution</span> <span class="pre">timeout</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]execution timeout handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]execution</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run if this task execution exceeds
+<a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a>.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]submission timeout handlers">
+<span class="sig-name descname"><span class="pre">submission</span> <span class="pre">timeout</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]submission timeout handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]submission</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run if this task exceeds
+<a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;][events]submission timeout" title="flow.cylc[runtime][&lt;namespace&gt;][events]submission timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]submission</span> <span class="pre">timeout</span></code></a> in the submitted state.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][events]custom handlers">
+<span class="sig-name descname"><span class="pre">custom</span> <span class="pre">handlers</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][events]custom handlers" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]custom</span> <span class="pre">handlers</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-list" title="parsec-type-list"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">list</span></code></a></p>
+</dd>
+</dl>
+<p>Handlers to run if this task runs <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">message</span></code>
+with severity level “CUSTOM”.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][mail]">
+<span class="sig-name descname"><span class="pre">[mail]</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][mail]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][mail]</span></code></p>
+</dd>
+</dl>
+<p>Email notification settings for task events.</p>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][mail]from">
+<span class="sig-name descname"><span class="pre">from</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][mail]from" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][mail]from</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Specify an alternate <code class="docutils literal notranslate"><span class="pre">from:</span></code> email address for event
+notifications.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[runtime][task][events]mail</span> <span class="pre">from</span></code></p>
+</div>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][mail]to">
+<span class="sig-name descname"><span class="pre">to</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][mail]to" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][mail]to</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>A list of email addresses to send task event
+notifications.</p>
+<p>The list can be any address accepted by the
+<code class="docutils literal notranslate"><span class="pre">mail</span></code> command.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[runtime][task][events]mail</span> <span class="pre">to</span></code></p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][workflow state polling]">
+<span class="sig-name descname"><span class="pre">[workflow</span> <span class="pre">state</span> <span class="pre">polling]</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][workflow state polling]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][workflow</span> <span class="pre">state</span> <span class="pre">polling]</span></code></p>
+</dd>
+</dl>
+<p>Configure automatic workflow polling tasks as described in
+<a class="reference internal" href="../../user-guide/writing-workflows/external-triggers.html#workflowstatepolling"><span class="std std-ref">Triggering Off Of Tasks In Other Workflows</span></a>.</p>
+<p>The items in this section reflect
+options and defaults of the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">workflow-state</span></code> command,
+except that the target workflow ID and the
+<code class="docutils literal notranslate"><span class="pre">--task</span></code>, <code class="docutils literal notranslate"><span class="pre">--cycle</span></code>, and <code class="docutils literal notranslate"><span class="pre">--status</span></code> options are
+taken from the graph notation.</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This item was previously called <code class="docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;]suite</span> <span class="pre">state</span> <span class="pre">polling</span></code>.</p>
+</div>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][workflow state polling]user">
+<span class="sig-name descname"><span class="pre">user</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][workflow state polling]user" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][workflow</span> <span class="pre">state</span> <span class="pre">polling]user</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Username of your account on the workflow host.</p>
+<p>The polling
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">workflow-state</span></code> command will be
+run on the remote account.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][workflow state polling]host">
+<span class="sig-name descname"><span class="pre">host</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][workflow state polling]host" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][workflow</span> <span class="pre">state</span> <span class="pre">polling]host</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>The hostname of the target workflow.</p>
+<p>The polling
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">workflow-state</span></code> command will be run there.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][workflow state polling]interval">
+<span class="sig-name descname"><span class="pre">interval</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][workflow state polling]interval" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][workflow</span> <span class="pre">state</span> <span class="pre">polling]interval</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-time_interval" title="parsec-type-time_interval"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">time</span> <span class="pre">interval</span></code></a></p>
+</dd>
+</dl>
+<p>Polling interval.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][workflow state polling]max-polls">
+<span class="sig-name descname"><span class="pre">max-polls</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][workflow state polling]max-polls" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][workflow</span> <span class="pre">state</span> <span class="pre">polling]max-polls</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-integer" title="parsec-type-integer"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">integer</span></code></a></p>
+</dd>
+</dl>
+<p>The maximum number of polls before timing out and entering
+the “failed” state.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][workflow state polling]message">
+<span class="sig-name descname"><span class="pre">message</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][workflow state polling]message" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][workflow</span> <span class="pre">state</span> <span class="pre">polling]message</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Wait for the task in the target workflow to receive a
+specified message rather than achieve a state.</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][workflow state polling]run-dir">
+<span class="sig-name descname"><span class="pre">run-dir</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][workflow state polling]run-dir" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][workflow</span> <span class="pre">state</span> <span class="pre">polling]run-dir</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Specify the location of the top level cylc-run directory
+for the other workflow.</p>
+<p>For your own workflows, there is no need to set this as it
+is always <code class="docutils literal notranslate"><span class="pre">~/cylc-run/</span></code>. But for other workflows,
+(e.g those owned by others), or mirrored workflow databases
+use this item to specify the location of the top level
+cylc run directory (the database should be in a the same
+place relative to this location for each workflow).</p>
+</dd></dl>
+
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][workflow state polling]verbose mode">
+<span class="sig-name descname"><span class="pre">verbose</span> <span class="pre">mode</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][workflow state polling]verbose mode" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][workflow</span> <span class="pre">state</span> <span class="pre">polling]verbose</span> <span class="pre">mode</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-boolean" title="parsec-type-boolean"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">boolean</span></code></a></p>
+</dd>
+</dl>
+<p>Run the polling <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">workflow-state</span></code> command in verbose
+output mode.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][environment]">
+<span class="sig-name descname"><span class="pre">[environment]</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][environment]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][environment]</span></code></p>
+</dd>
+</dl>
+<p>The user defined task execution environment.</p>
+<p>Variables defined here can refer to cylc workflow and task
+identity variables, which are exported earlier in the job
+script. Variable assignment expressions can use cylc
+utility commands because access to cylc is also configured
+earlier in the script.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/writing-workflows/runtime.html#taskexecutionenvironment"><span class="std std-ref">Job Environment</span></a>.</p>
+</div>
+<p>You can also specify job environment templates here for
+<a class="reference internal" href="../../user-guide/writing-workflows/parameterized-tasks.html#user-guide-param"><span class="std std-ref">parameterized tasks</span></a>.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][environment]&lt;variable&gt;">
+<span class="sig-name descname"><span class="pre">&lt;variable&gt;</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][environment]<variable>" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][environment]&lt;variable&gt;</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>A custom user defined variable for a task execution
+environment.</p>
+<p>The order of definition is preserved that each variable can
+refer to previously defined
+variables. Values are passed through to the job
+script without evaluation or manipulation by Cylc
+(with the exception of valid Python string templates
+that match parameterized task names - see below), so any
+variable assignment expression that is legal in the job
+submission shell can be used.  White space around the
+<code class="docutils literal notranslate"><span class="pre">=</span></code> is allowed (as far as cylc’s flow.cylc parser is
+concerned these are just normal configuration items).</p>
+<p>Examples:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>FOO = $HOME/bar/baz
+BAR = ${FOO}$GLOBALVAR
+BAZ = $( echo &quot;hello world&quot; )
+WAZ = ${FOO%.jpg}.png
+NEXT_CYCLE = $( cylc cycle-point --offset=PT6H )
+ZAZ = &quot;${FOO#bar}&quot;
+# ^ quoted to escape the flow.cylc comment character
+DICE = [$((($RANDOM % 6) + 1)) $((($RANDOM % 6) + 1))]
+</pre></div>
+</div>
+<p>For parameter environment templates, use Python string
+templates for parameter substitution. This is only
+relevant for
+<a class="reference internal" href="../../user-guide/writing-workflows/parameterized-tasks.html#user-guide-param"><span class="std std-ref">parameterized tasks</span></a>.
+The job script will export the named variables specified
+here (in addition to the standard <code class="docutils literal notranslate"><span class="pre">CYLC_TASK_PARAM_&lt;key&gt;</span></code>
+variables), with the template strings substituted with
+the parameter values.</p>
+<p>Examples:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">MYNUM</span> <span class="o">=</span> <span class="o">%</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="n">d</span>
+<span class="n">MYITEM</span> <span class="o">=</span> <span class="o">%</span><span class="p">(</span><span class="n">item</span><span class="p">)</span><span class="n">s</span>
+<span class="n">MYFILE</span> <span class="o">=</span> <span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/%</span><span class="p">(</span><span class="n">i</span><span class="p">)</span><span class="mi">03</span><span class="n">d</span><span class="o">/%</span><span class="p">(</span><span class="n">item</span><span class="p">)</span><span class="n">s</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>As with other Cylc configurations, leading or trailing
+whitespace will be stripped, so the following two
+examples are equivalent:</p>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td><div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[environment]</span>
+    <span class="nv">FOO </span><span class="o">=</span><span class="s"> &quot; a &quot;</span>
+    <span class="nv">BAR </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">      $(foo bar baz)</span>
+<span class="s2">  &quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[environment]</span>
+    <span class="nv">FOO </span><span class="o">=</span><span class="s"> &quot;a&quot;</span>
+    <span class="nv">BAR </span><span class="o">=</span><span class="s"> &quot;$(foo bar baz)&quot;</span>
+</pre></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If leading or trailing whitespace is required, consider
+using the <code class="docutils literal notranslate"><span class="pre">\0</span></code> escape character, or set the variable
+in <a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;]env-script" title="flow.cylc[runtime][&lt;namespace&gt;]env-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">env-script</span></code></a>.</p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 7.8.7/7.9.2: </span>Parameter environment templates (previously in
+<code class="docutils literal notranslate"><span class="pre">[runtime][X][parameter</span> <span class="pre">environment</span> <span class="pre">templates]</span></code>) have
+moved here.</p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][directives]">
+<span class="sig-name descname"><span class="pre">[directives]</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][directives]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][directives]</span></code></p>
+</dd>
+</dl>
+<p>Job runner (batch scheduler) directives.</p>
+<p>The default value is set in the global config: <a class="reference internal" href="global.html#global.cylc[platforms][&lt;platform name&gt;][directives]" title="global.cylc[platforms][&lt;platform name&gt;][directives]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;][directives]</span></code></a>.</p>
+<p>Supported for use with job runners:</p>
+<ul class="simple">
+<li><p>pbs</p></li>
+<li><p>slurm</p></li>
+<li><p>loadleveler</p></li>
+<li><p>lsf</p></li>
+<li><p>sge</p></li>
+<li><p>slurm_packjob</p></li>
+<li><p>moab</p></li>
+</ul>
+<p>Directives are written to the top of the job script in the correct format
+for the job runner.</p>
+<p>Specifying directives individually like this allows use of default directives
+for task families which can be individually overridden at lower levels of the
+runtime namespace hierarchy.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][directives]&lt;directive&gt;">
+<span class="sig-name descname"><span class="pre">&lt;directive&gt;</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][directives]<directive>" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][directives]&lt;directive&gt;</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Example directives for the built-in job runner handlers are shown in
+<a class="reference internal" href="../../user-guide/task-implementation/job-submission.html#availablemethods"><span class="std std-ref">Supported Job Submission Methods</span></a>.</p>
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][outputs]">
+<span class="sig-name descname"><span class="pre">[outputs]</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][outputs]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][outputs]</span></code></p>
+</dd>
+</dl>
+<p>Register custom task outputs for use in message triggering in
+this section (<a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#messagetriggers"><span class="std std-ref">Message Triggers</span></a>)</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][outputs]&lt;output&gt;">
+<span class="sig-name descname"><span class="pre">&lt;output&gt;</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][outputs]<output>" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][outputs]&lt;output&gt;</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<p>Define custom task outputs (aka <a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#messagetriggers"><span class="std std-ref">Message Triggers</span></a>).</p>
+<p><a class="reference internal" href="../../glossary.html#term-custom-output"><span class="xref std std-term">Custom outputs</span></a> allow you to extend
+the built-in task outputs e.g. <code class="docutils literal notranslate"><span class="pre">succeeded</span></code> and <code class="docutils literal notranslate"><span class="pre">failed</span></code>
+in order to provide more detailed information about task
+state. Custom outputs can be used to express dependencies
+in the graph as with built-in outputs.</p>
+<p>Custom outputs are defined in the form:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">output </span><span class="o">=</span><span class="s"> message</span>
+</pre></div>
+</div>
+<p>Where <code class="docutils literal notranslate"><span class="pre">output</span></code> is the name of the output as it is used in
+the graph, and <code class="docutils literal notranslate"><span class="pre">message</span></code> is the task message sent by
+the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">message</span></code> command which tells Cylc that this
+output has been completed. See <a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#messagetriggers"><span class="std std-ref">Message Triggers</span></a> for
+more details.</p>
+<p>Examples:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">out1 </span><span class="o">=</span><span class="s"> &quot;sea state products ready&quot;</span>
+<span class="nv">out2 </span><span class="o">=</span><span class="s"> &quot;NWP restart files completed&quot;</span>
+</pre></div>
+</div>
+<p>Custom outputs must satisfy these rules:</p>
+<dl class="py class">
+<dt class="sig sig-object py">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.unicode_rules.</span></span><span class="sig-name descname"><span class="pre">TaskOutputValidator</span></span></dt>
+<dd><p>The rules for valid task outputs/message triggers:</p>
+<ul class="simple">
+<li><p>can only contain: alphanumeric, numbers, <code class="docutils literal notranslate"><span class="pre">-</span></code>, <code class="docutils literal notranslate"><span class="pre">.</span></code></p></li>
+<li><p>cannot start with: <code class="docutils literal notranslate"><span class="pre">_cylc</span></code></p></li>
+<li><p>cannot be: <code class="docutils literal notranslate"><span class="pre">required</span></code>, <code class="docutils literal notranslate"><span class="pre">optional</span></code> or <code class="docutils literal notranslate"><span class="pre">all</span></code></p></li>
+<li><p>cannot be: <code class="docutils literal notranslate"><span class="pre">expired</span></code>, <code class="docutils literal notranslate"><span class="pre">submitted</span></code>, <code class="docutils literal notranslate"><span class="pre">submit-failed</span></code>, <code class="docutils literal notranslate"><span class="pre">started</span></code>, <code class="docutils literal notranslate"><span class="pre">succeeded</span></code>, <code class="docutils literal notranslate"><span class="pre">failed</span></code>, <code class="docutils literal notranslate"><span class="pre">finished</span></code>, <code class="docutils literal notranslate"><span class="pre">expire</span></code>, <code class="docutils literal notranslate"><span class="pre">submit</span></code>, <code class="docutils literal notranslate"><span class="pre">submit-fail</span></code>, <code class="docutils literal notranslate"><span class="pre">start</span></code>, <code class="docutils literal notranslate"><span class="pre">succeed</span></code>, <code class="docutils literal notranslate"><span class="pre">fail</span></code>, <code class="docutils literal notranslate"><span class="pre">finish</span></code>, <code class="docutils literal notranslate"><span class="pre">succeed-all</span></code>, <code class="docutils literal notranslate"><span class="pre">succeed-any</span></code>, <code class="docutils literal notranslate"><span class="pre">fail-all</span></code>, <code class="docutils literal notranslate"><span class="pre">fail-any</span></code>, <code class="docutils literal notranslate"><span class="pre">finish-all</span></code>, <code class="docutils literal notranslate"><span class="pre">finish-any</span></code>, <code class="docutils literal notranslate"><span class="pre">start-all</span></code>, <code class="docutils literal notranslate"><span class="pre">start-any</span></code>, <code class="docutils literal notranslate"><span class="pre">submit-all</span></code>, <code class="docutils literal notranslate"><span class="pre">submit-any</span></code>, <code class="docutils literal notranslate"><span class="pre">submit-fail-all</span></code> or <code class="docutils literal notranslate"><span class="pre">submit-fail-any</span></code></p></li>
+</ul>
+</dd></dl>
+
+<p>Task messages must satisfy these rules:</p>
+<dl class="py class">
+<dt class="sig sig-object py">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.unicode_rules.</span></span><span class="sig-name descname"><span class="pre">TaskMessageValidator</span></span></dt>
+<dd><p>The rules for valid task messages:</p>
+<ul class="simple">
+<li><p>cannot contain <code class="docutils literal notranslate"><span class="pre">:</span></code> unless it occurs at the end of the first word</p></li>
+<li><p>cannot be: <code class="docutils literal notranslate"><span class="pre">expired</span></code>, <code class="docutils literal notranslate"><span class="pre">submitted</span></code>, <code class="docutils literal notranslate"><span class="pre">submit-failed</span></code>, <code class="docutils literal notranslate"><span class="pre">started</span></code>, <code class="docutils literal notranslate"><span class="pre">succeeded</span></code>, <code class="docutils literal notranslate"><span class="pre">failed</span></code>, <code class="docutils literal notranslate"><span class="pre">finished</span></code>, <code class="docutils literal notranslate"><span class="pre">expire</span></code>, <code class="docutils literal notranslate"><span class="pre">submit</span></code>, <code class="docutils literal notranslate"><span class="pre">submit-fail</span></code>, <code class="docutils literal notranslate"><span class="pre">start</span></code>, <code class="docutils literal notranslate"><span class="pre">succeed</span></code>, <code class="docutils literal notranslate"><span class="pre">fail</span></code>, <code class="docutils literal notranslate"><span class="pre">finish</span></code>, <code class="docutils literal notranslate"><span class="pre">succeed-all</span></code>, <code class="docutils literal notranslate"><span class="pre">succeed-any</span></code>, <code class="docutils literal notranslate"><span class="pre">fail-all</span></code>, <code class="docutils literal notranslate"><span class="pre">fail-any</span></code>, <code class="docutils literal notranslate"><span class="pre">finish-all</span></code>, <code class="docutils literal notranslate"><span class="pre">finish-any</span></code>, <code class="docutils literal notranslate"><span class="pre">start-all</span></code>, <code class="docutils literal notranslate"><span class="pre">start-any</span></code>, <code class="docutils literal notranslate"><span class="pre">submit-all</span></code>, <code class="docutils literal notranslate"><span class="pre">submit-any</span></code>, <code class="docutils literal notranslate"><span class="pre">submit-fail-all</span></code> or <code class="docutils literal notranslate"><span class="pre">submit-fail-any</span></code></p></li>
+<li><p>cannot start with: <code class="docutils literal notranslate"><span class="pre">_cylc</span></code></p></li>
+</ul>
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+<dl class="cylc section">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][parameter environment templates]">
+<span class="sig-name descname"><span class="pre">[parameter</span> <span class="pre">environment</span> <span class="pre">templates]</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][parameter environment templates]" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][parameter</span> <span class="pre">environment</span> <span class="pre">templates]</span></code></p>
+</dd>
+</dl>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 7.8.7/7.9.2: </span>Parameter environment templates have moved to
+<a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;][environment]" title="flow.cylc[runtime][&lt;namespace&gt;][environment]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][environment]</span></code></a>.</p>
+</div>
+<p>This was done to allow users to control the order of
+definition of the variables. This section will be removed
+in a future version of Cylc 8.</p>
+<p>For the time being, the contents of this section will be
+prepended to the <code class="docutils literal notranslate"><span class="pre">[environment]</span></code> section when running
+a workflow.</p>
+<dl class="cylc setting">
+<dt class="sig sig-object cylc" id="flow.cylc[runtime][&lt;namespace&gt;][parameter environment templates]&lt;parameter&gt;">
+<span class="sig-name descname"><span class="pre">&lt;parameter&gt;</span></span><a class="headerlink" href="#flow.cylc[runtime][<namespace>][parameter environment templates]<parameter>" title="Link to this definition"></a></dt>
+<dd><dl class="field-list simple">
+<dt class="field-odd">Path<span class="colon">:</span></dt>
+<dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][parameter</span> <span class="pre">environment</span> <span class="pre">templates]&lt;parameter&gt;</span></code></p>
+</dd>
+<dt class="field-even">Type<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="types.html#parsec-type-string" title="parsec-type-string"><code class="xref parsec parsec-type docutils literal notranslate"><span class="pre">string</span></code></a></p>
+</dd>
+</dl>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 7.8.7/7.9.2: </span>Parameter environment templates have moved to
+<a class="reference internal" href="#flow.cylc[runtime][&lt;namespace&gt;][environment]" title="flow.cylc[runtime][&lt;namespace&gt;][environment]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][environment]</span></code></a>.</p>
+</div>
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+</dd></dl>
+
+</dd></section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="file-format.html" class="btn btn-neutral float-left" title="The .cylc File Format" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="global.html" class="btn btn-neutral float-right" title="Global Configuration" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/config/workflow";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/config/writing-platform-configs.html b/nightly_8.3/html/reference/config/writing-platform-configs.html
new file mode 100644
index 00000000000..575f644fe3c
--- /dev/null
+++ b/nightly_8.3/html/reference/config/writing-platform-configs.html
@@ -0,0 +1,532 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Platform Configuration &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Job Script Environment Variables" href="../job-script-vars/index.html" />
+    <link rel="prev" title="Cylc Configuration Data Types" href="types.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../changes.html">Changes</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Configuration</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="file-format.html">The .cylc File Format</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow.html">Workflow Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="global.html">Global Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ui-server.html">UI Server Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="types.html">Cylc Configuration Data Types</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Platform Configuration</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#writing-platform-configurations">Writing Platform Configurations</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#example-platform-configurations">Example Platform Configurations</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#symlinking-directories">Symlinking Directories</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#advanced-platform-example">Advanced Platform Example</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../api/index.html">Cylc API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Reference</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Configuration</a></li>
+      <li class="breadcrumb-item active">Platform Configuration</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/reference/config/writing-platform-configs.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="platform-configuration">
+<span id="adminguide-platformconfigs"></span><h1>Platform Configuration<a class="headerlink" href="#platform-configuration" title="Link to this heading"></a></h1>
+<section id="writing-platform-configurations">
+<h2>Writing Platform Configurations<a class="headerlink" href="#writing-platform-configurations" title="Link to this heading"></a></h2>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../7-to-8/major-changes/platforms.html#majorchangesplatforms"><span class="std std-ref">Platforms Cylc 7 to 8 user upgrade guide</span></a>.</p></li>
+<li><p><a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;]platform" title="flow.cylc[runtime][&lt;namespace&gt;]platform"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]platform</span></code></a></p></li>
+<li><p><a class="reference internal" href="global.html#global.cylc[platforms]" title="global.cylc[platforms]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms]</span></code></a></p></li>
+<li><p><a class="reference internal" href="global.html#global.cylc[platforms][&lt;platform name&gt;]install target" title="global.cylc[platforms][&lt;platform name&gt;]install target"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]install</span> <span class="pre">target</span></code></a></p></li>
+</ul>
+</div>
+<section id="listing-available-platforms">
+<span id="listingavailableplatforms"></span><h3>Listing available platforms<a class="headerlink" href="#listing-available-platforms" title="Link to this heading"></a></h3>
+<p>If you are working on an institutional network, platforms may already
+have been configured for you.</p>
+<p>To see a list of available platforms:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">config</span> <span class="o">--</span><span class="n">platform</span><span class="o">-</span><span class="n">names</span>
+</pre></div>
+</div>
+<p>To see the full configuration of available platforms:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">config</span> <span class="o">--</span><span class="n">platforms</span>
+</pre></div>
+</div>
+<p>This is equivalent to <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span> <span class="pre">-i</span> <span class="pre">'platforms'</span> <span class="pre">-i</span> <span class="pre">'platform</span> <span class="pre">groups'</span></code></p>
+</section>
+<section id="what-are-platforms">
+<h3>What Are Platforms?<a class="headerlink" href="#what-are-platforms" title="Link to this heading"></a></h3>
+<p>Platforms define settings, most importantly:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p>A set of <code class="docutils literal notranslate"><span class="pre">hosts</span></code>.</p></li>
+<li><p>A <code class="docutils literal notranslate"><span class="pre">job</span> <span class="pre">runner</span></code> (formerly a <code class="docutils literal notranslate"><span class="pre">batch</span> <span class="pre">system</span></code>) where Cylc can submit a job.</p></li>
+<li><p>An <code class="docutils literal notranslate"><span class="pre">install</span> <span class="pre">target</span></code> for Cylc to install job files on.</p></li>
+</ul>
+</div></blockquote>
+</section>
+<section id="why-were-platforms-introduced">
+<h3>Why Were Platforms Introduced?<a class="headerlink" href="#why-were-platforms-introduced" title="Link to this heading"></a></h3>
+<ul class="simple">
+<li><p>Allow a compute cluster with multiple login nodes to be treated as a single
+unit.</p></li>
+<li><p>Allow Cylc to elegantly handle failure to communicate with login nodes.</p></li>
+<li><p>Reduce the number of ssh connections required for job submission and polling.</p></li>
+</ul>
+</section>
+<section id="what-are-install-targets">
+<span id="install-targets"></span><h3>What Are Install Targets?<a class="headerlink" href="#what-are-install-targets" title="Link to this heading"></a></h3>
+<p>Install targets represent file systems. More than one platform can use the
+same file system. Cylc relies on the site configuration file <code class="docutils literal notranslate"><span class="pre">global.cylc</span></code> to determine
+which platforms share install targets.</p>
+<p>Cylc will setup each remote install target once. During setup it will:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p>Install workflow files</p></li>
+<li><p>Symlink directories</p></li>
+<li><p>Copy authentication keys (to allow secure communication)</p></li>
+</ul>
+</div></blockquote>
+<p>Note, if missing from configuration, the install target will default to the
+platform name. If incorrectly configured, this will cause errors in
+<a class="reference internal" href="../../user-guide/running-workflows/scheduler-start-up.html#remoteinit"><span class="std std-ref">Remote Initialization</span></a>.</p>
+<p>If you log into one system and see the same files as on another, then these two
+platforms will require the same install target in <code class="docutils literal notranslate"><span class="pre">global.cylc</span></code> config file.</p>
+</section>
+</section>
+<section id="example-platform-configurations">
+<h2>Example Platform Configurations<a class="headerlink" href="#example-platform-configurations" title="Link to this heading"></a></h2>
+<p>Detailed below are some examples of common platform configurations.</p>
+<section id="submit-pbs-jobs-from-localhost">
+<h3>Submit PBS Jobs from Localhost<a class="headerlink" href="#submit-pbs-jobs-from-localhost" title="Link to this heading"></a></h3>
+<ul class="simple">
+<li><p><strong>The</strong> <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> <strong>runs on the</strong> <code class="docutils literal notranslate"><span class="pre">localhost</span></code> <strong>platform.</strong></p></li>
+<li><p><strong>Platforms can share hosts without sharing job runners.</strong></p></li>
+</ul>
+<div class="admonition-scenario admonition">
+<p class="admonition-title">Scenario</p>
+<p>You have a cluster where you can submit jobs from the Cylc scheduler host
+using PBS.</p>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">localhost</span></code> platform is the Cylc Scheduler host, as configured in
+<a class="reference internal" href="global.html#global.cylc[scheduler][run hosts]available" title="global.cylc[scheduler][run hosts]available"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][run</span> <span class="pre">hosts]available</span></code></a>. This is the host that
+the workflow will start on. For more information, see
+<a class="reference internal" href="../../user-guide/writing-workflows/scheduler.html#platformconfig"><span class="std std-ref">Platform Configuration</span></a>.</p>
+<p>Our platform <code class="docutils literal notranslate"><span class="pre">pbs_cluster</span></code> shares this <code class="docutils literal notranslate"><span class="pre">localhost</span></code> host and setting the
+install target to <code class="docutils literal notranslate"><span class="pre">localhost</span></code> ensures that Cylc knows this platform does not
+require remote initialization.</p>
+<div class="literal-block-wrapper docutils container" id="id1">
+<div class="code-block-caption"><span class="caption-text">part of a <code class="docutils literal notranslate"><span class="pre">global.cylc</span></code> config file</span><a class="headerlink" href="#id1" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="c1"># The localhost platform is available by default</span>
+    <span class="c1"># [[localhost]]</span>
+    <span class="c1">#     hosts = localhost</span>
+    <span class="c1">#     install target = localhost</span>
+    <span class="nt">[[pbs_cluster]]</span>
+        <span class="nv">hosts </span><span class="o">=</span><span class="s"> localhost</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> pbs</span>
+        <span class="nv">install target </span><span class="o">=</span><span class="s"> localhost</span>
+</pre></div>
+</div>
+</div>
+<p>Our Cylc scheduler does not have a job runner defined. Any job submitted to
+this <code class="docutils literal notranslate"><span class="pre">localhost</span></code> platform will run as a background job. Users can now set
+<a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;]platform" title="flow.cylc[runtime][&lt;namespace&gt;]platform"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]platform</span></code></a> = <code class="docutils literal notranslate"><span class="pre">pbs_cluster</span></code> to run
+pbs jobs.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Both <code class="docutils literal notranslate"><span class="pre">hosts</span></code> and <code class="docutils literal notranslate"><span class="pre">install</span> <span class="pre">target</span></code> default to the platform name.</p>
+</div>
+</section>
+<section id="multiple-platforms-sharing-file-system-with-cylc-scheduler">
+<h3>Multiple Platforms Sharing File System with Cylc Scheduler<a class="headerlink" href="#multiple-platforms-sharing-file-system-with-cylc-scheduler" title="Link to this heading"></a></h3>
+<ul class="simple">
+<li><p><strong>Platform names can be defined as regular expressions.</strong></p></li>
+</ul>
+<div class="admonition-scenario admonition">
+<p class="admonition-title">Scenario</p>
+<p>Everyone in your organization has a computer called <code class="docutils literal notranslate"><span class="pre">desktopNNN</span></code>,
+all with a file system shared with the scheduler host. Many users
+will want their desktop set up as a platform to run small jobs.</p>
+</div>
+<p>In this scenario, Cylc does not need to install files on the desktop, since
+required files which are on the scheduler host will be accessible on the
+desktop. From Cylc’s point of view, the desktop and scheduler hosts are
+considered different platforms but must share an <a class="reference internal" href="../../glossary.html#term-install-target"><span class="xref std std-term">install target</span></a>.
+Cylc needs to be told that these platforms share an install target and so we
+configure this using the designated configuration item:
+<a class="reference internal" href="global.html#global.cylc[platforms][&lt;platform name&gt;]install target" title="global.cylc[platforms][&lt;platform name&gt;]install target"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]install</span> <span class="pre">target</span></code></a>.</p>
+<p><a class="reference internal" href="global.html#global.cylc[platforms][&lt;platform name&gt;]" title="global.cylc[platforms][&lt;platform name&gt;]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]</span></code></a> has optional configuration
+<code class="docutils literal notranslate"><span class="pre">[[[meta]]]</span></code> which users can view with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span> <span class="pre">--platforms</span></code>. We will add
+a description designed to help users in this example.</p>
+<p>The following platform definition is simplified, taking advantage of defaults
+for <code class="docutils literal notranslate"><span class="pre">hosts</span></code> and <code class="docutils literal notranslate"><span class="pre">install</span> <span class="pre">targets</span></code>.</p>
+<div class="literal-block-wrapper docutils container" id="id2">
+<div class="code-block-caption"><span class="caption-text">the <code class="docutils literal notranslate"><span class="pre">global.cylc</span></code> config file for this scenario could look like:</span><a class="headerlink" href="#id2" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[desktop\d\d\d]]</span>
+        <span class="nv">install target </span><span class="o">=</span><span class="s"> localhost</span>
+        <span class="nt">[[[meta]]]</span>
+            <span class="nv">description </span><span class="o">=</span><span class="s"> &quot;Background job on a desktop system&quot;</span>
+</pre></div>
+</div>
+</div>
+<p>As before, a <code class="docutils literal notranslate"><span class="pre">localhost</span></code> platform is available by default.
+<code class="docutils literal notranslate"><span class="pre">desktop\d\d\d</span></code> is a pattern which defines multiple platforms.
+When using a pattern the “hosts” setting must be left unset so that it defaults
+to the platform name. This ensures each of the matching platforms is unique.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Cylc carries out a “fullmatch” regular expression comparison with the
+the platform name so <code class="docutils literal notranslate"><span class="pre">desktop\d\d\d</span></code> is effectively the same as
+<code class="docutils literal notranslate"><span class="pre">^desktop\d\d\d$</span></code>.</p>
+</div>
+<p>If a user wants to run a job on their local desktop, e.g. “desktop123”, they should
+set:</p>
+<blockquote>
+<div><div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[mytask]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> desktop123</span>
+</pre></div>
+</div>
+</div></blockquote>
+<p>in their workflow configuration.
+If <code class="docutils literal notranslate"><span class="pre">[runtime][mytask]platform</span></code> is unset, the job will run on the Cylc
+Scheduler host using this default <code class="docutils literal notranslate"><span class="pre">localhost</span></code> platform.</p>
+<p>Neither platforms will require remote initialization as the <code class="docutils literal notranslate"><span class="pre">install</span> <span class="pre">target</span></code>
+is set to <code class="docutils literal notranslate"><span class="pre">localhost</span></code>.</p>
+</section>
+<section id="cluster-with-multiple-login-nodes">
+<h3>Cluster with Multiple Login Nodes<a class="headerlink" href="#cluster-with-multiple-login-nodes" title="Link to this heading"></a></h3>
+<ul class="simple">
+<li><p><strong>Platforms with multiple hosts require job runner to be set</strong></p></li>
+<li><p><strong>Platforms can group multiple hosts together.</strong></p></li>
+</ul>
+<div class="admonition-scenario admonition">
+<p class="admonition-title">Scenario</p>
+<p>You have a cluster where users submit jobs to Slurm from
+either of a pair of identical login nodes which share a file system.</p>
+</div>
+<div class="literal-block-wrapper docutils container" id="id3">
+<div class="code-block-caption"><span class="caption-text">part of a <code class="docutils literal notranslate"><span class="pre">global.cylc</span></code> config file</span><a class="headerlink" href="#id3" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[slurm_cluster]]</span>
+        <span class="nv">hosts </span><span class="o">=</span><span class="s"> login_node_1, login_node_2</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> slurm</span>
+        <span class="nv">retrieve job logs </span><span class="o">=</span><span class="s"> True</span>
+</pre></div>
+</div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">slurm_cluster</span></code> hosts do not share a file system with the scheduler,
+therefore <code class="docutils literal notranslate"><span class="pre">slurm_cluster</span></code> is a remote platform.
+As the <code class="docutils literal notranslate"><span class="pre">install</span> <span class="pre">target</span></code> setting for this platform has been omitted, this will
+default to the platform name.
+Cylc will initiate a remote installation, to transfer required files to
+<code class="docutils literal notranslate"><span class="pre">slurm_cluster</span></code> which will commence before job submission for the first job
+on that platform.</p>
+<p>Cylc will attempt to communicate with jobs via the other login node if either
+of the login_nodes becomes unavailable.</p>
+<p>With multiple hosts defined under <code class="docutils literal notranslate"><span class="pre">slurm_cluster</span></code>, a job runner is required.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The “background” and “at” job runners require single-host platforms,
+because the job ID is only valid on the submission host.</p>
+</div>
+<p>We have set <code class="docutils literal notranslate"><span class="pre">retrieve</span> <span class="pre">job</span> <span class="pre">logs</span> <span class="pre">=</span> <span class="pre">True</span></code>. This will ensure our job logs are
+fetched from the <code class="docutils literal notranslate"><span class="pre">slurm_cluster</span></code> platform. This setting is recommended for
+all remote platforms (i.e. where install target is not localhost).</p>
+</section>
+<section id="grouping-platforms">
+<h3>Grouping Platforms<a class="headerlink" href="#grouping-platforms" title="Link to this heading"></a></h3>
+<ul class="simple">
+<li><p><strong>Platform groups allow users to ask for jobs to be run on any
+suitable computer.</strong></p></li>
+</ul>
+<div class="admonition-scenario admonition">
+<p class="admonition-title">Scenario</p>
+<p>Extending the example from above, we now wish to set the <code class="docutils literal notranslate"><span class="pre">slurm_cluster</span></code>
+up such that <code class="docutils literal notranslate"><span class="pre">slurm_cluster</span></code> nodes can accept background jobs.
+We would like to group these background platforms together so users can set
+<a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;]platform" title="flow.cylc[runtime][&lt;namespace&gt;]platform"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]platform</span></code></a> = <code class="docutils literal notranslate"><span class="pre">slurm_cluster_bg</span></code>.</p>
+</div>
+<div class="literal-block-wrapper docutils container" id="id4">
+<div class="code-block-caption"><span class="caption-text">part of a <code class="docutils literal notranslate"><span class="pre">global.cylc</span></code> config file</span><a class="headerlink" href="#id4" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[slurm_cluster, slurm_cluster_bg1, slurm_cluster_bg2]]</span>  <span class="c1"># settings that apply to all:</span>
+        <span class="nv">install target </span><span class="o">=</span><span class="s"> slurm_cluster</span>
+        <span class="nv">retrieve job logs </span><span class="o">=</span><span class="s"> True</span>
+    <span class="nt">[[slurm_cluster]]</span>
+        <span class="nv">batch system </span><span class="o">=</span><span class="s"> slurm</span>
+        <span class="nv">hosts </span><span class="o">=</span><span class="s"> login_node_1, login_node_2</span>
+    <span class="nt">[[slurm_cluster_bg1]]</span>
+        <span class="nv">hosts </span><span class="o">=</span><span class="s"> login_node_1</span>
+    <span class="nt">[[slurm_cluster_bg2]]</span>
+        <span class="nv">hosts </span><span class="o">=</span><span class="s"> login_node_2</span>
+<span class="nt">[platform groups]</span>
+    <span class="nt">[[slurm_cluster_bg]]</span>
+        <span class="nv">platforms </span><span class="o">=</span><span class="s"> slurm_cluster_bg1, slurm_cluster_bg2</span>
+</pre></div>
+</div>
+</div>
+<p>Group platforms together using the configuration item
+<a class="reference internal" href="global.html#global.cylc[platform groups]" title="global.cylc[platform groups]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platform</span> <span class="pre">groups]</span></code></a>. In the above example, the
+<code class="docutils literal notranslate"><span class="pre">slurm_cluster_bg</span></code> platforms all share a file system
+(install target = <code class="docutils literal notranslate"><span class="pre">slurm_cluster</span></code>). We advise caution when grouping platforms
+with different install targets as users could encounter a scenario whereby
+files (created by a previous task using the same platform group) are
+not available to them.</p>
+<p>With the above configuration, users can now run background jobs on either of
+the login nodes, without the concern of selecting a specific platform.</p>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Platforms and platform groups are both configured by
+<a class="reference internal" href="workflow.html#flow.cylc[runtime][&lt;namespace&gt;]platform" title="flow.cylc[runtime][&lt;namespace&gt;]platform"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]platform</span></code></a>.
+Therefore a platform group cannot be given the same name as a platform.
+The <a class="reference internal" href="global.html#global.cylc" title="global.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc</span></code></a> file will fail validation if the same name is
+used for both.</p>
+</div>
+</section>
+</section>
+<section id="symlinking-directories">
+<span id="symlinkdirssetup"></span><h2>Symlinking Directories<a class="headerlink" href="#symlinking-directories" title="Link to this heading"></a></h2>
+<p>To minimize the disk space used by <code class="docutils literal notranslate"><span class="pre">~/cylc-run</span></code>, set
+<a class="reference internal" href="global.html#global.cylc[install][symlink dirs]" title="global.cylc[install][symlink dirs]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs]</span></code></a>.
+The entire workflow directory can be symlinked, using the config item <code class="docutils literal notranslate"><span class="pre">run</span></code>
+The following sub-directories  are also available for configuration:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p>log</p></li>
+<li><p>share</p></li>
+<li><p>share/cycle</p></li>
+<li><p>work</p></li>
+</ul>
+</div></blockquote>
+<p>These should be configured per <a class="reference internal" href="../../glossary.html#term-install-target"><span class="xref std std-term">install target</span></a>.</p>
+<p>For example, to configure workflow <code class="docutils literal notranslate"><span class="pre">log</span></code> directories (on the
+<a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> host) so that they symlink to a different location,
+you could write the following in <code class="docutils literal notranslate"><span class="pre">global.cylc</span></code>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[install]</span>
+    <span class="nt">[[symlink dirs]]</span>
+        <span class="nt">[[[localhost]]]</span>
+            <span class="nv">log </span><span class="o">=</span><span class="s"> /somewhere/else</span>
+</pre></div>
+</div>
+<p>This would result in the following file structure on the Cylc Scheduler:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>~/cylc-run
+└── myflow
+    ├── flow.cylc
+    ├── log -&gt; /somewhere/else/cylc-run/myflow/log
+    ...
+
+/somewhere
+└── else
+    └── cylc-run
+        └── myflow
+            └── log
+                ├── flow-config
+                ├── install
+                ...
+</pre></div>
+</div>
+<p>These <code class="docutils literal notranslate"><span class="pre">localhost</span></code> symlinks are created during the cylc install process.
+Symlinks for remote install targets are created during <a class="reference internal" href="../../user-guide/running-workflows/scheduler-start-up.html#remoteinit"><span class="std std-ref">Remote Initialization</span></a> following
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code>.</p>
+</section>
+<section id="advanced-platform-example">
+<h2>Advanced Platform Example<a class="headerlink" href="#advanced-platform-example" title="Link to this heading"></a></h2>
+<section id="platform-with-no-home-directory">
+<h3>Platform with no <code class="docutils literal notranslate"><span class="pre">$HOME</span></code> directory<a class="headerlink" href="#platform-with-no-home-directory" title="Link to this heading"></a></h3>
+<div class="admonition-scenario admonition">
+<p class="admonition-title">Scenario</p>
+<p>You are trying to run jobs on a platform where the compute nodes don’t
+have a configured <code class="docutils literal notranslate"><span class="pre">HOME</span></code> directory.</p>
+</div>
+<p>So long as the login and compute nodes share a filesystem the workflow can be
+installed on the shared filesystem using
+<a class="reference internal" href="global.html#global.cylc[install][symlink dirs]" title="global.cylc[install][symlink dirs]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs]</span></code></a>.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">$CYLC_RUN_DIR</span></code> variable can then be set on the compute node to point
+at the <code class="docutils literal notranslate"><span class="pre">cylc-run</span></code> directory on the shared filesystem using
+<a class="reference internal" href="global.html#global.cylc[platforms][&lt;platform name&gt;]global init-script" title="global.cylc[platforms][&lt;platform name&gt;]global init-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]global</span> <span class="pre">init-script</span></code></a>.</p>
+<blockquote>
+<div><div class="literal-block-wrapper docutils container" id="id5">
+<div class="code-block-caption"><span class="caption-text">part of a <code class="docutils literal notranslate"><span class="pre">global.cylc</span></code> config file</span><a class="headerlink" href="#id5" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[homeless-hpc]]</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> my-job-runner</span>
+        <span class="nv">install target </span><span class="o">=</span><span class="s"> homeless-hpc</span>
+        <span class="nv">global init-script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            export CYLC_RUN_DIR=/shared/filesystem/cylc-run</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+
+<span class="nt">[install]</span>
+    <span class="nt">[[symlink dirs]]</span>
+        <span class="nt">[[[homeless-hpc]]]</span>
+            <span class="nv">run </span><span class="o">=</span><span class="s"> /shared/filesystem/</span>
+</pre></div>
+</div>
+</div>
+</div></blockquote>
+<p>In this example Cylc will install workflows into
+<code class="docutils literal notranslate"><span class="pre">/shared/filesystem/cylc-run</span></code>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>If you are running <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">schedulers</span></a> directly on the login node
+and submitting jobs locally then the platform name and install target should
+be <code class="docutils literal notranslate"><span class="pre">localhost</span></code>.</p>
+</div>
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="types.html" class="btn btn-neutral float-left" title="Cylc Configuration Data Types" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../job-script-vars/index.html" class="btn btn-neutral float-right" title="Job Script Environment Variables" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/config/writing-platform-configs";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/dev-history-major-changes.html b/nightly_8.3/html/reference/dev-history-major-changes.html
new file mode 100644
index 00000000000..4aaf741fe6a
--- /dev/null
+++ b/nightly_8.3/html/reference/dev-history-major-changes.html
@@ -0,0 +1,229 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Cylc Development History - Major Changes &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Glossary" href="../glossary.html" />
+    <link rel="prev" title="Conda Environments" href="environments/conda.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="changes.html">Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="config/index.html">Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="architecture/index.html">Architecture</a></li>
+<li class="toctree-l2"><a class="reference internal" href="api/index.html">Cylc API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="index.html">Reference</a></li>
+      <li class="breadcrumb-item active">Cylc Development History - Major Changes</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/reference/dev-history-major-changes.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="cylc-development-history-major-changes">
+<h1>Cylc Development History - Major Changes<a class="headerlink" href="#cylc-development-history-major-changes" title="Link to this heading"></a></h1>
+<ul class="simple">
+<li><p><strong>pre-cylc-3</strong></p>
+<ul>
+<li><p>early versions focused on the new
+scheduling algorithm. A suite was a collection of “task definition files”
+that encoded the prerequisites and outputs of each task,
+exposing Cylc’s self-organising nature. Tasks could be transferred
+from one suite to another by simply copying their taskdef files over
+and checking prerequisite and output consistency. Global suite
+structure was not easy to discern until run time (although cylc-2
+could generate resolved run time dependency graphs).</p></li>
+</ul>
+</li>
+<li><p><strong>cylc-3</strong></p>
+<ul>
+<li><p>a new suite design interface: dependency graph and task runtime properties
+defined in a single structured, validated, configuration file</p></li>
+<li><p>graphical user interface</p></li>
+<li><p>suite graphing</p></li>
+</ul>
+</li>
+<li><p><strong>cylc-4</strong></p>
+<ul>
+<li><p>refined and organized the suite config file structure</p></li>
+<li><p>task runtime properties defined by an efficient inheritance hierarchy</p></li>
+<li><p>support for the Jinja2 template processor in suite configurations</p></li>
+</ul>
+</li>
+<li><p><strong>cylc-5</strong></p>
+<ul>
+<li><p>multi-threading for continuous network request handling and job submission</p></li>
+<li><p>more task states to distinguish job submission from execution</p></li>
+<li><p>dependence between suites via new run databases</p></li>
+<li><p>polling and killing of real jobs</p></li>
+<li><p>polling as task communications option</p></li>
+</ul>
+</li>
+<li><p><strong>cylc-6</strong></p>
+<ul>
+<li><p>specification of all datetimes and cycling suites via ISO8601
+datetimes, durations, and recurrence expressions</p></li>
+<li><p>integer cycling</p></li>
+<li><p>a multi-process pool to execute job submissions, event handlers, and poll
+and kill commands</p></li>
+</ul>
+</li>
+<li><p><strong>cylc-7</strong></p>
+<ul>
+<li><p>Replaced the Pyro communications layer with RESTful HTTPS</p></li>
+<li><p>Removed deprecated pre cylc-6 syntax and features</p></li>
+</ul>
+</li>
+<li><p><strong>cylc-8</strong></p>
+<ul>
+<li><p>Migrated to Python 3</p></li>
+<li><p>New architecture, network layers, security</p></li>
+<li><p>New web UI</p></li>
+<li><p>New efficient scheduling algorithm</p></li>
+<li><p>Removed deprecated pre cylc-6 syntax and features</p></li>
+</ul>
+</li>
+</ul>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="environments/conda.html" class="btn btn-neutral float-left" title="Conda Environments" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../glossary.html" class="btn btn-neutral float-right" title="Glossary" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/dev-history-major-changes";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/environments/conda.html b/nightly_8.3/html/reference/environments/conda.html
new file mode 100644
index 00000000000..fb2f8ebaba0
--- /dev/null
+++ b/nightly_8.3/html/reference/environments/conda.html
@@ -0,0 +1,311 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Conda Environments &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Cylc Development History - Major Changes" href="../dev-history-major-changes.html" />
+    <link rel="prev" title="Workflow Runtime Interface" href="../api/zmq.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../changes.html">Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../config/index.html">Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../api/index.html">Cylc API</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Conda Environments</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-flow">Cylc Flow</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-uiserver">Cylc UIServer</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-rose">Cylc Rose</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#adding-cylc-to-your-conda-package">Adding Cylc To Your Conda Package</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#working-with-other-conda-channels">Working With Other Conda Channels</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Reference</a></li>
+      <li class="breadcrumb-item active">Conda Environments</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/reference/environments/conda.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="conda-environments">
+<span id="id1"></span><h1>Conda Environments<a class="headerlink" href="#conda-environments" title="Link to this heading"></a></h1>
+<p>Cylc consists of multiple components.</p>
+<p>This Conda environment will provide you with the “recommended” installation of
+all components:</p>
+<div class="highlight-YAML notranslate"><div class="highlight"><pre><span></span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-8.3</span>
+<span class="nt">channels</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">conda-forge</span>
+<span class="nt">dependencies</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-flow =8.3</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-uiserver</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-rose</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">metomi-rose</span>
+</pre></div>
+</div>
+<p>The following sections outline alternatives for finer control over installation.</p>
+<section id="cylc-flow">
+<h2>Cylc Flow<a class="headerlink" href="#cylc-flow" title="Link to this heading"></a></h2>
+<p>The simplest Cylc installation consists only of <a class="reference external" href="https://github.com/cylc/cylc-flow">Cylc Flow</a>:</p>
+<div class="highlight-YAML notranslate"><div class="highlight"><pre><span></span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-flow</span>
+<span class="nt">channels</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">conda-forge</span>
+<span class="nt">dependencies</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-flow =8.3</span>
+</pre></div>
+</div>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>We suggest installing <a class="reference external" href="https://github.com/cylc/cylc-flow">Cylc Flow</a> at a “minor” version (e.g. <code class="docutils literal notranslate"><span class="pre">8.1</span></code> rather
+than <code class="docutils literal notranslate"><span class="pre">8.1.2</span></code>) to pick up the latest “maintenance” release.</p>
+</div>
+<p>If you do not specify your Python version you will be provided with the most
+recent compatible one.</p>
+<p>If you are installing Cylc on multiple machines across a network it is
+advisable to keep the Python versions consistent.</p>
+<p>You can do this by adding Python into the environment at a particular version:</p>
+<div class="highlight-YAML notranslate"><div class="highlight"><pre><span></span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-flow-with-python-3.7</span>
+<span class="nt">channels</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">conda-forge</span>
+<span class="nt">dependencies</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">python =3.7</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-flow =8.3</span>
+</pre></div>
+</div>
+<p><a class="reference external" href="https://github.com/cylc/cylc-flow">Cylc Flow</a> provides a cut-down package containing only the bare essentials
+called <code class="docutils literal notranslate"><span class="pre">cylc-flow-base</span></code>.</p>
+<p>This may be useful for installing onto job hosts where client-facing extra
+features are not of interest:</p>
+<div class="highlight-YAML notranslate"><div class="highlight"><pre><span></span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-flow-base</span>
+<span class="nt">channels</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">conda-forge</span>
+<span class="nt">dependencies</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-flow-base =8.3</span>
+</pre></div>
+</div>
+</section>
+<section id="cylc-uiserver">
+<h2>Cylc UIServer<a class="headerlink" href="#cylc-uiserver" title="Link to this heading"></a></h2>
+<p>The default <a class="reference internal" href="#cylc-uiserver">Cylc UIServer</a> package comes with <a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a> and the
+<a class="reference external" href="https://github.com/corridor/configurable-http-proxy">Configurable HTTP Proxy</a> (required by <a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a>) bundled:</p>
+<div class="highlight-YAML notranslate"><div class="highlight"><pre><span></span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-uiserver</span>
+<span class="nt">channels</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">conda-forge</span>
+<span class="nt">dependencies</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-flow =8.3</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-uiserver</span>
+</pre></div>
+</div>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>We suggest <em>not</em> specifying the version of other Cylc components to
+(i.e. <a class="reference internal" href="#cylc-uiserver">Cylc UIServer</a> and <a class="reference internal" href="#cylc-rose">Cylc Rose</a>). This will pick up the most recent
+version compatible with the specified <a class="reference external" href="https://github.com/cylc/cylc-flow">Cylc Flow</a> version.</p>
+</div>
+<p><a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a> is only required for multi-user setups, the <a class="reference internal" href="#cylc-uiserver">Cylc UIServer</a>
+can be run as a standalone application.</p>
+<p>To exclude <a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a> from the installation use <code class="docutils literal notranslate"><span class="pre">cylc-uiserver-base</span></code>:</p>
+<div class="highlight-YAML notranslate"><div class="highlight"><pre><span></span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-uiserver-without-jupyterhub</span>
+<span class="nt">channels</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">conda-forge</span>
+<span class="nt">dependencies</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-flow =8.3</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-uiserver-base</span>
+</pre></div>
+</div>
+<p>If you want to use <a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a> with an alternative proxy use
+<code class="docutils literal notranslate"><span class="pre">cylc-uiserver-hub-base</span></code> (this depends on <code class="docutils literal notranslate"><span class="pre">jupyterhub-base</span></code>, see the
+<a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a> documentation for details):</p>
+<div class="highlight-YAML notranslate"><div class="highlight"><pre><span></span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-uiserver-with-traefik-proxy</span>
+<span class="nt">channels</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">conda-forge</span>
+<span class="nt">dependencies</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-flow =8.3</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-uiserver-hub-base</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">pip</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">pip</span><span class="p">:</span>
+<span class="w">      </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">jupyterhub-traefik-proxy</span>
+</pre></div>
+</div>
+</section>
+<section id="cylc-rose">
+<h2>Cylc Rose<a class="headerlink" href="#cylc-rose" title="Link to this heading"></a></h2>
+<p>For working with Rose add <code class="docutils literal notranslate"><span class="pre">metomi-rose</span></code> and <code class="docutils literal notranslate"><span class="pre">cylc-rose</span></code> (the bridge
+between Cylc &amp; Rose):</p>
+<div class="highlight-YAML notranslate"><div class="highlight"><pre><span></span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-rose</span>
+<span class="nt">channels</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">conda-forge</span>
+<span class="nt">dependencies</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-flow =8.3</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-rose</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">metomi-rose</span>
+</pre></div>
+</div>
+<p>We will look at providing more installation options for Rose in the near
+future.</p>
+</section>
+<section id="adding-cylc-to-your-conda-package">
+<h2>Adding Cylc To Your Conda Package<a class="headerlink" href="#adding-cylc-to-your-conda-package" title="Link to this heading"></a></h2>
+<p>If you want to publish a package (e.g. to Conda Forge) that depends on Cylc,
+consider using the minimal package (e.g. <code class="docutils literal notranslate"><span class="pre">cylc-flow-base</span></code>) as a dependency
+to allow the installer to maintain flexibility over the installation.</p>
+</section>
+<section id="working-with-other-conda-channels">
+<h2>Working With Other Conda Channels<a class="headerlink" href="#working-with-other-conda-channels" title="Link to this heading"></a></h2>
+<p>Cylc projects are published to Conda Forge and the above environments install
+all dependencies from Conda Forge.</p>
+<p>If you want to install other dependencies (e.g. Python), from other channels
+(e.g. Anaconda), list the dependency explicitly and place the channel <em>above</em>
+the Conda Forge channel.</p>
+<div class="highlight-YAML notranslate"><div class="highlight"><pre><span></span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-flow</span>
+<span class="nt">channels</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">defaults</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">conda-forge</span>
+<span class="nt">dependencies</span><span class="p">:</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">python</span>
+<span class="w">  </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cylc-flow =8.3</span>
+</pre></div>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../api/zmq.html" class="btn btn-neutral float-left" title="Workflow Runtime Interface" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../dev-history-major-changes.html" class="btn btn-neutral float-right" title="Cylc Development History - Major Changes" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/environments/conda";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/index.html b/nightly_8.3/html/reference/index.html
new file mode 100644
index 00000000000..e5d402165ac
--- /dev/null
+++ b/nightly_8.3/html/reference/index.html
@@ -0,0 +1,210 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Reference &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Changes" href="changes.html" />
+    <link rel="prev" title="Portable Workflows" href="../workflow-design-guide/portable-workflows.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Reference</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="changes.html">Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="config/index.html">Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="architecture/index.html">Architecture</a></li>
+<li class="toctree-l2"><a class="reference internal" href="api/index.html">Cylc API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">Reference</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/reference/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="reference">
+<h1>Reference<a class="headerlink" href="#reference" title="Link to this heading"></a></h1>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="changes.html">Changes</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#cylc-8-3-0">Cylc 8.3.0</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#cylc-8-2-0">Cylc 8.2.0</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#cylc-8-1-0">Cylc 8.1.0</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#cylc-8-0-0">Cylc 8.0.0</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="config/index.html">Configuration</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="config/file-format.html">The .cylc File Format</a></li>
+<li class="toctree-l2"><a class="reference internal" href="config/workflow.html">Workflow Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="config/global.html">Global Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="config/ui-server.html">UI Server Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="config/types.html">Cylc Configuration Data Types</a></li>
+<li class="toctree-l2"><a class="reference internal" href="config/writing-platform-configs.html">Platform Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="job-script-vars/index.html">Job Script Environment Variables</a></li>
+<li class="toctree-l1"><a class="reference internal" href="architecture/index.html">Architecture</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="architecture/index.html#cylc-scheduler">Cylc Scheduler</a></li>
+<li class="toctree-l2"><a class="reference internal" href="architecture/index.html#cylc-ui">Cylc UI</a></li>
+<li class="toctree-l2"><a class="reference internal" href="architecture/index.html#cylc-ui-server">Cylc UI Server</a></li>
+<li class="toctree-l2"><a class="reference internal" href="architecture/index.html#cylc-hub">Cylc Hub</a></li>
+<li class="toctree-l2"><a class="reference internal" href="architecture/index.html#network-layers">Network layers</a></li>
+<li class="toctree-l2"><a class="reference internal" href="architecture/index.html#further-reading">Further Reading</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="api/index.html">Cylc API</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="api/scan.html">Scan API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="api/zmq.html">Workflow Runtime Interface</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="environments/conda.html">Conda Environments</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="environments/conda.html#cylc-flow">Cylc Flow</a></li>
+<li class="toctree-l2"><a class="reference internal" href="environments/conda.html#cylc-uiserver">Cylc UIServer</a></li>
+<li class="toctree-l2"><a class="reference internal" href="environments/conda.html#cylc-rose">Cylc Rose</a></li>
+<li class="toctree-l2"><a class="reference internal" href="environments/conda.html#adding-cylc-to-your-conda-package">Adding Cylc To Your Conda Package</a></li>
+<li class="toctree-l2"><a class="reference internal" href="environments/conda.html#working-with-other-conda-channels">Working With Other Conda Channels</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../workflow-design-guide/portable-workflows.html" class="btn btn-neutral float-left" title="Portable Workflows" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="changes.html" class="btn btn-neutral float-right" title="Changes" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/reference/job-script-vars/index.html b/nightly_8.3/html/reference/job-script-vars/index.html
new file mode 100644
index 00000000000..101d1477191
--- /dev/null
+++ b/nightly_8.3/html/reference/job-script-vars/index.html
@@ -0,0 +1,243 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Job Script Environment Variables &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Architecture" href="../architecture/index.html" />
+    <link rel="prev" title="Platform Configuration" href="../config/writing-platform-configs.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Reference</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../changes.html">Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../config/index.html">Configuration</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Job Script Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../api/index.html">Cylc API</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../environments/conda.html">Conda Environments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../dev-history-major-changes.html">Cylc Development History - Major Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Reference</a></li>
+      <li class="breadcrumb-item active">Job Script Environment Variables</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/reference/job-script-vars/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="job-script-environment-variables">
+<h1>Job Script Environment Variables<a class="headerlink" href="#job-script-environment-variables" title="Link to this heading"></a></h1>
+<p>These environment variables provided by the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> are available
+to Cylc job scripts at run time:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>CYLC_VERSION                       <span class="c"># Version of cylc installation used</span>
+CYLC_VERBOSE                       <span class="c"># Verbose mode, true or false</span>
+CYLC_DEBUG                         <span class="c"># Debug mode (even more verbose), true or false</span>
+
+CYLC_CYCLING_MODE                  <span class="c"># Cycling mode, e.g. gregorian</span>
+ISODATETIMECALENDAR                <span class="c"># Calendar mode for the `isodatetime` command,</span>
+                                   <span class="c">#   defined with the value of CYLC_CYCLING_MODE</span>
+                                   <span class="c">#   when in any datetime cycling mode</span>
+
+CYLC_WORKFLOW_FINAL_CYCLE_POINT    <span class="c"># Final cycle point</span>
+CYLC_WORKFLOW_INITIAL_CYCLE_POINT  <span class="c"># Initial cycle point</span>
+CYLC_WORKFLOW_ID                   <span class="c"># Workflow ID</span>
+                                   <span class="c"># e.g. &quot;a/b/c/run1&quot;</span>
+CYLC_WORKFLOW_NAME                 <span class="c"># Workflow ID with the run name removed</span>
+                                   <span class="c"># (use CYLC_WORKFLOW_ID for most purposes)</span>
+                                   <span class="c"># e.g. &quot;a/b/c&quot;</span>
+CYLC_WORKFLOW_NAME_BASE            <span class="c"># The basename of the workflow name</span>
+                                   <span class="c"># (use CYLC_WORKFLOW_ID for most purposes)</span>
+                                   <span class="c"># e.g. &quot;c&quot;</span>
+CYLC_UTC                           <span class="c"># UTC mode, True or False</span>
+TZ                                 <span class="c"># Set to &quot;UTC&quot; in UTC mode or not defined</span>
+
+CYLC_WORKFLOW_RUN_DIR              <span class="c"># Location of the run directory in</span>
+                                   <span class="c"># job host, e.g. ~/cylc-run/foo</span>
+CYLC_WORKFLOW_HOST                 <span class="c"># Host running the workflow process</span>
+CYLC_WORKFLOW_OWNER                <span class="c"># User ID running the workflow process</span>
+
+CYLC_WORKFLOW_SHARE_DIR            <span class="c"># Workflow (or task!) shared directory (see below)</span>
+CYLC_WORKFLOW_UUID                 <span class="c"># Workflow UUID string</span>
+CYLC_WORKFLOW_WORK_DIR             <span class="c"># Workflow work directory (see below)</span>
+
+CYLC_TASK_JOB                      <span class="c"># Job identifier expressed as</span>
+                                   <span class="c"># CYCLE-POINT/TASK-NAME/SUBMIT-NUMBER</span>
+                                   <span class="c">#   e.g. 20110511T1800Z/t1/01</span>
+
+CYLC_TASK_CYCLE_POINT              <span class="c"># Cycle point, e.g. 20110511T1800Z</span>
+ISODATETIMEREF                     <span class="c"># Reference time for the `isodatetime` command,</span>
+                                   <span class="c">#   defined with the value of CYLC_TASK_CYCLE_POINT</span>
+                                   <span class="c">#   when in any datetime cycling mode</span>
+
+CYLC_TASK_NAME                     <span class="c"># Job&#39;s task name, e.g. t1</span>
+CYLC_TASK_ID                       <span class="c"># Task instance identifier CYCLE-POINT/TASK-NAME</span>
+                                   <span class="c">#   e.g. 20110511T1800Z/t1</span>
+
+CYLC_TASK_SUBMIT_NUMBER            <span class="c"># Job&#39;s submit number, e.g. 1,</span>
+                                   <span class="c">#   increments with every submit</span>
+CYLC_TASK_TRY_NUMBER               <span class="c"># Number of execution tries, e.g. 1</span>
+                                   <span class="c">#   increments with automatic execution retry delays.</span>
+CYLC_TASK_FLOW_NUMBERS             <span class="c"># Flows this task belongs to, e.g. 1,2</span>
+
+CYLC_TASK_LOG_DIR                  <span class="c"># Location of the job log directory</span>
+                                   <span class="c">#   e.g. ~/cylc-run/foo/log/job/20110511T1800Z/t1/01/</span>
+CYLC_TASK_LOG_ROOT                 <span class="c"># The job script path</span>
+                                   <span class="c">#   e.g. ~/cylc-run/foo/log/job/20110511T1800Z/t1/01/job</span>
+CYLC_TASK_WORK_DIR                 <span class="c"># Location of task work directory (see below)</span>
+                                   <span class="c">#   e.g. ~/cylc-run/foo/work/20110511T1800Z/t1</span>
+
+CYLC_TASK_NAMESPACE_HIERARCHY      <span class="c"># Linearised family namespace of the task,</span>
+                                   <span class="c">#   e.g. root postproc t1</span>
+CYLC_TASK_DEPENDENCIES             <span class="c"># List of met dependencies that triggered the task</span>
+                                   <span class="c">#   e.g. 1/foo 1/bar</span>
+                                   <span class="c">#   (note this variable will not be</span>
+                                   <span class="c">#   exported if there are more than 50</span>
+                                   <span class="c">#   dependencies)</span>
+
+CYLC_TASK_COMMS_METHOD             <span class="c"># Set to &quot;ssh&quot; if communication method is &quot;ssh&quot;</span>
+CYLC_TASK_SSH_LOGIN_SHELL          <span class="c"># With &quot;ssh&quot; communication, if set to &quot;True&quot;,</span>
+                                   <span class="c">#   use login shell on workflow host</span>
+</pre></div>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/writing-workflows/runtime.html#task-job-script-variables"><span class="std std-ref">Job Script Variables</span></a></p>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../config/writing-platform-configs.html" class="btn btn-neutral float-left" title="Platform Configuration" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../architecture/index.html" class="btn btn-neutral float-right" title="Architecture" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "reference/job-script-vars/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/search.html b/nightly_8.3/html/search.html
new file mode 100644
index 00000000000..f743d673648
--- /dev/null
+++ b/nightly_8.3/html/search.html
@@ -0,0 +1,168 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="./">
+<head>
+  <meta charset="utf-8" />
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Search &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="_static/cylc-favicon.ico"/>
+    
+  <!--[if lt IE 9]>
+    <script src="_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="_static/jquery.js?v=5d32c60e"></script>
+        <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="_static/doctools.js?v=888ff710"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="_static/js/spoiler.js?v=12631137"></script>
+        <script src="_static/js/addons.js?v=39bd7dee"></script>
+    <script src="_static/js/theme.js"></script>
+    <script src="_static/searchtools.js"></script>
+    <script src="_static/language_data.js"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="#" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="index.html">
+            
+              <img src="_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="#" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul>
+<li class="toctree-l1"><a class="reference internal" href="7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">Search</li>
+      <li class="wy-breadcrumbs-aside">
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <noscript>
+  <div id="fallback" class="admonition warning">
+    <p class="last">
+      Please activate JavaScript to enable the search functionality.
+    </p>
+  </div>
+  </noscript>
+
+  
+  <div id="search-results">
+  
+  </div>
+
+           </div>
+          </div>
+          <footer>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "search";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+  <script>
+    jQuery(function() { Search.loadIndex("searchindex.js"); });
+  </script>
+  
+  <script id="searchindexloader"></script>
+   
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/searchindex.js b/nightly_8.3/html/searchindex.js
new file mode 100644
index 00000000000..13698666fc8
--- /dev/null
+++ b/nightly_8.3/html/searchindex.js
@@ -0,0 +1 @@
+Search.setIndex({"docnames": ["7-to-8/caveats", "7-to-8/cheat-sheet", "7-to-8/index", "7-to-8/major-changes/cli", "7-to-8/major-changes/compatibility-mode", "7-to-8/major-changes/config-changes", "7-to-8/major-changes/continuing-c7-c8", "7-to-8/major-changes/cylc-install", "7-to-8/major-changes/excluding-tasks", "7-to-8/major-changes/index", "7-to-8/major-changes/parameters", "7-to-8/major-changes/platforms", "7-to-8/major-changes/play-pause-stop", "7-to-8/major-changes/python-2-3", "7-to-8/major-changes/remote-owner", "7-to-8/major-changes/scheduling", "7-to-8/major-changes/suicide-triggers", "7-to-8/major-changes/task-job-states", "7-to-8/major-changes/template-vars", "7-to-8/major-changes/ui", "7-to-8/summary", "glossary", "index", "installation", "plugins/cylc-rose", "plugins/index", "plugins/install/built-in/cylc.flow.install_plugins.log_vc_info", "plugins/install/index", "plugins/job-runners/index", "plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart", "plugins/main-loop/built-in/cylc.flow.main_loop.health_check", "plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store", "plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop", "plugins/main-loop/built-in/cylc.flow.main_loop.log_memory", "plugins/main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts", "plugins/main-loop/index", "reference/api/index", "reference/api/scan", "reference/api/zmq", "reference/architecture/data-flow", "reference/architecture/index", "reference/architecture/ui-server", "reference/changes", "reference/config/file-format", "reference/config/global", "reference/config/index", "reference/config/shorthand", "reference/config/types", "reference/config/ui-server", "reference/config/workflow", "reference/config/writing-platform-configs", "reference/dev-history-major-changes", "reference/environments/conda", "reference/index", "reference/job-script-vars/index", "tutorial/furthertopics/broadcast", "tutorial/furthertopics/clock-triggered-tasks", "tutorial/furthertopics/family-triggers", "tutorial/furthertopics/index", "tutorial/furthertopics/inheritance", "tutorial/furthertopics/message-triggers", "tutorial/furthertopics/queues", "tutorial/furthertopics/retries", "tutorial/index", "tutorial/introduction", "tutorial/runtime/configuration-consolidation/families", "tutorial/runtime/configuration-consolidation/index", "tutorial/runtime/configuration-consolidation/jinja2", "tutorial/runtime/configuration-consolidation/parameters", "tutorial/runtime/index", "tutorial/runtime/introduction", "tutorial/runtime/runtime-configuration", "tutorial/scheduling/datetime-cycling", "tutorial/scheduling/further-scheduling", "tutorial/scheduling/graphing", "tutorial/scheduling/index", "tutorial/scheduling/integer-cycling", "user-guide/compound-commands", "user-guide/index", "user-guide/installing-workflows", "user-guide/introduction", "user-guide/removing-workflows", "user-guide/running-workflows/authentication-files", "user-guide/running-workflows/dynamic-behaviour", "user-guide/running-workflows/handling-job-preemption", "user-guide/running-workflows/index", "user-guide/running-workflows/reflow", "user-guide/running-workflows/retrying-tasks", "user-guide/running-workflows/scheduler-log-files", "user-guide/running-workflows/scheduler-start-up", "user-guide/running-workflows/simulation-modes", "user-guide/running-workflows/task-job-states", "user-guide/running-workflows/tasks-jobs-ui", "user-guide/running-workflows/tracking-task-state", "user-guide/running-workflows/workflow-completion", "user-guide/running-workflows/workflow-databases", "user-guide/sharing-access-to-workflows", "user-guide/task-implementation/index", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.at", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.lsf", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.moab", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.pbs", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.sge", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob", "user-guide/task-implementation/job-scripts", "user-guide/task-implementation/job-submission", "user-guide/task-implementation/ssh-job-management", "user-guide/writing-workflows/configuration", "user-guide/writing-workflows/empy", "user-guide/writing-workflows/external-triggers", "user-guide/writing-workflows/index", "user-guide/writing-workflows/jinja2", "user-guide/writing-workflows/parameterized-tasks", "user-guide/writing-workflows/runtime", "user-guide/writing-workflows/scheduler", "user-guide/writing-workflows/scheduling", "user-guide/writing-workflows/suicide-triggers", "workflow-design-guide/efficiency", "workflow-design-guide/general-principles", "workflow-design-guide/index", "workflow-design-guide/portable-workflows", "workflow-design-guide/style-guide"], "filenames": ["7-to-8/caveats.rst", "7-to-8/cheat-sheet.rst", "7-to-8/index.rst", "7-to-8/major-changes/cli.rst", "7-to-8/major-changes/compatibility-mode.rst", "7-to-8/major-changes/config-changes.rst", "7-to-8/major-changes/continuing-c7-c8.rst", "7-to-8/major-changes/cylc-install.rst", "7-to-8/major-changes/excluding-tasks.rst", "7-to-8/major-changes/index.rst", "7-to-8/major-changes/parameters.rst", "7-to-8/major-changes/platforms.rst", "7-to-8/major-changes/play-pause-stop.rst", "7-to-8/major-changes/python-2-3.rst", "7-to-8/major-changes/remote-owner.rst", "7-to-8/major-changes/scheduling.rst", "7-to-8/major-changes/suicide-triggers.rst", "7-to-8/major-changes/task-job-states.rst", "7-to-8/major-changes/template-vars.rst", "7-to-8/major-changes/ui.rst", "7-to-8/summary.rst", "glossary.rst", "index.rst", "installation.rst", "plugins/cylc-rose.rst", "plugins/index.rst", "plugins/install/built-in/cylc.flow.install_plugins.log_vc_info.rst", "plugins/install/index.rst", "plugins/job-runners/index.rst", "plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.rst", "plugins/main-loop/built-in/cylc.flow.main_loop.health_check.rst", "plugins/main-loop/built-in/cylc.flow.main_loop.log_data_store.rst", "plugins/main-loop/built-in/cylc.flow.main_loop.log_main_loop.rst", "plugins/main-loop/built-in/cylc.flow.main_loop.log_memory.rst", "plugins/main-loop/built-in/cylc.flow.main_loop.reset_bad_hosts.rst", "plugins/main-loop/index.rst", "reference/api/index.rst", "reference/api/scan.rst", "reference/api/zmq.rst", "reference/architecture/data-flow.rst", "reference/architecture/index.rst", "reference/architecture/ui-server.rst", "reference/changes.rst", "reference/config/file-format.rst", "reference/config/global.rst", "reference/config/index.rst", "reference/config/shorthand.rst", "reference/config/types.rst", "reference/config/ui-server.rst", "reference/config/workflow.rst", "reference/config/writing-platform-configs.rst", "reference/dev-history-major-changes.rst", "reference/environments/conda.rst", "reference/index.rst", "reference/job-script-vars/index.rst", "tutorial/furthertopics/broadcast.rst", "tutorial/furthertopics/clock-triggered-tasks.rst", "tutorial/furthertopics/family-triggers.rst", "tutorial/furthertopics/index.rst", "tutorial/furthertopics/inheritance.rst", "tutorial/furthertopics/message-triggers.rst", "tutorial/furthertopics/queues.rst", "tutorial/furthertopics/retries.rst", "tutorial/index.rst", "tutorial/introduction.rst", "tutorial/runtime/configuration-consolidation/families.rst", "tutorial/runtime/configuration-consolidation/index.rst", "tutorial/runtime/configuration-consolidation/jinja2.rst", "tutorial/runtime/configuration-consolidation/parameters.rst", "tutorial/runtime/index.rst", "tutorial/runtime/introduction.rst", "tutorial/runtime/runtime-configuration.rst", "tutorial/scheduling/datetime-cycling.rst", "tutorial/scheduling/further-scheduling.rst", "tutorial/scheduling/graphing.rst", "tutorial/scheduling/index.rst", "tutorial/scheduling/integer-cycling.rst", "user-guide/compound-commands.rst", "user-guide/index.rst", "user-guide/installing-workflows.rst", "user-guide/introduction.rst", "user-guide/removing-workflows.rst", "user-guide/running-workflows/authentication-files.rst", "user-guide/running-workflows/dynamic-behaviour.rst", "user-guide/running-workflows/handling-job-preemption.rst", "user-guide/running-workflows/index.rst", "user-guide/running-workflows/reflow.rst", "user-guide/running-workflows/retrying-tasks.rst", "user-guide/running-workflows/scheduler-log-files.rst", "user-guide/running-workflows/scheduler-start-up.rst", "user-guide/running-workflows/simulation-modes.rst", "user-guide/running-workflows/task-job-states.rst", "user-guide/running-workflows/tasks-jobs-ui.rst", "user-guide/running-workflows/tracking-task-state.rst", "user-guide/running-workflows/workflow-completion.rst", "user-guide/running-workflows/workflow-databases.rst", "user-guide/sharing-access-to-workflows.rst", "user-guide/task-implementation/index.rst", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.at.rst", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background.rst", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler.rst", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.lsf.rst", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.moab.rst", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.pbs.rst", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.sge.rst", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm.rst", "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob.rst", "user-guide/task-implementation/job-scripts.rst", "user-guide/task-implementation/job-submission.rst", "user-guide/task-implementation/ssh-job-management.rst", "user-guide/writing-workflows/configuration.rst", "user-guide/writing-workflows/empy.rst", "user-guide/writing-workflows/external-triggers.rst", "user-guide/writing-workflows/index.rst", "user-guide/writing-workflows/jinja2.rst", "user-guide/writing-workflows/parameterized-tasks.rst", "user-guide/writing-workflows/runtime.rst", "user-guide/writing-workflows/scheduler.rst", "user-guide/writing-workflows/scheduling.rst", "user-guide/writing-workflows/suicide-triggers.rst", "workflow-design-guide/efficiency.rst", "workflow-design-guide/general-principles.rst", "workflow-design-guide/index.rst", "workflow-design-guide/portable-workflows.rst", "workflow-design-guide/style-guide.rst"], "titles": ["Cylc 8.3 Caveats", "Cheat Sheet", "Cylc 8 Migration Guide", "Command Line Interface", "Cylc 7 Compatibility Mode", "Configuration Changes at Cylc 8", "Continuing a Cylc 7 Workflow with Cylc 8", "Cylc Install", "Excluding Tasks at Start-up is Not Supported", "Detailed Description of Major Changes", "Parameters", "Platforms", "Play Pause Stop", "Python 2 =&gt; 3", "Remote Usernames", "Scheduling Algorithm", "Graph branching, optional outputs and suicide triggers", "Task/Job States", "Template Variables", "Cylc 8 UIs", "Summary Of Major Changes", "Glossary", "Cylc Documentation", "Installation", "Cylc Rose", "Plugins", "cylc.flow.install_plugins.log_vc_info", "Pre-Configure And Post-Install Plugins", "Custom Job Submission Methods", "cylc.flow.main_loop.auto_restart", "cylc.flow.main_loop.health_check", "cylc.flow.main_loop.log_data_store", "cylc.flow.main_loop.log_main_loop", "cylc.flow.main_loop.log_memory", "cylc.flow.main_loop.reset_bad_hosts", "Main Loop Plugins", "Cylc API", "Scan API", "Workflow Runtime Interface", "Data Flow", "Architecture", "Cylc UI Server", "Changes", "The .cylc File Format", "Global Configuration", "Configuration", "&lt;no title&gt;", "Cylc Configuration Data Types", "UI Server Configuration", "Workflow Configuration", "Platform Configuration", "Cylc Development History - Major Changes", "Conda Environments", "Reference", "Job Script Environment Variables", "Broadcast Tutorial", "Clock Triggered Tasks", "Family Triggers", "Further Topics", "Inheritance", "Message Triggers", "Queues", "Retries", "Tutorial", "Introduction", "Families", "Consolidating Configuration", "Jinja2", "Parameterized Tasks", "Runtime", "Introduction", "Runtime Configuration", "Datetime Cycling", "Further Scheduling", "The <code class=\"xref cylc cylc-conf docutils literal notranslate\"><span class=\"pre\">flow.cylc</span></code> File Format", "Scheduling", "Basic Cycling", "Compound Commands", "User Guide", "Installing Workflows", "Introduction", "Removing Workflows", "Client-Server Interaction", "Cylc Broadcast", "Handling Job Preemption", "Running Workflows", "Concurrent Flows", "Retrying Tasks", "Scheduler Logs", "Start, Restart, Reload", "Simulation Modes", "Task &amp; Job States", "Tasks in the UI", "Tracking Job Status", "Workflow Completion", "Workflow Run Databases", "Authorizing Others to Access Your Workflows", "Task Implementation", "at", "background", "loadleveler", "lsf", "moab", "pbs", "sge", "slurm", "slurm_packjob", "Task Implementation", "Job Submission and Management", "Remote Job Management", "Workflow Configuration", "EmPy", "External Triggers", "Writing Workflows", "Jinja2", "Task Parameters", "Task Configuration", "Scheduler Configuration", "Scheduling Configuration", "Suicide Triggers", "Efficiency And Maintainability", "Basic Principles", "Workflow Design Guide", "Portable Workflows", "Style Guidelines"], "terms": {"work": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 117, 118, 119, 120, 121, 122, 123, 124], "suit": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "rc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "runn": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "log": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 122, 123, 124], "servic": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "share": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 117, 118, 119, 122, 123, 124], "_cylc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "instal": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73, 74, 75, 76, 78, 80, 82, 83, 84, 85, 86, 87, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "There": [0, 3, 5, 10, 11, 12, 13, 19, 20, 21, 23, 37, 44, 49, 60, 65, 67, 70, 71, 72, 73, 74, 79, 89, 96, 108, 112, 118, 119, 121], "ar": [0, 3, 4, 5, 7, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 27, 28, 29, 33, 35, 37, 38, 39, 40, 41, 42, 43, 44, 48, 49, 52, 54, 55, 56, 57, 60, 61, 64, 65, 66, 67, 68, 70, 71, 72, 73, 74, 76, 79, 80, 81, 82, 84, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 112, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "few": [0, 56, 62, 72, 80, 107, 112, 120, 121, 123], "7": [0, 1, 2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 23, 24, 40, 44, 47, 50, 51, 52, 57, 71, 74, 89, 108, 115, 117, 118, 119, 120], "featur": [0, 8, 11, 20, 25, 27, 29, 51, 52, 73, 80, 93, 111, 117, 123], "which": [0, 3, 4, 5, 7, 10, 11, 13, 14, 15, 16, 20, 21, 23, 24, 27, 28, 33, 34, 35, 37, 38, 39, 41, 42, 43, 44, 47, 48, 49, 50, 55, 56, 57, 59, 60, 62, 65, 69, 70, 71, 72, 74, 76, 77, 79, 81, 82, 86, 88, 89, 90, 91, 93, 96, 100, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "do": [0, 1, 4, 12, 13, 20, 21, 23, 24, 29, 39, 44, 49, 50, 52, 56, 57, 59, 60, 62, 64, 65, 70, 71, 72, 76, 79, 80, 86, 89, 92, 93, 96, 100, 101, 102, 103, 104, 105, 107, 108, 112, 114, 115, 116, 118, 121, 123, 124], "yet": [0, 21, 74, 86, 89, 92, 107, 109], "have": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 17, 20, 21, 23, 24, 33, 34, 35, 39, 41, 42, 43, 44, 48, 49, 50, 55, 56, 57, 59, 60, 61, 62, 65, 66, 68, 70, 71, 72, 73, 74, 76, 79, 80, 81, 86, 87, 88, 89, 91, 92, 94, 96, 105, 107, 108, 109, 110, 112, 115, 116, 117, 118, 120, 121, 123, 124], "direct": [0, 21, 28, 43, 44, 49, 71, 90, 93, 96, 100, 101, 102, 103, 104, 105, 106, 109, 111, 114, 115, 116, 121, 123], "replac": [0, 3, 4, 5, 7, 11, 19, 20, 23, 24, 44, 49, 51, 67, 68, 71, 90, 95, 108, 110, 112, 116, 118, 124], "These": [0, 5, 12, 13, 20, 21, 23, 39, 44, 47, 49, 50, 54, 57, 59, 60, 70, 74, 89, 91, 93, 100, 101, 102, 103, 104, 105, 107, 108, 110, 112, 114, 115, 116, 118, 121], "re": [0, 1, 3, 7, 17, 20, 21, 28, 35, 37, 48, 55, 59, 62, 70, 79, 86, 93, 97, 107, 108, 110, 116, 118, 124], "implement": [0, 4, 20, 21, 22, 27, 28, 41, 44, 49, 72, 78, 108, 109, 111, 112, 116, 118, 121], "futur": [0, 1, 7, 20, 21, 24, 25, 42, 49, 52, 56, 65, 68, 86, 89, 91, 112, 120, 121, 122, 124], "releas": [0, 1, 3, 5, 11, 20, 21, 25, 49, 52, 70, 87, 96, 112, 118, 123], "multipl": [0, 11, 15, 17, 20, 21, 23, 33, 38, 40, 41, 42, 43, 44, 49, 52, 60, 62, 65, 67, 74, 76, 80, 86, 91, 96, 108, 110, 112, 113, 115, 120, 121], "The": [0, 1, 3, 4, 5, 7, 8, 11, 12, 13, 16, 17, 19, 20, 21, 24, 25, 27, 28, 29, 34, 35, 37, 38, 39, 40, 41, 44, 45, 46, 47, 48, 49, 50, 52, 53, 54, 55, 57, 59, 60, 61, 62, 63, 64, 68, 69, 71, 75, 76, 78, 83, 84, 86, 88, 90, 91, 92, 94, 95, 96, 97, 98, 100, 105, 107, 109, 111, 112, 113, 115, 117, 119, 122, 124], "new": [0, 1, 3, 4, 6, 7, 8, 11, 12, 15, 16, 21, 24, 25, 28, 29, 40, 42, 44, 49, 50, 51, 55, 56, 57, 59, 60, 61, 62, 64, 65, 68, 70, 71, 72, 74, 76, 79, 80, 83, 86, 87, 89, 90, 93, 94, 95, 108, 110, 112, 114, 115, 116, 118, 120, 121, 123, 124], "schedul": [0, 2, 4, 5, 7, 8, 9, 12, 14, 16, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 44, 49, 51, 53, 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 66, 67, 68, 70, 71, 72, 74, 76, 78, 80, 82, 83, 85, 86, 87, 89, 90, 92, 93, 95, 98, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 119, 120, 121, 123, 124], "can": [0, 3, 4, 7, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 23, 24, 27, 28, 33, 35, 37, 38, 39, 40, 41, 42, 43, 44, 47, 48, 49, 50, 52, 55, 56, 57, 59, 60, 61, 62, 64, 65, 66, 67, 68, 70, 71, 72, 73, 74, 76, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 119, 120, 121, 123, 124], "manag": [0, 14, 15, 20, 21, 41, 44, 60, 61, 64, 78, 80, 81, 84, 89, 92, 97, 102, 105, 107, 110, 112, 116, 121, 122], "workflow": [0, 3, 4, 5, 7, 8, 9, 10, 11, 13, 15, 16, 17, 18, 19, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 39, 40, 41, 42, 43, 44, 45, 48, 50, 53, 54, 55, 56, 57, 60, 61, 62, 63, 65, 66, 67, 68, 69, 71, 72, 73, 74, 75, 77, 78, 82, 83, 86, 87, 88, 90, 91, 92, 93, 97, 100, 101, 102, 103, 104, 105, 107, 108, 109, 115, 119, 120, 124], "graph": [0, 3, 4, 6, 8, 9, 12, 15, 17, 20, 21, 23, 24, 27, 28, 43, 49, 51, 55, 56, 57, 59, 60, 61, 62, 64, 66, 67, 68, 72, 73, 75, 76, 80, 85, 92, 94, 107, 110, 111, 112, 113, 114, 116, 119, 120, 121, 122], "command": [0, 1, 6, 7, 9, 14, 18, 19, 21, 22, 23, 24, 27, 28, 38, 39, 40, 41, 44, 48, 49, 51, 54, 55, 57, 59, 60, 61, 62, 64, 65, 68, 69, 70, 71, 72, 74, 76, 78, 80, 81, 82, 83, 88, 89, 93, 95, 96, 97, 98, 99, 100, 101, 103, 105, 107, 109, 110, 112, 113, 114, 116, 118, 120, 121, 123], "option": [0, 1, 4, 6, 7, 9, 14, 15, 18, 19, 21, 23, 27, 28, 35, 38, 42, 43, 44, 48, 49, 50, 51, 52, 57, 59, 65, 66, 70, 71, 72, 76, 77, 81, 87, 89, 92, 96, 107, 108, 109, 110, 112, 113, 115, 117, 121, 122, 124], "interact": [0, 19, 20, 23, 40, 44, 70, 78, 85, 93, 108, 109, 112, 116], "still": [0, 3, 4, 5, 7, 11, 12, 13, 16, 18, 21, 28, 29, 30, 43, 49, 56, 60, 62, 71, 74, 76, 84, 105, 107, 115, 116, 118, 121], "being": [0, 3, 7, 21, 49, 57, 60, 65, 87, 89, 91, 107, 108, 112, 118, 120, 121, 124], "refin": [0, 51], "old": [0, 3, 4, 5, 6, 20, 44, 49, 59, 110, 112, 118, 120], "gui": [0, 1, 3, 12, 15, 17, 20, 21, 23, 42, 44, 60, 61, 62, 64, 71, 79, 88, 96, 116, 121], "ha": [0, 3, 4, 5, 7, 10, 11, 15, 16, 17, 18, 20, 21, 23, 28, 29, 33, 34, 38, 42, 44, 48, 49, 50, 56, 57, 59, 60, 62, 65, 66, 70, 71, 72, 73, 74, 76, 79, 80, 84, 86, 87, 89, 91, 93, 96, 100, 107, 108, 111, 112, 114, 115, 116, 117, 118, 120, 121, 123], "been": [0, 3, 4, 5, 7, 10, 13, 18, 20, 28, 34, 41, 42, 48, 49, 50, 56, 59, 60, 66, 70, 71, 79, 84, 89, 91, 93, 96, 100, 110], "static": [0, 121], "visual": [0, 110, 115], "Not": [0, 9, 44, 49, 121], "reimplement": 0, "As": [0, 7, 13, 19, 49, 50, 57, 59, 66, 72, 79, 86, 96, 107, 111, 112, 115, 118, 121, 124], "an": [0, 3, 4, 6, 8, 11, 13, 16, 20, 21, 26, 27, 28, 29, 33, 34, 37, 38, 39, 40, 41, 43, 44, 46, 47, 48, 49, 50, 51, 52, 55, 59, 60, 64, 67, 68, 71, 72, 74, 76, 79, 80, 81, 84, 86, 88, 89, 91, 93, 95, 96, 98, 99, 100, 105, 107, 108, 110, 111, 112, 114, 115, 116, 117, 119, 120, 121, 122], "interim": 0, "measur": [0, 33], "gener": [0, 1, 3, 21, 28, 33, 37, 38, 48, 49, 51, 59, 60, 64, 65, 68, 69, 71, 74, 78, 80, 82, 86, 90, 100, 101, 102, 103, 104, 105, 107, 108, 111, 112, 114, 115, 118, 121, 122, 123, 124], "basic": [0, 1, 21, 22, 60, 63, 72, 75, 108, 111, 114, 116, 122], "png": [0, 49, 121], "imag": [0, 1], "graphviz": [0, 1, 23], "i": [0, 1, 3, 4, 6, 7, 9, 10, 12, 13, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 47, 48, 49, 50, 52, 54, 55, 56, 57, 59, 60, 61, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 74, 76, 77, 78, 79, 81, 84, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "environ": [0, 4, 20, 21, 22, 24, 27, 28, 43, 44, 48, 49, 53, 55, 59, 62, 65, 66, 67, 69, 70, 83, 86, 90, 107, 110, 112, 113, 115, 117, 120, 121, 123], "select": [0, 11, 20, 21, 29, 42, 44, 49, 50, 55, 71, 83, 95, 108, 110, 113, 120, 122, 123], "howev": [0, 3, 4, 7, 12, 16, 20, 21, 23, 43, 44, 46, 49, 66, 70, 71, 72, 74, 79, 80, 86, 89, 90, 91, 93, 96, 107, 108, 111, 112, 115, 118, 119, 121, 122, 123], "possibl": [0, 3, 4, 6, 12, 21, 24, 28, 39, 41, 44, 49, 56, 57, 65, 70, 73, 79, 81, 84, 86, 89, 93, 96, 107, 109, 114, 115, 116, 118, 121, 123, 124], "issu": [0, 38, 39, 60, 96, 110, 112, 118], "action": [0, 20, 27, 39, 77, 86, 109, 121], "task": [0, 3, 6, 7, 9, 10, 11, 12, 13, 15, 16, 19, 21, 22, 23, 28, 34, 38, 40, 42, 43, 44, 47, 49, 50, 51, 54, 55, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 69, 71, 72, 73, 74, 76, 78, 80, 83, 84, 85, 88, 89, 90, 94, 96, 98, 99, 109, 110, 111, 113, 114, 117, 119, 122, 123], "e": [0, 3, 4, 7, 10, 11, 13, 14, 16, 18, 20, 21, 23, 24, 28, 29, 33, 35, 37, 38, 41, 42, 44, 47, 48, 49, 50, 52, 54, 55, 56, 57, 61, 65, 66, 67, 68, 70, 71, 72, 73, 74, 76, 79, 81, 86, 88, 89, 92, 96, 105, 107, 108, 109, 110, 112, 114, 115, 116, 117, 118, 119, 120, 121, 123, 124], "g": [0, 3, 4, 7, 10, 11, 13, 14, 16, 18, 21, 23, 24, 28, 29, 33, 35, 37, 38, 41, 42, 44, 48, 49, 50, 52, 54, 55, 56, 57, 65, 66, 67, 68, 70, 71, 72, 73, 76, 79, 81, 86, 88, 89, 96, 105, 107, 108, 109, 110, 112, 114, 115, 116, 117, 118, 120, 121, 123, 124], "kill": [0, 21, 28, 44, 48, 49, 51, 71, 84, 87, 89, 96, 97, 109, 112, 117], "without": [0, 1, 4, 5, 8, 11, 12, 15, 16, 20, 21, 23, 27, 44, 48, 49, 50, 52, 61, 68, 70, 76, 79, 86, 89, 90, 92, 96, 107, 110, 116, 118, 120, 121, 123, 124], "us": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 16, 18, 19, 20, 21, 23, 24, 27, 28, 29, 34, 35, 37, 38, 39, 40, 41, 43, 44, 46, 48, 50, 52, 54, 55, 56, 57, 59, 60, 61, 62, 65, 67, 68, 69, 70, 71, 72, 73, 74, 76, 77, 78, 80, 81, 82, 84, 85, 87, 88, 89, 93, 95, 96, 97, 100, 101, 102, 103, 104, 105, 106, 108, 110, 111, 112, 113, 115, 116, 117, 120, 121, 122, 123, 124], "from": [0, 1, 2, 3, 4, 6, 8, 9, 11, 12, 13, 15, 17, 20, 21, 23, 24, 27, 28, 29, 33, 35, 37, 38, 39, 40, 41, 44, 48, 49, 51, 52, 55, 56, 57, 59, 60, 61, 64, 65, 66, 67, 68, 70, 71, 72, 74, 76, 77, 80, 81, 82, 84, 86, 87, 89, 90, 91, 92, 93, 95, 96, 105, 107, 108, 109, 110, 111, 112, 113, 114, 115, 117, 118, 119, 120, 121, 122, 123, 124], "click": [0, 70], "cycl": [0, 3, 4, 5, 6, 8, 15, 20, 21, 22, 23, 24, 38, 42, 44, 47, 49, 50, 51, 54, 55, 56, 60, 63, 65, 68, 70, 71, 73, 74, 75, 78, 79, 81, 83, 85, 86, 88, 92, 95, 108, 110, 111, 112, 113, 114, 116, 122, 123], "job": [0, 1, 3, 4, 5, 6, 9, 11, 12, 14, 15, 21, 22, 23, 25, 29, 34, 38, 40, 42, 44, 49, 51, 52, 53, 62, 68, 69, 78, 80, 81, 82, 85, 86, 87, 88, 89, 90, 92, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 110, 111, 112, 113, 114, 115, 117, 120, 123, 124], "find": [0, 11, 21, 44, 49, 57, 65, 70, 71, 76, 82, 86, 89, 96, 108, 112, 116, 121, 124], "you": [0, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 23, 24, 27, 28, 37, 42, 43, 44, 48, 49, 50, 52, 55, 56, 57, 59, 60, 61, 62, 65, 66, 67, 68, 70, 71, 72, 73, 74, 76, 77, 79, 80, 81, 82, 83, 84, 86, 87, 88, 89, 90, 93, 94, 95, 96, 105, 107, 108, 110, 112, 114, 115, 116, 117, 118, 120, 121, 123, 124], "want": [0, 4, 6, 7, 12, 13, 21, 23, 28, 37, 48, 49, 50, 52, 55, 56, 59, 60, 65, 68, 71, 72, 76, 77, 79, 81, 86, 87, 109, 110, 112, 116, 118], "call": [0, 4, 16, 20, 21, 23, 24, 27, 28, 35, 38, 39, 41, 44, 49, 50, 52, 55, 56, 57, 59, 60, 61, 65, 66, 68, 70, 71, 72, 74, 76, 79, 86, 89, 96, 107, 108, 112, 114, 116, 118, 123], "pencil": 0, "symbol": [0, 23, 28, 43, 44, 118], "next": [0, 8, 21, 39, 43, 47, 49, 56, 59, 60, 62, 66, 67, 68, 70, 71, 72, 74, 76, 80, 86, 87, 107, 112, 114, 115, 116, 118, 124], "thi": [0, 1, 5, 9, 19, 20, 21, 23, 24, 26, 27, 28, 29, 31, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 43, 44, 47, 48, 49, 50, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 79, 80, 84, 86, 88, 89, 90, 91, 93, 96, 97, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "edit": [0, 3, 21, 48, 56, 74, 107, 121, 124], "form": [0, 21, 28, 37, 38, 49, 66, 71, 74, 96, 105, 108, 112, 114, 118], "press": [0, 70, 71], "submit": [0, 1, 3, 6, 11, 12, 15, 17, 20, 21, 28, 34, 42, 44, 49, 54, 62, 64, 70, 71, 84, 86, 87, 89, 90, 91, 92, 93, 95, 97, 98, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 112, 113, 116, 118, 121, 123], "http": [0, 23, 28, 41, 49, 51, 52, 96, 117], "github": [0, 96], "com": [0, 44, 49, 96], "434": 0, "At": [0, 5, 11, 20, 21, 24, 27, 56, 64, 67, 68, 86, 94, 116, 118], "present": [0, 6, 12, 21, 24, 30, 39, 44, 49, 65, 68, 72, 79, 80, 81, 94, 112, 115, 118], "wai": [0, 2, 3, 7, 10, 14, 20, 21, 41, 44, 49, 61, 65, 66, 68, 70, 72, 74, 77, 79, 84, 89, 93, 96, 112, 114, 115, 116, 118, 119, 120, 121, 123], "view": [0, 11, 19, 20, 21, 40, 44, 50, 60, 66, 70, 71, 96, 108, 110, 114, 120, 121, 124], "sourc": [0, 1, 3, 6, 7, 20, 21, 24, 26, 27, 44, 49, 66, 70, 72, 74, 76, 77, 81, 89, 110, 114, 116, 118, 123], "rose": [0, 2, 4, 11, 12, 18, 20, 22, 23, 25, 27, 42, 49, 53, 59, 79, 81, 110, 114, 120, 122, 123], "await": [0, 38, 94], "xtrigger": [0, 4, 13, 21, 47, 49, 56, 73, 112, 119, 121], "visibl": [0, 44, 107, 112], "331": 0, "document": [0, 3, 7, 24, 28, 38, 39, 40, 48, 49, 52, 67, 80, 96, 110, 111, 112, 114, 116, 117, 118, 119, 121, 122, 123, 124], "orient": 0, "guid": [0, 5, 7, 15, 16, 17, 20, 21, 22, 42, 44, 49, 50, 56, 57, 60, 61, 62, 65, 68, 70, 72, 73, 120, 121], "some": [0, 3, 4, 5, 6, 9, 10, 11, 13, 19, 20, 21, 23, 24, 27, 33, 39, 42, 44, 49, 50, 55, 57, 59, 60, 61, 64, 67, 70, 71, 73, 74, 79, 84, 85, 89, 91, 94, 96, 107, 108, 109, 110, 112, 114, 116, 117, 118, 120, 121, 122, 123], "provid": [0, 3, 4, 5, 7, 11, 15, 20, 21, 23, 24, 25, 27, 28, 35, 37, 38, 39, 40, 41, 42, 44, 49, 52, 54, 55, 56, 60, 64, 65, 68, 69, 71, 74, 77, 79, 80, 89, 93, 95, 96, 100, 101, 102, 103, 104, 105, 107, 110, 111, 112, 114, 116, 118, 120, 121, 122], "within": [0, 6, 13, 15, 21, 35, 37, 43, 44, 46, 49, 55, 56, 59, 60, 65, 69, 70, 71, 73, 74, 80, 86, 97, 108, 110, 111, 114, 115, 116, 118, 121, 122, 123, 124], "itself": [0, 16, 21, 44, 59, 70, 79, 86, 96, 107, 108, 116, 118, 121, 123], "155": 0, "tui": [0, 1, 3, 20, 40, 41, 42, 60, 61, 62, 64, 71], "monitor": [0, 1, 3, 19, 20, 32, 39, 41, 64, 70, 73, 88, 89, 96, 112, 118, 120], "It": [0, 3, 4, 5, 7, 12, 16, 19, 20, 21, 23, 39, 41, 43, 44, 49, 55, 60, 64, 65, 67, 71, 73, 74, 75, 79, 81, 86, 89, 90, 93, 96, 109, 110, 111, 112, 114, 115, 116, 117, 118, 121, 123, 124], "tree": [0, 19, 39, 48, 59, 70, 79, 116, 118, 120, 121], "veri": [0, 19, 44, 49, 66, 92, 102, 112, 114, 116, 120, 121, 123, 124], "similar": [0, 3, 7, 21, 44, 47, 57, 66, 67, 74, 80, 81, 88, 102, 114, 115, 118, 121, 124], "support": [0, 3, 4, 5, 7, 9, 13, 14, 15, 16, 20, 21, 23, 25, 26, 28, 37, 39, 41, 42, 44, 47, 49, 51, 71, 72, 73, 79, 89, 93, 97, 105, 106, 110, 111, 112, 114, 115, 116, 117, 118, 119, 121, 123], "control": [0, 1, 7, 12, 19, 20, 26, 39, 41, 48, 49, 52, 64, 70, 79, 96, 107, 108, 111, 121, 123], "function": [0, 3, 4, 7, 13, 20, 21, 23, 25, 29, 32, 35, 37, 38, 39, 42, 47, 49, 81, 107, 108, 109, 111, 113, 114, 116, 118, 124], "perform": [0, 3, 16, 21, 30, 35, 42, 44, 89, 96, 109, 110, 112, 116, 118, 120, 121, 124], "current": [0, 4, 8, 11, 21, 28, 37, 44, 47, 49, 56, 60, 70, 71, 72, 79, 86, 89, 91, 92, 94, 96, 110, 113, 114, 115, 116, 121], "refresh": 0, "its": [0, 8, 11, 20, 21, 23, 28, 39, 41, 44, 49, 59, 64, 66, 70, 79, 80, 86, 87, 88, 89, 93, 98, 99, 107, 108, 111, 112, 115, 116, 118, 121, 123, 124], "displai": [0, 19, 23, 40, 42, 49, 74, 76, 92, 108, 124], "everi": [0, 8, 21, 35, 39, 47, 48, 49, 54, 55, 56, 62, 68, 70, 71, 72, 76, 86, 89, 93, 107, 108, 115, 116, 118, 120, 123], "second": [0, 8, 21, 24, 29, 34, 38, 44, 47, 48, 49, 56, 57, 59, 60, 62, 68, 71, 72, 76, 90, 107, 108, 110, 112, 114, 115, 116, 118, 120], "larg": [0, 19, 21, 29, 44, 49, 89, 92, 115, 116, 118, 120, 121, 123, 124], "chang": [0, 1, 2, 21, 22, 23, 24, 25, 26, 28, 44, 48, 49, 53, 55, 56, 57, 59, 60, 62, 65, 67, 68, 70, 72, 76, 77, 79, 85, 87, 90, 92, 96, 107, 108, 114, 116, 118, 120, 121, 123, 124], "rapidli": 0, "mai": [0, 4, 5, 6, 7, 9, 11, 14, 16, 20, 21, 22, 23, 24, 27, 28, 37, 38, 39, 43, 44, 49, 50, 52, 56, 57, 62, 64, 65, 70, 72, 74, 76, 79, 80, 84, 86, 89, 90, 93, 96, 100, 101, 102, 103, 104, 105, 108, 109, 110, 112, 114, 115, 116, 118, 119, 120, 121, 122, 123, 124], "evolv": [0, 8, 15, 80, 86, 122], "faster": 0, "than": [0, 6, 12, 18, 20, 21, 24, 28, 38, 44, 49, 50, 52, 54, 56, 60, 61, 65, 66, 67, 70, 77, 88, 89, 93, 96, 107, 109, 111, 112, 114, 116, 118, 120, 121, 123, 124], "abl": [0, 4, 5, 20, 28, 29, 72, 74, 76, 86, 96, 121], "keep": [0, 7, 12, 52, 70, 121, 124], "pace": 0, "caus": [0, 13, 15, 21, 44, 50, 56, 71, 72, 76, 94, 107, 118, 121, 124], "freez": 0, "A": [0, 2, 3, 7, 12, 17, 18, 20, 21, 24, 27, 28, 38, 40, 43, 44, 46, 47, 49, 50, 51, 59, 62, 63, 65, 66, 69, 71, 72, 74, 78, 79, 80, 86, 87, 89, 91, 93, 96, 108, 109, 110, 112, 114, 115, 116, 118, 119, 120, 121, 122, 123, 124], "more": [0, 2, 3, 4, 7, 11, 15, 18, 19, 20, 21, 23, 24, 28, 37, 38, 39, 41, 42, 44, 47, 48, 49, 50, 51, 52, 54, 60, 61, 62, 65, 67, 68, 70, 71, 73, 74, 76, 77, 79, 80, 86, 87, 89, 94, 95, 96, 107, 109, 111, 112, 114, 115, 116, 117, 118, 120, 121, 122, 123, 124], "doe": [0, 20, 21, 23, 26, 27, 28, 39, 44, 47, 49, 50, 55, 57, 60, 66, 68, 70, 74, 79, 80, 86, 89, 90, 96, 98, 105, 107, 109, 112, 115, 116, 118, 119, 121], "reli": [0, 21, 49, 50, 81, 118, 121], "global": [0, 3, 4, 5, 7, 11, 13, 20, 21, 23, 28, 29, 35, 39, 43, 45, 49, 50, 51, 53, 66, 79, 80, 81, 89, 93, 100, 101, 102, 103, 104, 105, 108, 110, 113, 116, 117, 120, 121, 124], "updat": [0, 1, 13, 21, 28, 39, 40, 42, 48, 55, 60, 79, 93, 108, 116, 123, 124], "follow": [0, 3, 5, 8, 11, 13, 16, 21, 23, 24, 25, 27, 28, 29, 35, 39, 43, 44, 47, 49, 50, 52, 55, 56, 57, 59, 60, 61, 62, 64, 65, 66, 67, 68, 70, 71, 72, 73, 74, 76, 79, 81, 86, 88, 89, 108, 110, 112, 114, 115, 116, 117, 118, 119, 120, 121, 123, 124], "due": [0, 11, 21, 33, 42, 44, 49, 62, 96, 107, 117], "cours": [0, 64, 112, 123], "3527": 0, "gscan": [0, 3, 40], "remov": [0, 3, 4, 7, 8, 10, 11, 12, 16, 21, 22, 24, 28, 39, 48, 49, 51, 54, 65, 68, 70, 78, 80, 82, 86, 87, 89, 96, 115, 116, 118, 119, 123, 124], "now": [0, 3, 4, 5, 7, 8, 12, 13, 18, 20, 24, 39, 42, 44, 47, 49, 50, 55, 56, 57, 59, 60, 61, 64, 68, 70, 71, 74, 76, 79, 80, 89, 108, 110, 112, 114, 115, 116, 121], "left": [0, 1, 12, 20, 21, 29, 49, 50, 57, 59, 62, 64, 70, 71, 86, 87, 89, 91, 108, 114, 116, 118, 124], "hand": [0, 21, 57, 70, 108, 118, 120], "side": [0, 3, 21, 39, 40, 57, 108, 118, 121, 124], "In": [0, 3, 4, 7, 11, 16, 18, 20, 21, 29, 33, 38, 40, 41, 42, 43, 44, 46, 49, 50, 56, 57, 59, 60, 61, 64, 65, 66, 67, 70, 71, 72, 73, 74, 76, 79, 80, 81, 86, 89, 91, 96, 97, 107, 113, 115, 116, 118, 119, 121, 123, 124], "list": [0, 1, 4, 5, 7, 8, 11, 21, 24, 28, 29, 34, 35, 37, 38, 43, 44, 47, 49, 52, 54, 60, 65, 70, 71, 77, 79, 96, 107, 108, 110, 111, 114, 115, 116, 117, 118, 120, 124], "3464": 0, "cli": [0, 27, 40, 48, 96, 110, 114], "via": [0, 19, 20, 21, 24, 28, 29, 37, 38, 44, 48, 49, 50, 51, 55, 71, 79, 83, 88, 90, 93, 96, 105, 109, 112, 114, 116, 117, 118, 120, 121, 123], "abil": [0, 19, 23, 42, 55, 117, 121], "rout": [0, 44, 108, 112], "plan": [0, 42, 115, 120, 123], "3528": 0, "flow": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 27, 28, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "cylc": [1, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 25, 27, 28, 35, 37, 38, 39, 44, 45, 46, 48, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65, 67, 69, 71, 72, 73, 75, 76, 78, 81, 82, 84, 85, 86, 87, 89, 90, 91, 92, 93, 94, 95, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124], "quick": [1, 2, 3, 22, 43, 70, 96, 112, 117, 123, 124], "summari": [1, 2, 21, 22, 40, 42, 71, 118, 120], "line": [1, 4, 6, 7, 9, 12, 14, 18, 19, 20, 21, 23, 24, 27, 28, 29, 39, 40, 41, 42, 43, 44, 46, 48, 49, 59, 61, 62, 64, 65, 67, 68, 70, 71, 74, 76, 79, 88, 89, 95, 96, 107, 108, 110, 111, 114, 115, 116, 117, 120, 121, 122, 123], "between": [1, 13, 14, 15, 21, 29, 38, 39, 44, 48, 49, 51, 52, 55, 57, 59, 62, 64, 68, 70, 72, 74, 76, 79, 80, 82, 89, 109, 110, 111, 112, 115, 116, 117, 118, 120, 121, 123], "2019": [1, 2, 7, 12, 24, 49, 60], "8": [1, 4, 7, 8, 9, 10, 12, 13, 15, 16, 17, 18, 21, 22, 23, 24, 25, 26, 37, 40, 44, 47, 49, 50, 51, 52, 53, 74, 86, 87, 92, 93, 107, 112, 115, 116, 117, 118, 119], "check": [1, 4, 5, 7, 21, 28, 29, 30, 35, 44, 51, 56, 57, 60, 67, 70, 71, 77, 93, 96, 108, 110, 112, 116, 118, 120, 121, 123, 124], "error": [1, 8, 13, 16, 21, 28, 30, 38, 39, 44, 49, 50, 60, 70, 71, 78, 88, 89, 93, 97, 112, 114, 115, 116, 117, 118, 121, 123], "2": [1, 7, 9, 10, 12, 18, 21, 26, 28, 37, 44, 47, 48, 49, 51, 52, 53, 54, 57, 60, 61, 62, 65, 67, 68, 71, 76, 86, 89, 96, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 121, 123], "name": [1, 7, 8, 11, 16, 21, 23, 24, 27, 28, 29, 35, 37, 38, 39, 41, 42, 43, 44, 49, 50, 52, 54, 55, 59, 61, 65, 66, 68, 70, 71, 72, 74, 86, 89, 93, 95, 96, 105, 108, 109, 110, 112, 113, 114, 118, 120, 121, 122, 123], "path": [1, 6, 7, 13, 16, 21, 23, 26, 27, 28, 37, 42, 43, 44, 49, 54, 60, 65, 66, 69, 71, 72, 74, 79, 86, 90, 107, 108, 110, 112, 115, 116, 117, 118, 122, 124], "pwd": [1, 20, 21, 49, 79, 112, 116, 121], "capabl": [1, 21, 39, 86, 121, 122, 123], "plai": [1, 3, 6, 7, 9, 18, 20, 21, 24, 33, 35, 42, 44, 48, 49, 50, 55, 56, 57, 60, 61, 62, 70, 71, 78, 86, 88, 89, 90, 96, 110, 112, 114, 117, 118], "vip": [1, 3, 42, 78], "To": [1, 3, 6, 8, 21, 23, 24, 28, 29, 44, 48, 49, 50, 53, 56, 57, 59, 62, 65, 67, 68, 69, 70, 72, 76, 81, 84, 86, 87, 89, 96, 107, 108, 109, 110, 111, 112, 113, 114, 116, 119, 120, 122, 124], "directori": [1, 3, 4, 6, 7, 12, 13, 20, 21, 23, 24, 26, 27, 30, 31, 32, 33, 37, 44, 45, 48, 49, 54, 55, 56, 59, 60, 65, 66, 71, 72, 74, 76, 78, 82, 86, 88, 89, 107, 111, 112, 113, 114, 117, 118, 123, 124], "live": [1, 41, 70, 86, 90], "directli": [1, 21, 50, 79, 81, 89, 97, 112, 121], "against": [1, 77, 110, 112, 121], "reinstal": [1, 21, 24, 27, 42, 78, 89], "vr": [1, 42, 78], "tell": [1, 39, 49, 55, 56, 62, 70, 76, 89, 117, 118, 121], "ani": [1, 4, 5, 7, 11, 12, 13, 15, 16, 20, 21, 24, 26, 27, 29, 37, 38, 39, 42, 44, 47, 48, 49, 50, 54, 55, 56, 57, 59, 60, 61, 65, 67, 70, 71, 72, 76, 79, 80, 81, 82, 86, 89, 90, 95, 96, 107, 108, 110, 112, 114, 115, 116, 117, 118, 119, 120, 121, 123, 124], "hold": [1, 3, 4, 20, 21, 39, 49, 70, 88, 96, 105, 107, 109, 110], "unhold": 1, "pick": [1, 11, 12, 20, 21, 37, 44, 48, 52, 71, 89, 107, 117], "up": [1, 4, 5, 6, 9, 11, 12, 20, 21, 29, 37, 38, 39, 44, 47, 48, 49, 50, 52, 56, 60, 71, 74, 79, 80, 81, 82, 86, 93, 96, 107, 110, 112, 116, 117, 124], "where": [1, 3, 5, 11, 12, 20, 21, 23, 33, 38, 39, 41, 44, 48, 49, 50, 52, 55, 59, 60, 67, 68, 70, 71, 72, 74, 76, 79, 86, 89, 93, 95, 96, 97, 108, 110, 112, 114, 116, 117, 118, 121, 123, 124], "off": [1, 4, 12, 21, 29, 44, 49, 57, 59, 60, 71, 80, 107, 113, 115, 116, 117, 118, 120, 123], "regular": [1, 21, 28, 35, 40, 44, 50, 72, 80, 93, 107, 108, 112, 118, 121], "Or": [1, 12, 40, 48, 89, 108, 118, 122, 124], "altern": [1, 4, 20, 44, 48, 49, 52, 75, 79, 89, 90, 107, 114, 115, 116, 118, 121], "leav": [1, 56, 70, 71, 124], "file": [1, 3, 4, 5, 6, 7, 11, 13, 14, 18, 21, 23, 26, 27, 28, 30, 35, 37, 38, 39, 41, 42, 44, 45, 46, 47, 48, 49, 51, 53, 55, 56, 57, 59, 60, 62, 63, 65, 66, 67, 68, 69, 71, 72, 75, 76, 78, 84, 85, 86, 88, 90, 96, 100, 101, 102, 103, 104, 105, 107, 108, 109, 112, 113, 115, 116, 117, 118, 119, 122], "untouch": 1, "rm": [1, 12, 49, 55, 81, 112], "rf": [1, 112], "clean": [1, 3, 5, 7, 12, 20, 21, 35, 38, 44, 76, 78, 96, 111, 112, 114, 118, 120, 123], "all": [1, 3, 4, 7, 8, 10, 11, 16, 20, 21, 23, 29, 34, 37, 38, 39, 42, 44, 48, 49, 50, 51, 52, 57, 59, 60, 61, 65, 67, 70, 71, 74, 75, 76, 79, 81, 86, 89, 90, 92, 96, 107, 108, 110, 112, 114, 115, 116, 117, 118, 119, 120, 121, 123, 124], "pars": [1, 4, 18, 21, 37, 47, 66, 88, 89, 96, 114, 121, 124], "get": [1, 3, 16, 21, 23, 24, 28, 39, 43, 44, 49, 60, 65, 66, 67, 68, 70, 71, 72, 74, 77, 79, 86, 89, 90, 93, 95, 96, 107, 108, 109, 110, 111, 112, 115, 116, 117, 118, 120, 121, 123, 124], "config": [1, 3, 5, 8, 11, 14, 20, 27, 37, 43, 44, 46, 48, 49, 50, 51, 59, 65, 67, 68, 69, 70, 74, 89, 96, 108, 110, 111, 114, 115, 116, 117, 121, 122], "spars": 1, "l": [1, 20, 23, 28, 70, 71, 102, 103, 104, 108, 112, 118], "graphic": [1, 3, 41, 51, 70], "termin": [1, 3, 21, 28, 38, 40, 64, 66, 70, 71, 112], "web": [1, 3, 12, 39, 40, 41, 42, 44, 49, 51, 64, 67, 71, 96, 117], "server": [1, 3, 11, 19, 20, 29, 36, 42, 44, 45, 53, 78, 85, 88, 93, 107, 116, 117], "review": [1, 3, 5, 117, 122, 123], "start": [1, 3, 4, 6, 7, 9, 12, 15, 20, 21, 29, 36, 38, 39, 41, 42, 44, 48, 49, 50, 57, 59, 60, 62, 68, 69, 70, 72, 73, 74, 76, 78, 79, 80, 82, 84, 85, 86, 88, 93, 95, 96, 100, 107, 110, 112, 114, 116, 117, 122, 123], "hub": [1, 19, 23, 42, 44, 52, 53, 78], "ui": [1, 2, 3, 9, 15, 17, 42, 44, 45, 51, 53, 57, 70, 71, 78, 85, 86, 91, 96, 120], "full": [1, 4, 20, 21, 40, 49, 50, 66, 70, 77, 96, 109, 111, 118, 120, 121, 124], "vi": 1, "test": [1, 4, 13, 44, 49, 56, 60, 71, 79, 86, 89, 90, 107, 110, 112, 113, 116, 118, 121, 123], "user": [2, 3, 7, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 37, 38, 39, 40, 42, 44, 48, 49, 50, 51, 52, 54, 56, 57, 60, 61, 62, 64, 65, 68, 69, 71, 73, 74, 81, 82, 89, 92, 93, 94, 107, 108, 110, 111, 112, 114, 116, 117, 118, 120, 121, 122, 123], "upgrad": [2, 4, 5, 13, 16, 39, 49, 50, 120, 121, 123], "If": [2, 4, 7, 10, 11, 12, 13, 14, 20, 21, 24, 26, 28, 29, 31, 32, 33, 34, 38, 39, 41, 42, 43, 44, 48, 49, 50, 52, 57, 60, 62, 70, 71, 73, 74, 76, 77, 79, 81, 86, 87, 88, 89, 90, 93, 94, 95, 96, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 120, 121, 123, 124], "need": [2, 3, 4, 5, 6, 7, 9, 11, 13, 15, 16, 19, 20, 21, 23, 29, 39, 43, 44, 46, 49, 50, 57, 59, 60, 61, 62, 64, 68, 70, 71, 72, 74, 79, 86, 88, 93, 96, 107, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 120, 121, 123, 124], "help": [2, 3, 7, 13, 24, 42, 47, 49, 50, 66, 70, 72, 77, 83, 108, 112, 120, 121, 124], "understand": [2, 9, 15, 80, 102, 114, 118, 120, 121], "pleas": [2, 3, 49, 112, 122], "post": [2, 3, 22, 25, 28, 49, 59, 65, 68, 86, 87, 107, 112, 114, 115, 120, 121, 123], "question": [2, 21, 114], "categori": [2, 120], "forum": 2, "differ": [2, 4, 6, 14, 16, 20, 21, 23, 28, 29, 33, 38, 39, 41, 44, 48, 49, 50, 56, 59, 60, 62, 65, 66, 67, 70, 72, 73, 76, 79, 86, 96, 111, 112, 115, 116, 117, 118, 120, 121, 123], "mani": [2, 21, 23, 44, 49, 50, 61, 71, 80, 86, 89, 96, 97, 107, 115, 116, 117, 118, 120, 121, 123], "architectur": [2, 22, 41, 44, 51, 53, 123], "algorithm": [2, 4, 9, 16, 49, 51, 116], "secur": [2, 23, 40, 41, 44, 50, 51, 89, 93, 109], "practic": [2, 3, 44, 49, 66, 110, 122], "Of": [2, 22, 44, 49, 59, 113], "major": [2, 22, 53, 118, 121, 123], "cheat": [2, 3, 22, 62], "sheet": [2, 3, 22], "detail": [2, 4, 7, 11, 21, 22, 23, 39, 41, 42, 44, 49, 50, 52, 60, 66, 70, 72, 79, 83, 95, 96, 97, 111, 114, 116, 118, 120, 121, 122, 123], "descript": [2, 21, 22, 24, 49, 50, 59, 70, 72, 91, 110, 111, 112, 114, 116, 118, 122], "3": [2, 9, 10, 18, 20, 21, 22, 23, 28, 40, 44, 47, 49, 51, 52, 53, 55, 61, 62, 65, 67, 71, 76, 86, 87, 89, 96, 105, 108, 109, 110, 112, 114, 115, 116, 117, 123], "caveat": [2, 20, 21, 22, 44, 121], "renam": [3, 5, 13, 20, 49], "run": [3, 4, 5, 6, 8, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 35, 37, 38, 40, 41, 42, 44, 47, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 63, 64, 65, 66, 69, 71, 73, 74, 76, 77, 78, 81, 82, 83, 84, 86, 87, 88, 89, 91, 92, 93, 94, 96, 97, 98, 99, 100, 105, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 119, 120, 123, 124], "tool": [3, 7, 13, 64, 95, 118, 120, 124], "ad": [3, 29, 35, 39, 42, 44, 49, 53, 60, 65, 70, 72, 74, 76, 89, 100, 108, 110, 116, 123], "format": [3, 21, 23, 28, 37, 38, 40, 44, 45, 47, 48, 49, 53, 63, 66, 70, 75, 79, 105, 108, 110, 112, 114, 116, 117, 124], "introduc": [3, 18, 44, 49, 66, 118, 120], "For": [3, 5, 11, 13, 19, 20, 21, 23, 24, 27, 28, 29, 33, 34, 35, 37, 38, 39, 40, 41, 42, 44, 48, 49, 50, 52, 55, 56, 59, 61, 62, 65, 67, 68, 71, 72, 73, 74, 76, 77, 79, 80, 81, 87, 88, 89, 95, 96, 105, 107, 108, 111, 112, 114, 115, 116, 117, 118, 120, 121, 122, 123, 124], "comparison": [3, 50], "see": [3, 4, 5, 7, 11, 18, 19, 20, 21, 23, 24, 27, 28, 35, 39, 41, 42, 44, 47, 48, 49, 50, 52, 54, 55, 56, 57, 59, 60, 61, 62, 65, 66, 67, 68, 70, 71, 72, 73, 74, 76, 79, 81, 82, 83, 86, 88, 89, 94, 96, 107, 108, 109, 111, 112, 114, 115, 116, 117, 118, 120, 121, 124], "simplifi": [3, 6, 12, 20, 50, 66, 68, 114, 115, 120, 121], "entir": [3, 4, 7, 8, 10, 12, 38, 43, 46, 50, 66, 74, 76, 86, 107, 109, 115, 118, 120, 123], "checkpoint": [3, 15, 89], "databas": [3, 12, 21, 37, 39, 41, 42, 49, 51, 70, 78, 81, 85, 88, 89, 90, 112, 116, 117, 118, 123], "longer": [3, 12, 14, 23, 24, 38, 44, 49, 70, 82, 107, 110, 116, 120], "state": [3, 9, 21, 31, 33, 35, 37, 40, 49, 51, 57, 60, 62, 71, 73, 78, 79, 84, 85, 87, 89, 93, 95, 96, 100, 108, 110, 113, 116, 117, 118, 119, 120], "written": [3, 21, 43, 47, 49, 57, 65, 67, 68, 70, 71, 72, 73, 74, 81, 100, 101, 102, 103, 104, 105, 107, 109, 112, 116, 118, 123, 124], "when": [3, 4, 6, 7, 10, 11, 12, 14, 16, 20, 21, 24, 27, 28, 29, 31, 32, 33, 35, 42, 44, 49, 50, 54, 55, 56, 57, 60, 62, 65, 68, 70, 72, 73, 79, 86, 89, 93, 94, 96, 97, 107, 108, 109, 110, 112, 114, 115, 116, 117, 118, 119, 121, 123, 124], "thei": [3, 4, 15, 16, 18, 20, 21, 23, 29, 41, 44, 49, 50, 56, 57, 59, 62, 65, 68, 71, 72, 76, 82, 83, 84, 86, 87, 89, 91, 93, 96, 97, 107, 108, 112, 114, 115, 116, 117, 118, 119, 120, 121, 123, 124], "occur": [3, 7, 16, 21, 44, 49, 107, 116, 117], "remain": [3, 19, 21, 34, 49, 71, 82, 112, 113, 118, 123], "case": [3, 4, 11, 13, 16, 21, 38, 44, 56, 59, 60, 65, 68, 70, 79, 80, 85, 89, 93, 96, 97, 107, 108, 111, 112, 113, 114, 115, 116, 118, 120, 121, 123], "handl": [3, 4, 10, 16, 21, 28, 29, 39, 44, 49, 50, 51, 59, 60, 61, 73, 78, 80, 81, 85, 87, 107, 109, 113, 114, 118, 121], "allow": [3, 4, 8, 11, 13, 16, 18, 20, 21, 23, 24, 27, 32, 41, 44, 48, 49, 50, 52, 57, 60, 62, 66, 67, 70, 72, 74, 76, 80, 84, 86, 88, 90, 93, 94, 96, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 120, 121, 124], "execut": [3, 4, 17, 21, 28, 35, 38, 44, 48, 49, 51, 54, 60, 62, 64, 69, 70, 71, 79, 80, 87, 89, 90, 93, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 107, 109, 110, 112, 113, 116, 118, 122], "arbitrari": [3, 72, 76, 79, 80, 96, 112, 114, 118, 124], "point": [3, 4, 5, 6, 15, 20, 21, 23, 24, 27, 35, 38, 42, 44, 47, 48, 49, 50, 54, 55, 56, 60, 65, 68, 70, 71, 73, 74, 76, 79, 80, 81, 83, 84, 85, 86, 88, 92, 108, 110, 111, 112, 113, 114, 115, 116, 119, 122, 123], "we": [3, 4, 5, 7, 11, 14, 20, 21, 23, 24, 28, 33, 42, 43, 44, 46, 49, 50, 52, 55, 56, 57, 59, 60, 61, 62, 64, 65, 66, 67, 68, 70, 71, 72, 73, 74, 76, 79, 81, 86, 107, 109, 112, 115, 118, 121, 122, 123, 124], "includ": [3, 4, 6, 7, 8, 18, 20, 21, 23, 26, 38, 40, 41, 43, 44, 47, 48, 49, 64, 70, 77, 79, 80, 83, 88, 89, 90, 92, 96, 106, 109, 110, 111, 114, 115, 116, 118, 122], "locat": [3, 7, 13, 21, 23, 28, 43, 44, 48, 49, 50, 54, 70, 72, 74, 81, 89, 108, 110, 112, 114, 116, 119, 121], "text": [3, 19, 47, 60, 65, 70, 74, 110, 111, 114, 121, 124], "editor": [3, 65, 70, 110, 124], "configur": [3, 4, 6, 7, 8, 9, 11, 14, 19, 20, 21, 22, 25, 28, 29, 33, 39, 41, 43, 51, 52, 53, 55, 57, 59, 60, 63, 65, 67, 68, 69, 70, 74, 76, 78, 80, 81, 83, 85, 87, 90, 92, 93, 107, 108, 111, 112, 113, 114, 115, 120, 122, 123, 124], "jobscript": 3, "outsid": [3, 7, 114, 123], "nudg": 3, "No": [3, 43, 48, 86, 96, 111, 114, 120, 124], "requir": [3, 11, 15, 19, 21, 22, 28, 37, 39, 41, 42, 44, 49, 50, 52, 57, 60, 65, 67, 70, 71, 72, 82, 86, 89, 90, 92, 93, 94, 96, 105, 108, 109, 110, 112, 113, 114, 116, 117, 121, 123, 124], "regist": [3, 27, 35, 38, 39, 49, 112, 118], "registr": [3, 37], "automat": [3, 4, 5, 7, 11, 14, 17, 20, 21, 23, 29, 44, 49, 54, 59, 60, 62, 64, 68, 70, 71, 78, 80, 81, 84, 86, 88, 89, 91, 93, 96, 100, 107, 108, 109, 110, 112, 114, 115, 116, 117, 118, 121, 122, 123, 124], "copi": [3, 6, 7, 23, 24, 26, 44, 50, 51, 55, 65, 67, 70, 71, 76, 79, 89, 95, 108, 110, 118, 121, 123], "read": [3, 4, 6, 18, 20, 21, 24, 27, 28, 35, 37, 44, 48, 49, 53, 55, 56, 60, 66, 68, 70, 81, 89, 96, 108, 109, 112, 114, 121], "onli": [3, 4, 7, 8, 11, 12, 15, 17, 18, 21, 23, 28, 32, 39, 41, 43, 44, 48, 49, 50, 52, 56, 57, 61, 62, 65, 68, 70, 71, 72, 79, 80, 81, 86, 87, 88, 89, 95, 96, 107, 108, 109, 112, 114, 115, 116, 118, 119, 121, 123], "latest": [3, 17, 21, 52, 108, 112, 118], "version": [3, 7, 13, 18, 23, 24, 26, 27, 35, 37, 42, 44, 48, 49, 50, 51, 52, 54, 86, 87, 89, 92, 105, 106, 108, 112, 114, 115, 116, 117, 118, 121, 123], "compat": [3, 9, 11, 16, 21, 24, 52, 74, 112, 118, 119], "so": [3, 4, 6, 7, 8, 10, 11, 20, 21, 23, 28, 29, 39, 43, 44, 48, 49, 50, 55, 57, 59, 60, 61, 64, 65, 67, 68, 70, 72, 73, 74, 76, 80, 81, 84, 86, 87, 89, 90, 93, 96, 107, 109, 112, 114, 115, 116, 118, 119, 120, 121, 123, 124], "both": [3, 4, 13, 16, 17, 19, 20, 21, 23, 27, 38, 39, 44, 49, 50, 57, 59, 60, 67, 72, 79, 86, 90, 95, 96, 115, 118, 119, 121, 123], "search": [3, 27, 28, 37, 42, 44, 70, 79, 107, 124], "grep": [3, 124], "warranti": 3, "licens": 3, "unchang": [3, 4, 5], "condit": [3, 21, 27, 44, 49, 70, 91, 107, 111, 112, 117, 121], "usag": [3, 28, 33, 38, 44, 111, 114, 116, 121], "site": [3, 11, 19, 20, 21, 23, 29, 43, 44, 48, 49, 50, 65, 68, 72, 78, 89, 93, 108, 109, 111, 114, 117, 121, 122], "diff": [3, 26, 124], "flow1": 3, "flow2": 3, "insert": [3, 4, 8, 24, 68, 121], "trigger": [3, 4, 9, 13, 15, 17, 20, 21, 27, 44, 47, 48, 49, 54, 58, 63, 65, 70, 72, 75, 78, 85, 87, 89, 91, 92, 94, 96, 107, 108, 110, 113, 115, 116, 122, 123, 124], "power": [3, 111, 118], "try": [3, 21, 33, 49, 50, 55, 62, 70, 71, 74, 76, 79, 87, 96, 112, 116, 118], "print": [3, 21, 37, 47, 56, 66, 70, 107, 112, 114, 116, 120, 121], "equival": [3, 10, 11, 42, 43, 49, 50, 61, 65, 68, 74, 81, 110, 114, 115, 118, 119, 120], "scan": [3, 36, 44, 48, 53, 64, 70, 79, 82], "reset": [3, 6, 34, 44, 49, 84], "manual": [3, 7, 8, 17, 20, 21, 23, 29, 44, 65, 71, 81, 86, 89, 91, 115, 123], "": [3, 5, 6, 11, 16, 18, 19, 21, 23, 24, 28, 35, 38, 41, 42, 43, 44, 49, 50, 51, 54, 55, 60, 62, 65, 66, 68, 70, 71, 72, 74, 76, 79, 86, 87, 88, 89, 93, 94, 96, 107, 108, 110, 112, 115, 116, 117, 118, 119, 120, 121, 123, 124], "overrid": [3, 24, 28, 32, 38, 44, 49, 59, 65, 72, 83, 89, 96, 97, 110, 118, 120, 121, 123], "output": [3, 4, 9, 15, 21, 23, 28, 44, 49, 51, 57, 59, 60, 65, 70, 73, 86, 87, 88, 89, 90, 92, 94, 95, 107, 108, 112, 113, 114, 116], "effect": [3, 8, 35, 48, 49, 50, 55, 56, 76, 86, 89, 90, 96, 112, 118, 121, 123], "set": [3, 6, 11, 14, 18, 20, 21, 23, 24, 27, 29, 33, 34, 35, 38, 42, 43, 44, 46, 48, 49, 50, 54, 55, 56, 59, 60, 62, 64, 65, 66, 67, 68, 69, 71, 74, 79, 81, 83, 86, 87, 89, 90, 93, 96, 100, 107, 108, 110, 111, 112, 115, 116, 117, 120, 121, 123], "restart": [3, 4, 6, 12, 15, 20, 21, 29, 35, 39, 42, 44, 49, 69, 78, 83, 84, 85, 86, 88, 90, 94, 96, 100, 108, 109, 112, 114, 116, 117, 118], "spawn": [3, 4, 8, 15, 21, 40, 41, 86, 89, 96, 107, 110, 118, 119], "demand": [3, 4, 8, 108], "depend": [3, 4, 5, 8, 10, 15, 19, 20, 21, 23, 28, 43, 49, 51, 52, 54, 56, 57, 60, 61, 62, 64, 70, 73, 75, 80, 89, 91, 93, 107, 108, 110, 111, 112, 114, 115, 116, 118, 120, 121, 123, 124], "specifi": [3, 4, 7, 11, 14, 21, 28, 37, 38, 44, 47, 49, 52, 57, 59, 60, 71, 76, 81, 86, 89, 96, 98, 99, 100, 101, 102, 103, 104, 105, 108, 110, 114, 116, 118], "paus": [3, 4, 9, 20, 21, 37, 42, 48, 70, 89, 96], "halt": [3, 20, 86], "submiss": [3, 11, 17, 20, 21, 22, 25, 44, 49, 50, 51, 60, 62, 69, 70, 78, 87, 91, 92, 93, 97, 106, 107, 110, 116, 117, 120], "held": [3, 21, 44, 49, 87, 91, 116, 118, 121], "resum": [3, 12, 21, 42, 89, 96], "gtk": 3, "base": [3, 12, 15, 19, 20, 21, 23, 39, 40, 43, 44, 49, 52, 57, 62, 70, 72, 90, 92, 97, 108, 118, 120, 121], "consequ": [3, 8, 76, 92, 116, 118], "also": [3, 5, 8, 13, 14, 16, 21, 23, 26, 28, 38, 39, 41, 42, 44, 47, 48, 49, 50, 57, 60, 67, 68, 70, 71, 72, 73, 74, 76, 81, 86, 88, 89, 93, 94, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 120, 121, 123, 124], "gpanel": 3, "gcylc": 3, "launch": [3, 19, 20, 40, 41, 96, 121], "standalon": [3, 11, 40, 44, 52], "compound": [3, 22, 78], "your": [3, 4, 7, 8, 10, 11, 13, 14, 19, 20, 22, 23, 24, 28, 41, 42, 44, 48, 49, 50, 53, 56, 57, 59, 60, 62, 70, 71, 72, 73, 74, 76, 78, 79, 81, 82, 88, 89, 90, 93, 107, 108, 109, 110, 112, 114, 116, 118, 120, 121, 124], "conveni": [3, 6, 38, 44, 48, 89, 96, 112, 114, 115, 116, 118, 123], "repres": [3, 11, 17, 20, 21, 49, 50, 56, 59, 64, 72, 74, 91, 96, 97, 110, 112, 118], "common": [3, 11, 21, 28, 38, 42, 44, 50, 65, 77, 93, 110, 112, 116, 117, 118, 120, 121, 123, 124], "exampl": [3, 5, 6, 7, 13, 20, 21, 23, 26, 28, 29, 44, 45, 47, 48, 49, 60, 65, 68, 70, 71, 72, 73, 75, 76, 77, 78, 81, 85, 88, 89, 97, 108, 110, 111, 114, 115, 117, 119, 120, 121, 122, 124], "valid": [3, 5, 10, 13, 16, 20, 21, 24, 27, 28, 39, 42, 44, 49, 50, 51, 55, 56, 57, 60, 61, 62, 69, 71, 72, 74, 78, 79, 80, 107, 109, 111, 112, 113, 114, 116, 120, 121, 123], "were": [3, 4, 5, 7, 16, 21, 27, 39, 44, 73, 80, 81, 89, 94, 112, 115, 118, 119, 124], "two": [3, 10, 11, 19, 20, 21, 24, 29, 41, 42, 44, 49, 50, 59, 60, 61, 62, 65, 70, 71, 72, 74, 76, 79, 86, 95, 96, 105, 107, 110, 111, 114, 115, 116, 118, 119, 121, 123, 124], "former": 3, "deprec": [3, 4, 11, 20, 21, 24, 44, 49, 51, 74, 79, 93, 108, 110, 112, 116, 117, 118, 121], "latter": [3, 21, 121], "extend": [3, 4, 13, 49, 50, 92, 114, 115, 123], "uniqu": [3, 21, 49, 50, 60, 76, 86, 107, 108, 112, 115, 116, 117, 121], "identifi": [3, 21, 24, 38, 44, 49, 54, 70, 71, 79, 86, 96, 112, 116], "standard": [3, 21, 28, 44, 49, 55, 70, 71, 72, 95, 96, 107, 111, 112, 114, 115, 116, 118, 123, 124], "unlock": [3, 19], "extra": [3, 23, 28, 49, 52, 70, 74, 79, 100, 110, 114], "stop": [3, 6, 9, 20, 21, 28, 29, 36, 37, 38, 39, 42, 43, 44, 48, 49, 55, 56, 57, 62, 69, 70, 76, 77, 85, 87, 96, 108, 114, 117, 118, 120], "fail": [3, 4, 11, 15, 16, 21, 28, 37, 38, 44, 49, 50, 56, 57, 60, 62, 65, 70, 71, 73, 79, 84, 87, 88, 89, 90, 91, 92, 93, 97, 107, 108, 110, 112, 114, 115, 116, 117, 118, 121], "2000": [3, 5, 21, 47, 49, 56, 72, 73, 114, 118], "begin": [3, 12, 21, 44, 79, 81, 93, 105, 115, 118], "model": [3, 12, 64, 80, 86, 95, 107, 115, 116, 118, 120, 121, 122, 124], "delet": [3, 7, 20, 21, 49, 55, 79, 81, 89, 95, 110, 121, 123], "model_a": 3, "inform": [3, 4, 7, 18, 19, 20, 21, 23, 26, 28, 37, 38, 39, 40, 41, 42, 44, 47, 48, 49, 50, 56, 60, 61, 62, 64, 65, 67, 68, 70, 71, 72, 73, 74, 79, 80, 83, 88, 89, 92, 93, 95, 96, 100, 107, 108, 110, 112, 116, 117, 118, 120, 121, 122], "motiv": 3, "discours": 3, "most": [4, 8, 11, 16, 32, 39, 44, 50, 52, 54, 65, 70, 80, 86, 96, 107, 114, 116, 117, 118, 121, 122, 123, 124], "filenam": [4, 16, 20, 44, 49, 71, 79, 108, 112], "backward": [4, 11, 20, 21, 49, 119], "implicit": [4, 15, 21, 49, 67, 70, 72, 74, 76, 80, 111, 113, 114, 118, 120], "default": [4, 7, 18, 19, 20, 21, 23, 28, 32, 35, 37, 38, 39, 44, 48, 49, 50, 52, 56, 68, 70, 71, 72, 73, 76, 86, 89, 90, 92, 93, 94, 96, 107, 110, 112, 113, 115, 116, 117, 118, 120, 121, 123], "unless": [4, 8, 11, 16, 20, 38, 44, 49, 62, 83, 89, 107, 109, 114, 116, 118, 123], "conf": [4, 7, 24, 44, 49, 93, 114, 123, 124], "found": [4, 21, 23, 70, 71, 79, 88, 89, 96, 110, 112, 114, 121, 123], "consist": [4, 24, 30, 44, 51, 52, 64, 65, 80, 86, 96, 110, 116, 118, 121, 124], "behaviour": [4, 10, 21, 44, 49, 107, 108, 115, 117, 118, 123], "time": [4, 5, 7, 8, 12, 20, 21, 24, 28, 29, 32, 33, 42, 43, 44, 47, 49, 51, 54, 56, 57, 60, 61, 62, 67, 69, 70, 72, 73, 76, 79, 80, 81, 86, 88, 89, 90, 91, 93, 95, 97, 98, 99, 100, 101, 102, 103, 104, 105, 110, 112, 114, 116, 117, 120, 122, 123], "zone": [4, 20, 21, 44, 47, 49, 72, 93, 118, 122], "local": [4, 11, 20, 23, 29, 44, 49, 50, 81, 90, 93, 107, 109, 112, 114, 116, 118, 121, 123], "utc": [4, 5, 20, 21, 44, 47, 49, 54, 56, 57, 60, 62, 68, 75, 116, 118, 121, 123], "wait": [4, 15, 21, 29, 38, 42, 44, 49, 56, 57, 60, 61, 62, 70, 71, 73, 76, 80, 86, 87, 91, 92, 107, 112, 115, 116, 118, 119, 121], "pre": [4, 15, 21, 22, 25, 28, 41, 48, 49, 51, 59, 76, 107, 112, 115, 118, 119, 120, 121, 123], "mimic": 4, "stall": [4, 15, 20, 21, 44, 49, 78, 85, 88, 110, 116, 117, 118, 119], "suicid": [4, 9, 15, 20, 21, 49, 78, 110, 113, 118], "branch": [4, 5, 9, 15, 20, 21, 86, 90, 113, 119, 121, 123], "succeed": [4, 15, 16, 21, 49, 57, 65, 70, 71, 73, 74, 87, 88, 91, 92, 95, 107, 110, 112, 116, 118, 120], "mean": [4, 16, 21, 43, 44, 49, 62, 65, 73, 74, 76, 79, 86, 94, 96, 107, 108, 114, 118, 120, 123], "retain": [4, 21, 44, 86, 92, 112, 116, 118], "succe": [4, 16, 20, 21, 34, 49, 57, 60, 62, 65, 71, 73, 87, 94, 107, 112, 114, 115, 116, 118, 119, 120, 121, 124], "incomplet": [4, 20, 21, 49, 92, 94, 116, 118], "mark": [4, 16, 20, 21, 29, 57, 87, 89, 118], "syntax": [4, 5, 11, 16, 20, 21, 23, 42, 45, 49, 51, 57, 102, 111, 112, 113, 114, 115, 116, 117, 124], "wa": [4, 7, 10, 20, 21, 23, 44, 48, 49, 51, 56, 64, 72, 74, 79, 81, 84, 86, 89, 92, 108, 112, 115, 116, 117, 118, 120, 121], "modif": [4, 107, 121], "while": [4, 21, 44, 56, 60, 76, 86, 108, 109, 112, 114, 115, 116, 118], "first": [4, 6, 7, 8, 10, 20, 21, 29, 33, 34, 38, 42, 44, 49, 50, 55, 56, 57, 59, 60, 68, 70, 72, 76, 79, 86, 89, 93, 105, 107, 108, 111, 112, 114, 115, 118, 120, 123, 124], "warn": [4, 20, 21, 43, 49, 88, 107, 110, 112, 116, 118], "fix": [4, 21, 41, 59, 72, 86, 107, 118, 121], "those": [4, 21, 39, 42, 44, 49, 56, 57, 74, 76, 86, 88, 92, 96, 112, 114, 118, 119, 121, 123], "befor": [4, 7, 15, 16, 18, 21, 23, 24, 27, 29, 33, 37, 38, 42, 44, 49, 50, 56, 57, 60, 62, 70, 71, 72, 73, 76, 80, 81, 84, 86, 87, 89, 93, 107, 108, 110, 112, 115, 116, 118, 121, 123], "below": [4, 5, 6, 11, 21, 27, 44, 49, 50, 54, 64, 74, 76, 79, 81, 86, 95, 96, 107, 108, 112, 116, 118, 121, 123], "oper": [4, 11, 32, 36, 38, 48, 49, 72, 73, 74, 79, 93, 96, 109, 110, 112, 116, 117, 118, 119, 121, 122, 124], "process": [4, 13, 17, 20, 21, 23, 24, 28, 29, 38, 39, 44, 48, 49, 50, 51, 54, 64, 65, 67, 68, 70, 71, 73, 78, 80, 86, 88, 89, 97, 99, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 120, 121, 123], "detect": [4, 21, 28, 44, 48, 49, 81, 107, 110, 112, 118, 121], "insid": [4, 7, 20, 21, 35, 70, 74, 79, 81, 93, 114], "unus": [4, 118], "jinja2": [4, 5, 7, 18, 21, 24, 27, 43, 44, 49, 51, 66, 68, 69, 70, 78, 89, 110, 111, 112, 113, 115, 116, 118, 122], "empi": [4, 5, 18, 21, 23, 24, 27, 78, 110, 113, 115, 116], "els": [4, 13, 27, 50, 57, 62, 107, 114, 118, 121, 123], "either": [4, 12, 21, 35, 41, 42, 50, 57, 61, 65, 66, 68, 71, 73, 79, 89, 108, 112, 115, 116, 118, 121, 123], "make": [4, 5, 20, 21, 27, 29, 49, 56, 57, 59, 60, 65, 66, 67, 74, 76, 77, 80, 81, 84, 87, 89, 107, 108, 111, 112, 114, 115, 118, 120, 121, 122, 123, 124], "interoper": [4, 7, 123], "behav": [4, 118, 121], "messag": [4, 21, 27, 28, 38, 39, 42, 44, 49, 55, 57, 58, 63, 70, 85, 89, 95, 96, 97, 108, 109, 112, 114, 116, 117, 121], "broadcast": [4, 42, 58, 63, 78, 85, 96, 112], "interfac": [4, 9, 20, 23, 25, 28, 36, 39, 40, 41, 42, 44, 49, 51, 53, 64, 69, 71, 88, 95, 96, 116, 117], "wherea": [4, 10, 29, 44, 112], "modul": [4, 13, 27, 28, 35, 49, 71, 89, 95, 110, 111, 112, 113, 116], "import": [4, 13, 27, 28, 35, 38, 44, 49, 70, 96, 112, 113, 116, 118, 121, 123, 124], "filter": [4, 13, 28, 37, 44, 49, 89, 110, 113, 117, 121], "custom": [4, 7, 13, 21, 22, 25, 44, 49, 56, 60, 61, 73, 81, 88, 90, 108, 110, 113, 115, 116, 118, 120, 121, 123], "note": [4, 6, 10, 11, 20, 28, 35, 38, 39, 48, 49, 50, 54, 56, 57, 59, 60, 71, 76, 78, 79, 89, 96, 112, 114, 115, 116, 118, 120, 121, 122, 123], "independ": [4, 11, 72, 86, 107, 112, 122, 123], "how": [4, 5, 10, 19, 21, 39, 44, 47, 49, 56, 59, 63, 66, 71, 72, 75, 76, 78, 79, 81, 89, 95, 96, 97, 107, 108, 110, 111, 112, 115, 116], "cannot": [4, 6, 21, 29, 34, 42, 44, 47, 49, 50, 79, 84, 89, 96, 107, 112, 116], "partial": [4, 6, 10, 60, 94, 113, 118], "complet": [4, 6, 15, 16, 20, 21, 29, 44, 49, 60, 65, 70, 73, 76, 78, 80, 85, 86, 87, 89, 90, 92, 95, 107, 108, 109, 115, 116, 117, 118, 120, 121, 123], "place": [4, 6, 12, 21, 27, 33, 35, 48, 49, 52, 60, 68, 72, 81, 86, 89, 93, 108, 110, 111, 116, 120, 121, 123, 124], "otherwis": [4, 8, 16, 20, 21, 44, 49, 62, 71, 83, 87, 96, 100, 101, 102, 103, 104, 105, 109, 114, 116, 121, 123], "continu": [4, 9, 19, 20, 21, 22, 24, 43, 49, 51, 62, 67, 68, 86, 87, 94, 107, 113, 118, 122], "transfer": [4, 7, 50, 51, 89, 109], "certain": [4, 21, 23, 33, 42, 44, 49, 55, 73, 79, 81, 89, 90, 110, 112, 116, 117], "dure": [4, 16, 21, 49, 50, 60, 81, 82, 89, 109, 114, 115, 118, 121, 123], "remot": [4, 5, 6, 9, 11, 20, 21, 39, 44, 49, 50, 70, 71, 78, 79, 82, 85, 88, 90, 93, 97, 110, 111, 112, 113, 114, 121], "exclud": [4, 9, 49, 52, 110, 114, 117], "combin": [4, 21, 37, 44, 49, 74, 96, 108, 112, 119], "exist": [4, 21, 24, 27, 44, 49, 60, 74, 79, 86, 89, 107, 112, 118, 121, 123, 124], "much": [4, 15, 21, 80], "less": [4, 38, 44, 49, 93, 108, 112, 118, 121, 123], "usernam": [4, 9, 19, 20, 49, 70, 96], "runtim": [4, 5, 6, 8, 11, 14, 16, 20, 21, 22, 24, 28, 36, 43, 44, 49, 50, 51, 53, 55, 56, 57, 59, 60, 61, 62, 63, 66, 67, 68, 73, 74, 79, 80, 83, 85, 88, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 120, 121, 123, 124], "namespac": [4, 11, 14, 20, 21, 27, 35, 44, 49, 50, 54, 88, 90, 93, 108, 110, 112, 114, 116, 117, 118, 120, 121, 123, 124], "owner": [4, 14, 20, 48, 49, 96, 117, 123], "consid": [4, 11, 44, 49, 50, 52, 72, 86, 89, 93, 109, 112, 115, 118, 120, 121, 123], "initi": [4, 5, 6, 8, 11, 20, 21, 24, 31, 33, 38, 44, 49, 50, 54, 55, 56, 60, 64, 68, 70, 71, 73, 76, 80, 85, 86, 88, 108, 111, 112, 114, 115, 116, 121, 123], "11000101t00": 4, "r1": [4, 5, 21, 24, 28, 43, 49, 55, 57, 59, 60, 61, 62, 68, 72, 74, 76, 107, 112, 114, 115, 116, 118, 120, 121, 123, 124], "echo": [4, 28, 49, 55, 56, 57, 59, 60, 62, 65, 68, 70, 71, 116, 117, 120, 121, 124], "hello": [4, 13, 28, 47, 49, 68, 70, 71, 107, 108, 112, 114, 121, 124], "world": [4, 13, 21, 28, 44, 47, 49, 56, 68, 70, 72, 112, 114, 121, 124], "6": [4, 13, 48, 49, 51, 62, 65, 71, 72, 105, 112, 114, 115, 116, 118, 120], "4": [4, 44, 49, 51, 71, 89, 110, 114, 115, 124], "0": [4, 5, 7, 10, 13, 21, 23, 24, 26, 27, 29, 35, 44, 47, 48, 49, 50, 53, 56, 65, 67, 70, 85, 87, 92, 105, 112, 114, 115, 116, 117, 118], "item": [4, 5, 8, 11, 20, 21, 23, 24, 38, 43, 44, 46, 49, 50, 66, 67, 75, 81, 89, 90, 107, 108, 110, 112, 114, 115, 116, 118, 120, 121, 123], "definit": [4, 5, 8, 11, 18, 21, 24, 44, 49, 50, 51, 56, 62, 67, 69, 80, 110, 114, 115, 116, 118, 120, 121, 123, 124], "valu": [4, 5, 10, 18, 21, 24, 27, 37, 38, 43, 44, 46, 47, 48, 49, 54, 55, 56, 59, 66, 67, 68, 70, 71, 72, 74, 89, 93, 105, 108, 110, 112, 113, 116, 118, 120, 121, 123, 124], "u": [4, 55, 56, 57, 60, 62, 66, 71, 96, 107, 118, 121], "illegalitemerror": 4, "must": [4, 7, 11, 13, 16, 18, 20, 21, 23, 27, 28, 29, 35, 37, 38, 39, 41, 43, 44, 49, 50, 64, 68, 72, 76, 79, 86, 89, 96, 98, 105, 108, 109, 111, 112, 114, 115, 116, 117, 118, 119, 121], "yourself": [4, 41, 70, 96], "might": [4, 7, 11, 16, 20, 23, 34, 44, 48, 62, 72, 81, 86, 110, 111, 112, 115, 118, 119, 121], "like": [4, 7, 10, 13, 16, 20, 21, 23, 25, 38, 41, 44, 48, 49, 50, 55, 57, 59, 60, 61, 65, 67, 68, 70, 71, 73, 74, 76, 86, 91, 96, 100, 101, 102, 103, 104, 105, 107, 108, 110, 111, 112, 114, 115, 116, 118, 119, 120, 123, 124], "foo": [4, 5, 8, 10, 16, 18, 21, 28, 29, 37, 38, 43, 47, 49, 54, 60, 61, 65, 67, 68, 70, 72, 73, 74, 76, 79, 87, 89, 93, 95, 100, 101, 102, 103, 104, 108, 111, 112, 114, 115, 116, 118, 119, 120, 121, 123, 124], "cylc_suite_nam": [4, 110], "addition": [4, 44, 96, 118, 123], "favour": [4, 121], "cylc_workflow_id": [4, 21, 49, 54, 55, 60, 107, 110, 112, 114, 116, 118], "though": [4, 34, 64, 71, 86, 115, 118], "order": [4, 15, 21, 29, 38, 44, 49, 56, 59, 60, 61, 64, 66, 72, 74, 76, 84, 96, 107, 108, 112, 115, 116, 117, 118, 120, 121, 124], "could": [4, 6, 7, 18, 21, 24, 27, 44, 49, 50, 51, 55, 59, 60, 65, 66, 67, 68, 70, 71, 72, 76, 84, 86, 87, 93, 96, 97, 107, 109, 112, 114, 116, 117, 118, 121], "someth": [4, 70, 71, 74, 107, 112, 118], "bash": [4, 21, 44, 57, 60, 70, 100, 101, 102, 103, 104, 105, 107, 114, 117, 121], "cylc_vers": [4, 7, 24, 36, 37, 54, 110, 114, 116], "1": [4, 5, 7, 10, 18, 21, 27, 28, 29, 32, 35, 37, 38, 44, 47, 48, 49, 52, 53, 54, 56, 60, 62, 67, 68, 70, 74, 76, 86, 88, 89, 92, 94, 95, 96, 102, 103, 107, 108, 109, 112, 114, 115, 116, 117, 120, 121, 123, 124], "fi": [4, 57, 62, 107, 118, 121, 124], "logic": [4, 11, 28, 38, 74, 111, 114, 116, 118, 120, 121, 124], "variabl": [4, 7, 9, 21, 22, 23, 27, 28, 38, 44, 48, 49, 50, 53, 55, 59, 62, 65, 66, 67, 69, 70, 83, 89, 107, 110, 112, 113, 115, 120, 122, 124], "host": [4, 5, 14, 20, 21, 23, 24, 28, 29, 34, 38, 44, 47, 49, 50, 52, 54, 55, 60, 70, 71, 82, 88, 89, 90, 93, 107, 108, 109, 110, 111, 113, 114, 120, 122, 123], "defin": [4, 5, 7, 11, 20, 21, 24, 28, 29, 38, 39, 43, 44, 48, 49, 50, 51, 54, 56, 59, 60, 62, 65, 66, 67, 68, 70, 71, 74, 76, 89, 96, 107, 108, 110, 112, 113, 114, 115, 117, 118, 120, 121, 123], "endif": [4, 7, 13, 114, 120, 123], "prior": [4, 21, 23, 44, 74, 89, 115, 118, 121], "successfulli": [4, 49, 70, 73, 86, 118, 121], "readi": [4, 20, 21, 44, 49, 60, 70, 79, 107, 108, 110, 112, 116, 118, 121], "turn": [4, 44, 48, 49, 59, 68, 76, 80, 107, 116, 120], "show": [4, 11, 17, 21, 44, 49, 63, 70, 75, 76, 91, 110, 112, 114, 124], "complex": [4, 23, 33, 74, 76, 108, 109, 111, 114, 115, 116, 120, 122, 123, 124], "onc": [4, 7, 17, 21, 42, 44, 49, 50, 56, 57, 61, 62, 65, 71, 72, 73, 74, 80, 86, 92, 108, 112, 113, 115, 118, 120, 121, 123], "move": [5, 13, 20, 44, 49, 59, 60, 65, 72, 74, 76, 83, 110, 112, 117, 118, 121, 122, 123], "highlight": [5, 23, 42, 121, 124], "upon": 5, "after": [5, 7, 10, 18, 20, 21, 24, 27, 28, 38, 39, 43, 44, 47, 49, 55, 56, 59, 60, 62, 67, 68, 70, 71, 72, 74, 76, 77, 79, 84, 85, 93, 107, 108, 110, 112, 114, 116, 117, 118, 119, 120, 121, 123, 124], "becaus": [5, 10, 11, 15, 21, 24, 28, 34, 44, 49, 50, 55, 59, 62, 84, 86, 89, 90, 93, 94, 107, 109, 112, 115, 116, 117, 118, 120, 121, 123, 124], "switch": [5, 20, 70, 114, 118, 120, 121, 122], "script": [5, 11, 17, 20, 21, 22, 23, 24, 27, 28, 42, 44, 49, 50, 53, 55, 56, 57, 59, 60, 62, 64, 65, 66, 67, 68, 69, 71, 74, 79, 80, 89, 90, 91, 93, 97, 98, 99, 100, 101, 102, 103, 104, 105, 108, 109, 110, 112, 115, 117, 118, 120, 122, 123], "lint": [5, 124], "r": [5, 21, 49, 55, 115, 124], "728": [5, 110], "had": [5, 15, 17, 44, 57, 86, 123], "unnecessarili": [5, 15, 21, 107, 121], "deep": [5, 44, 114], "nest": [5, 20, 37, 43, 46, 59, 74, 79, 110, 112, 116, 120, 124], "section": [5, 7, 9, 11, 18, 20, 21, 24, 35, 39, 40, 42, 43, 44, 46, 49, 52, 55, 56, 57, 58, 59, 60, 61, 62, 65, 66, 68, 69, 70, 71, 72, 73, 74, 75, 79, 80, 89, 96, 97, 107, 110, 111, 112, 114, 116, 117, 118, 120, 121, 123, 124], "prep": [5, 112, 115, 116, 118, 124], "p1d": [5, 21, 47, 49, 56, 72, 104, 112, 115, 118, 121, 123], "bar": [5, 8, 16, 18, 21, 28, 29, 37, 38, 43, 47, 49, 54, 60, 61, 65, 68, 70, 72, 73, 74, 76, 79, 89, 100, 112, 114, 115, 116, 118, 119, 121, 124], "baz": [5, 8, 21, 28, 43, 47, 49, 60, 61, 68, 70, 72, 74, 76, 79, 100, 112, 114, 118, 119, 121, 124], "take": [5, 11, 20, 21, 23, 27, 33, 38, 44, 48, 50, 59, 70, 74, 76, 80, 81, 94, 96, 108, 112, 116, 118, 121, 124], "mode": [5, 9, 11, 16, 21, 29, 40, 44, 54, 56, 57, 60, 62, 68, 70, 73, 74, 75, 76, 78, 85, 86, 89, 107, 110, 112, 116, 118, 121, 123], "true": [5, 18, 24, 37, 38, 43, 44, 47, 49, 50, 54, 55, 56, 57, 59, 60, 62, 67, 68, 72, 74, 76, 80, 107, 108, 111, 112, 114, 116, 118, 120, 121, 123], "01": [5, 21, 24, 38, 47, 54, 56, 70, 71, 72, 73, 88, 108, 112, 114, 115, 116, 118, 121, 123], "pass": [5, 18, 21, 27, 28, 38, 44, 49, 56, 86, 89, 96, 107, 112, 113, 114, 116, 117, 118, 121], "give": [5, 16, 48, 49, 72, 76, 96, 108, 112, 115, 116, 118, 120, 124], "x": [5, 10, 13, 18, 21, 23, 49, 60, 67, 107, 108, 112, 118], "explain": [5, 74, 108], "what": [5, 19, 20, 21, 35, 49, 60, 62, 63, 66, 70, 74, 78, 81, 89, 96, 100, 101, 102, 103, 104, 105, 108, 110, 112, 116, 118, 120, 121, 123], "later": [5, 8, 11, 42, 74, 89, 116, 121], "obsolet": [5, 49, 89, 110], "good": [5, 23, 43, 49, 60, 66, 74, 110, 118, 121, 122], "idea": [5, 49, 60, 74, 93], "address": [5, 44, 49, 57, 89, 112, 116, 117, 121], "part": [5, 10, 38, 49, 50, 65, 72, 76, 79, 86, 96, 107, 115, 118, 122, 123, 124], "routin": [5, 107], "mainten": [5, 29, 52, 116, 117, 120, 121], "avoid": [5, 6, 21, 23, 44, 49, 61, 66, 67, 68, 79, 80, 89, 90, 93, 96, 97, 108, 112, 115, 116, 117, 118, 123, 124], "problem": [5, 21, 44, 49, 59, 60, 71, 72, 76, 89, 107, 108, 112, 118, 121, 123], "system": [5, 11, 19, 20, 21, 22, 23, 24, 26, 28, 40, 44, 48, 49, 60, 61, 64, 66, 70, 71, 72, 73, 80, 82, 88, 89, 96, 107, 108, 110, 111, 112, 115, 116, 117, 118, 121, 123], "admin": 5, "write": [5, 21, 22, 23, 24, 27, 28, 35, 45, 49, 55, 56, 57, 59, 63, 65, 67, 68, 70, 72, 74, 76, 78, 79, 89, 90, 107, 108, 109, 111, 112, 117, 118, 121], "indic": [5, 16, 17, 28, 96, 107, 118, 120], "should": [5, 6, 7, 10, 11, 16, 17, 20, 21, 23, 24, 27, 28, 29, 35, 43, 44, 48, 49, 50, 55, 56, 57, 59, 60, 61, 62, 65, 67, 68, 70, 71, 72, 73, 74, 79, 82, 86, 88, 90, 93, 96, 107, 108, 110, 112, 114, 115, 116, 117, 118, 120, 121, 122, 123, 124], "batch": [5, 11, 20, 21, 28, 44, 49, 50, 76, 107, 108, 109, 110, 116, 123], "slurm": [5, 11, 20, 21, 28, 44, 49, 50, 71, 106, 109], "hpc1": [5, 116], "login": [5, 11, 23, 44, 49, 54, 93, 107, 116], "comprehens": [5, 70, 111], "rather": [6, 12, 18, 20, 21, 24, 39, 44, 49, 52, 56, 60, 65, 66, 67, 70, 88, 107, 112, 116, 118, 120, 121, 123, 124], "scratch": [6, 21, 89, 90, 121], "expens": 6, "cold": [6, 21, 49, 71, 88, 89], "incur": 6, "multi": [6, 19, 23, 40, 42, 44, 49, 51, 52, 74, 96, 107, 116, 120, 121, 124], "spin": 6, "involv": [6, 21, 39, 48, 57, 79, 80, 89, 112, 118, 121], "care": [6, 81, 93, 96, 116, 124], "typic": [6, 16, 21, 70, 71, 72, 79, 92, 107, 115, 116, 118, 121, 123], "end": [6, 13, 28, 29, 39, 49, 56, 62, 64, 68, 70, 72, 93, 107, 111, 115, 116, 118, 122, 123, 124], "instanc": [6, 8, 15, 21, 28, 40, 41, 49, 54, 55, 70, 71, 74, 76, 86, 89, 90, 96, 109, 112, 114, 115, 116, 118, 121, 123], "adapt": [6, 23, 60, 123], "structur": [6, 21, 39, 50, 51, 59, 66, 79, 82, 111, 116, 118, 121, 123], "platform": [6, 7, 9, 21, 23, 28, 39, 44, 45, 49, 53, 71, 81, 89, 90, 91, 93, 100, 101, 102, 103, 104, 105, 107, 108, 110, 112, 114, 118, 121, 123], "upcom": [6, 49, 83, 86, 118], "extern": [6, 21, 44, 47, 49, 56, 70, 78, 88, 92, 95, 107, 110, 113, 114, 119, 123], "appropri": [6, 11, 20, 39, 44, 47, 64, 80, 84, 96, 108, 112, 114, 121, 123], "don": [6, 21, 28, 49, 50, 70, 74, 79, 86, 89, 107, 110, 117, 119, 120, 121, 124], "t": [6, 11, 21, 28, 35, 39, 44, 47, 49, 50, 59, 70, 71, 72, 74, 76, 79, 80, 86, 89, 92, 96, 107, 110, 114, 115, 117, 118, 119, 120, 121, 123, 124], "That": 6, "would": [6, 8, 10, 21, 24, 44, 47, 48, 49, 50, 56, 57, 59, 60, 62, 67, 68, 70, 73, 74, 79, 86, 89, 96, 109, 112, 115, 116, 118, 119, 121, 123, 124], "result": [6, 7, 10, 11, 13, 20, 21, 27, 28, 31, 32, 33, 38, 39, 44, 48, 49, 50, 59, 67, 68, 72, 74, 76, 79, 86, 93, 105, 107, 108, 112, 114, 115, 116, 118, 121, 123, 124], "procedur": 6, "design": [6, 7, 20, 21, 22, 40, 49, 50, 51, 60, 67, 110, 114, 118, 120, 121, 123, 124], "instead": [6, 11, 21, 28, 38, 43, 44, 49, 71, 72, 81, 90, 92, 105, 106, 109, 110, 111, 112, 115, 116, 118, 119, 120, 121, 123, 124], "right": [6, 8, 21, 44, 59, 70, 71, 72, 86, 107, 112, 118, 120, 121], "almost": [7, 55, 112], "certainli": 7, "usual": [7, 21, 41, 116, 118, 121], "develop": [7, 19, 21, 22, 23, 31, 32, 33, 40, 48, 49, 53, 64, 70, 72, 114, 121, 122, 124], "ran": [7, 13, 24, 70, 71, 81, 86, 89], "elsewher": [7, 49, 70, 81, 90, 118], "risk": [7, 15, 116, 118, 120, 121], "alter": [7, 35, 49, 57, 79, 96], "anoth": [7, 33, 43, 44, 46, 50, 51, 57, 60, 72, 74, 76, 79, 83, 86, 93, 96, 105, 107, 109, 112, 115, 116, 117, 118, 119, 121, 124], "separ": [7, 10, 11, 20, 21, 43, 44, 47, 49, 59, 62, 70, 72, 88, 89, 107, 108, 111, 112, 114, 116, 118, 121, 123], "By": [7, 20, 21, 44, 48, 49, 56, 59, 65, 70, 71, 72, 73, 76, 79, 86, 93, 96, 108, 110, 115, 116, 117, 118], "src": [7, 20, 21, 26, 44, 55, 56, 57, 59, 60, 61, 62, 65, 70, 71, 72, 74, 76, 77, 79], "previous": [7, 20, 21, 43, 44, 49, 89], "cd": [7, 23, 49, 55, 56, 57, 59, 60, 61, 62, 65, 70, 71, 72, 74, 76], "my": [7, 13, 26, 27, 35, 38, 49, 50, 77, 79, 96, 108, 112, 114, 116, 117, 120, 121], "run1": [7, 20, 21, 44, 54, 70, 77, 79, 81, 116], "home": [7, 20, 23, 26, 44, 49, 77, 79, 81, 82, 88, 89, 95, 112, 114, 116, 117, 121], "run2": [7, 21, 70, 79], "run3": [7, 79], "each": [7, 8, 11, 20, 21, 23, 24, 28, 31, 38, 41, 42, 43, 44, 46, 48, 49, 50, 51, 56, 59, 60, 62, 64, 65, 66, 68, 70, 71, 72, 73, 74, 76, 77, 79, 80, 86, 88, 89, 93, 95, 96, 110, 112, 115, 116, 117, 118, 120, 121, 123, 124], "particular": [7, 21, 52, 57, 64, 66, 72, 73, 107, 112, 115, 116, 117, 118], "abov": [7, 8, 28, 44, 48, 49, 50, 52, 57, 59, 65, 68, 70, 72, 74, 76, 79, 80, 86, 96, 107, 108, 112, 114, 115, 116, 118, 120, 121, 124], "creat": [7, 20, 21, 23, 44, 49, 50, 55, 56, 57, 59, 61, 62, 65, 68, 70, 71, 72, 73, 74, 75, 76, 79, 80, 81, 82, 85, 110, 114, 116, 120, 121], "three": [7, 12, 13, 20, 44, 59, 60, 62, 68, 69, 70, 71, 72, 76, 79, 93, 96, 111, 112, 114, 115, 116, 118, 120, 121, 124], "cylcignor": [7, 79], "until": [7, 21, 28, 44, 49, 51, 56, 73, 79, 86, 93, 100, 108, 112, 117, 118, 121], "target": [7, 11, 20, 21, 44, 49, 70, 78, 79, 83, 89, 112, 116, 118, 121], "ana": [7, 13, 49, 89], "app": [7, 48, 49, 89, 96, 122, 124], "bin": [7, 26, 28, 33, 44, 49, 60, 70, 71, 79, 89, 100, 101, 102, 103, 104, 105, 107, 110, 116, 117, 121], "etc": [7, 21, 23, 38, 44, 48, 49, 57, 70, 72, 86, 88, 89, 96, 105, 107, 108, 110, 111, 115, 118, 121, 123, 124], "lib": [7, 28, 49, 65, 70, 79, 89, 110, 112, 116], "addit": [7, 25, 27, 39, 43, 44, 46, 48, 49, 74, 79, 81, 89, 96, 109, 114, 116, 117, 118, 121, 123], "authent": [7, 19, 38, 39, 40, 48, 50, 71, 78, 85, 93, 96, 110], "ensur": [7, 23, 30, 44, 49, 50, 60, 65, 71, 72, 76, 82, 89, 93, 95, 118, 120, 121, 123, 124], "wrap": [7, 38, 67, 80, 98, 99, 108, 114, 115, 116], "dir": [7, 21, 26, 28, 37, 44, 48, 49, 50, 79, 81, 89, 112, 116], "id": [7, 12, 21, 23, 28, 37, 38, 39, 42, 44, 49, 50, 54, 67, 68, 71, 82, 86, 88, 89, 90, 95, 108, 109, 112, 114, 116, 117, 120, 121], "plugin": [7, 22, 23, 24, 31, 32, 33, 34, 41, 44, 49, 79, 110, 112, 117, 124], "integr": [7, 28, 30, 40, 44, 110, 111, 117], "instruct": [7, 23, 42, 109, 110], "appear": [7, 15, 21, 42, 44, 49, 57, 60, 67, 84, 88, 91, 96, 107, 112, 114, 115, 116, 117, 118, 119, 123], "long": [7, 28, 43, 44, 49, 50, 60, 74, 79, 80, 90, 95, 105, 107, 108, 112, 114, 115, 117, 121, 124], "rememb": [7, 16, 60, 68], "templat": [7, 9, 21, 24, 27, 28, 43, 44, 49, 51, 65, 67, 89, 108, 110, 111, 112, 113, 115, 120, 121], "appli": [7, 48, 49, 50, 56, 59, 62, 66, 79, 93, 96, 114, 115, 116, 117, 118], "them": [7, 8, 21, 23, 27, 35, 37, 38, 41, 44, 49, 50, 57, 62, 64, 65, 66, 70, 71, 72, 74, 76, 79, 81, 86, 89, 92, 96, 107, 108, 110, 111, 112, 114, 115, 116, 117, 118, 120, 121, 123, 124], "stem": 7, "look": [7, 27, 37, 39, 44, 48, 50, 52, 55, 57, 58, 59, 60, 61, 62, 70, 71, 74, 76, 79, 81, 89, 110, 112, 121], "add": [7, 27, 44, 49, 50, 52, 55, 57, 59, 60, 61, 62, 65, 67, 68, 70, 71, 72, 74, 76, 80, 88, 89, 108, 114, 115, 116, 118, 123], "With": [7, 24, 49, 50, 53, 54, 72, 86, 89, 96, 116, 118, 123], "just": [7, 8, 21, 28, 49, 66, 73, 74, 76, 81, 84, 86, 107, 108, 109, 111, 112, 114, 115, 116, 118, 119, 120, 121, 123, 124], "effici": [7, 15, 20, 22, 44, 51, 76, 80, 93, 112, 115, 121, 122], "special": [8, 11, 21, 44, 49, 56, 57, 59, 65, 72, 86, 105, 107, 110, 112, 114, 115, 120, 121, 123], "specif": [8, 11, 21, 38, 44, 48, 49, 50, 51, 66, 68, 70, 78, 83, 86, 96, 107, 108, 110, 112, 113, 118, 121, 122], "pool": [8, 21, 44, 48, 51, 86, 112, 113, 116], "own": [8, 11, 21, 28, 41, 49, 68, 72, 73, 80, 88, 96, 108, 112, 116, 118, 121, 124], "dictat": 8, "describ": [8, 21, 49, 57, 66, 107, 110, 112, 115, 118, 120, 123, 124], "predat": 8, "comment": [8, 23, 43, 49, 65, 67, 74, 110, 111, 114, 118, 122], "out": [8, 10, 15, 20, 21, 23, 28, 33, 37, 44, 49, 50, 65, 66, 67, 68, 70, 71, 76, 77, 81, 89, 92, 96, 100, 101, 102, 103, 104, 105, 107, 108, 112, 115, 116, 117, 118, 120, 121, 122, 123, 124], "goe": [9, 21, 71, 87, 93, 116, 117], "migrat": [9, 15, 22, 42, 44, 49, 51, 121], "paramet": [9, 21, 37, 47, 49, 66, 78, 80, 110, 112, 113, 114, 116, 120, 121, 123], "python": [9, 20, 21, 22, 27, 28, 35, 38, 40, 44, 47, 48, 49, 51, 52, 67, 70, 71, 79, 88, 95, 110, 111, 112, 113, 116, 117, 121], "neg": [10, 49, 115], "offset": [10, 21, 49, 56, 72, 73, 76, 112, 113, 114, 116, 118, 121], "subtl": 10, "And": [10, 11, 22, 25, 26, 28, 40, 59, 61, 62, 68, 69, 71, 76, 80, 96, 115, 121, 122, 123], "b": [10, 18, 21, 24, 27, 43, 47, 49, 54, 74, 76, 94, 105, 114, 116, 118, 119, 120, 121], "c": [10, 18, 21, 23, 24, 40, 43, 47, 48, 49, 54, 70, 74, 76, 94, 96, 110, 114, 116, 118, 120], "ambigu": [10, 29, 115, 118], "about": [10, 20, 21, 23, 26, 27, 37, 38, 42, 44, 49, 62, 70, 73, 79, 96, 110, 112, 116, 117, 118, 122], "interpret": [10, 39, 49, 70, 95, 97, 115, 118], "express": [10, 13, 21, 28, 44, 49, 50, 51, 54, 67, 72, 111, 112, 114, 115, 116, 118, 120], "rang": [10, 21, 44, 47, 67, 76, 113, 114, 120, 124], "evalu": [10, 29, 48, 49, 67, 110, 114, 116, 118, 121], "b_x1": 10, "c_x1": 10, "a_x1": 10, "b_x2": 10, "c_x2": 10, "a_x2": 10, "b_x3": 10, "c_x3": 10, "everyth": [10, 38, 112, 114, 121], "solut": [10, 13, 16, 93, 109, 121], "a_x3": 10, "term": [11, 20, 28, 49, 74, 109, 112, 116, 118, 123, 124], "runner": [11, 20, 21, 23, 28, 44, 49, 50, 70, 71, 84, 90, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 116, 121], "doesn": [11, 39, 44, 72, 74, 76, 80, 107, 115, 118, 119, 120], "repeat": [11, 15, 21, 49, 64, 66, 68, 72, 75, 80, 105, 112, 118, 120, 121, 123], "group": [11, 21, 28, 42, 44, 48, 49, 59, 65, 66, 79, 107, 110, 111, 114, 115, 116, 118, 120, 122, 124], "comput": [11, 21, 44, 49, 50, 56, 64, 71, 90, 114, 115, 116, 118], "pair": [11, 38, 43, 50, 67, 74, 82, 114, 118, 124], "mirror": [11, 49, 112], "hpc": [11, 21, 50, 84, 93, 112, 116, 123], "equal": [11, 21, 56, 80, 108, 109, 118, 121, 123], "suitabl": [11, 23, 28, 39, 44, 49, 50, 116], "Such": [11, 57], "avail": [11, 12, 19, 20, 23, 24, 27, 29, 35, 38, 44, 49, 54, 57, 60, 77, 96, 107, 109, 110, 111, 112, 114, 116, 117, 118, 121, 123], "alreadi": [11, 21, 44, 49, 50, 56, 60, 66, 71, 74, 79, 86, 87, 89, 112, 118, 121], "contain": [11, 16, 18, 21, 24, 27, 28, 35, 37, 38, 39, 42, 43, 44, 47, 48, 49, 52, 57, 60, 65, 68, 70, 71, 74, 79, 82, 88, 89, 91, 95, 107, 108, 110, 112, 114, 115, 116, 118, 122, 123], "one": [11, 20, 21, 24, 28, 33, 35, 39, 43, 44, 49, 50, 51, 52, 56, 57, 59, 60, 61, 62, 65, 68, 70, 71, 72, 73, 74, 76, 77, 79, 80, 82, 86, 87, 92, 93, 105, 107, 111, 112, 114, 115, 116, 118, 119, 121, 123, 124], "poll": [11, 28, 40, 44, 49, 50, 51, 60, 84, 85, 96, 97, 107, 109, 110, 112, 116, 117, 122], "fallback": 11, "contact": [11, 21, 30, 34, 37, 38, 93, 108], "collect": [11, 21, 51, 57, 66, 74], "explan": [11, 40, 81, 112, 116, 117], "mytask": [11, 50, 88, 116], "login_node01": 11, "our_clust": 11, "login_node02": 11, "match": [11, 15, 27, 28, 33, 37, 38, 44, 49, 50, 60, 74, 76, 79, 89, 96, 108, 110, 112, 114, 116, 118, 121, 124], "same": [11, 13, 15, 20, 21, 23, 28, 38, 39, 41, 44, 47, 49, 50, 61, 70, 71, 72, 74, 76, 77, 84, 86, 88, 89, 96, 107, 108, 111, 112, 114, 115, 116, 118, 119, 120, 121, 123, 124], "correct": [11, 14, 15, 23, 49, 71, 74, 89, 96, 107, 110, 118, 121], "thu": [11, 56, 114, 123], "here": [11, 13, 16, 20, 21, 24, 35, 39, 44, 48, 49, 60, 70, 72, 74, 76, 80, 88, 107, 108, 111, 112, 114, 115, 116, 118, 119, 120, 121, 123, 124], "mytask_cylc_serv": 11, "mytask_big_serv": 11, "linuxbox42": 11, "mytask_submit_local_to_remote_comput": 11, "pb": [11, 21, 28, 44, 49, 71, 102, 107, 123], "mytask_login_to_hpc_and_submit": 11, "supercomputer_login_node_selector_script": 11, "machin": [11, 14, 23, 44, 52, 66, 71, 108, 117], "background": [11, 20, 21, 23, 28, 29, 44, 49, 50, 71, 90, 107, 108, 109, 116, 121], "subshel": [11, 20, 107, 110, 116], "pbs_local": 11, "recommend": [11, 20, 21, 28, 44, 49, 50, 52, 70, 79, 81, 107, 112, 115, 118, 120, 121, 123, 124], "slurm_supercomput": 11, "legal": [11, 49, 110], "selector": 11, "linuxbox": 11, "d": [11, 21, 47, 49, 50, 72, 74, 76, 109, 114, 115, 118], "regex": [11, 37], "linuxboxnn": 11, "singl": [11, 19, 20, 21, 38, 40, 43, 44, 46, 48, 49, 50, 51, 56, 66, 74, 80, 86, 91, 96, 108, 112, 114, 115, 116, 118, 121, 123, 124], "localhost": [11, 28, 29, 44, 47, 89, 116, 117], "node": [11, 17, 20, 21, 28, 44, 64, 93, 102, 103, 105, 112], "assum": [11, 28, 44, 57, 89, 100, 118, 122, 123], "distinct": [11, 72, 121], "attempt": [11, 24, 29, 31, 37, 44, 49, 50, 107, 112, 116, 118, 121], "supercomputer_a": 11, "supercomputer_b": 11, "tigger": 11, "wol": 11, "eeyor": 11, "task1": [11, 114], "task2": 11, "Then": [11, 12, 23, 28, 57, 62, 67, 70, 71, 112, 115, 118, 121], "assign": [11, 49, 59, 96, 114, 116, 118, 121], "implicitli": [11, 21, 49, 68, 116], "likewis": [11, 66, 79, 118], "simplic": [11, 121], "kei": [11, 18, 27, 37, 38, 39, 43, 49, 50, 65, 67, 71, 74, 82, 89, 93, 96, 112, 114], "realiti": [11, 28], "compar": [11, 44, 111, 118], "whole": [11, 12, 47, 49, 74, 107, 112, 118, 124], "ye": [12, 44, 100, 107], "tape": 12, "player": 12, "safe": [12, 20, 21, 23, 35, 96, 107], "number": [12, 18, 20, 21, 23, 24, 28, 29, 31, 37, 42, 43, 44, 47, 48, 49, 50, 54, 56, 60, 61, 62, 71, 72, 74, 76, 85, 89, 92, 105, 108, 110, 112, 114, 115, 116, 118, 120, 121, 123, 124], "interrupt": [12, 38], "alwai": [12, 21, 28, 49, 55, 73, 74, 89, 116, 118, 121, 123], "again": [12, 21, 28, 34, 56, 62, 84, 86, 89, 100, 112, 114, 116, 118, 123], "data": [12, 13, 17, 21, 27, 31, 37, 38, 40, 41, 45, 49, 53, 60, 65, 67, 70, 71, 73, 79, 80, 82, 86, 107, 112, 114, 116, 118, 121], "origin": [12, 21, 49, 64, 72, 79, 86, 89, 121, 123], "manner": [12, 16, 57, 59, 111], "discourag": 12, "well": [12, 15, 21, 28, 39, 42, 49, 59, 60, 70, 71, 72, 80, 91, 107, 114, 116, 118, 120], "other": [12, 19, 21, 22, 23, 27, 35, 38, 39, 41, 42, 44, 48, 49, 50, 53, 57, 62, 64, 65, 70, 71, 76, 78, 79, 84, 86, 89, 91, 95, 97, 107, 108, 110, 113, 114, 115, 116, 117, 118, 119, 120, 121, 123, 124], "evid": 12, "previou": [12, 15, 21, 49, 50, 65, 66, 70, 71, 72, 76, 79, 86, 89, 108, 111, 112, 115, 116, 118], "desir": [12, 13, 29, 41, 57, 111, 115, 116, 120], "db": [12, 70, 95, 112], "worflow": 12, "individu": [12, 20, 21, 35, 38, 49, 65, 72, 79, 80, 86, 96, 107, 108, 110, 116, 118, 121, 123], "shutdown": [12, 21, 29, 35, 44, 49, 70, 89, 109, 110, 116, 117, 118], "under": [13, 14, 19, 21, 28, 29, 41, 44, 49, 50, 72, 74, 76, 79, 89, 96, 110, 112, 115, 116, 117, 118, 120, 121, 123], "six": [13, 47, 49, 71, 72, 124], "code": [13, 21, 28, 29, 35, 44, 49, 56, 59, 60, 62, 66, 68, 70, 71, 72, 73, 76, 88, 96, 107, 109, 110, 111, 114, 116, 118, 122], "jinja2filt": [13, 114], "jinja2test": [13, 114], "jinja2glob": [13, 114], "o": [13, 22, 44, 96, 107, 108, 118, 120, 121, 123], "isodatetim": [13, 23, 42, 47, 49, 54, 110, 114, 116], "metomi": [13, 23, 42, 52, 114], "convert": [13, 49, 112, 118, 121, 124], "durat": [13, 21, 47, 49, 51, 56, 71, 89, 93, 112, 114, 115, 116], "sy": [13, 115], "debug": [13, 21, 31, 32, 33, 44, 54, 88, 112, 113, 116], "illeg": [13, 21, 118], "jinja2error": 13, "expect": [13, 16, 21, 39, 44, 49, 56, 62, 78, 82, 86, 89, 92, 93, 94, 96, 107, 108, 112, 116, 118, 121], "token": [13, 41, 49], "got": [13, 71, 89], "statement": [13, 37, 67, 107, 111, 114, 116], "block": [13, 93, 96, 107, 110, 114, 116, 123, 124], "start_hour": 13, "06": [13, 49, 60, 95, 118], "12": [13, 18, 44, 49, 65, 71, 72, 73, 108, 112, 114, 115, 118], "templatesyntaxerror": 13, "extens": [13, 40, 41, 48, 60, 70, 96, 110, 111, 114, 121], "macro": [13, 114, 120, 121], "account": [14, 19, 41, 44, 49, 96, 105, 112, 117, 121], "access": [14, 19, 22, 41, 42, 44, 48, 49, 50, 65, 71, 78, 88, 109, 111, 112, 113, 116, 121], "suggest": [14, 34, 52, 114, 118], "ssh": [14, 20, 23, 44, 50, 54, 85, 97, 108, 116, 117], "myhost": [14, 44], "root": [14, 20, 21, 26, 28, 49, 54, 56, 59, 80, 108, 110, 112, 113, 114, 120, 121, 123], "connect": [14, 21, 28, 38, 39, 41, 44, 50, 76, 93, 96, 109, 115, 117, 118, 121, 123], "sinc": [14, 24, 48, 49, 50, 96, 107, 112, 114, 116, 117], "rsync": [14, 44, 49, 109], "approach": [14, 23, 44, 69, 107, 121], "concurr": [15, 21, 44, 78, 80, 85, 118, 121], "infinit": [15, 19, 92, 115], "activ": [15, 21, 23, 24, 27, 35, 39, 44, 49, 61, 64, 80, 86, 87, 89, 91, 92, 93, 94, 97, 108, 110, 113, 116, 117, 119, 122], "kept": [15, 32, 49, 60, 118, 121], "across": [15, 21, 42, 52, 64, 80, 83, 112, 114, 118, 122], "window": [15, 19, 21, 70, 71, 86, 87, 92, 116, 118, 119], "costli": 15, "indiscrimin": 15, "done": [15, 21, 39, 49, 60, 72, 80, 89, 90, 96, 107, 109, 112, 115, 116, 117, 118, 120, 121], "distinguish": [15, 21, 51, 79, 84, 105, 112, 114, 118, 124], "diagnosi": [15, 121], "downstream": [15, 21, 86, 87, 112, 116, 118, 119], "sensibl": [15, 20, 33, 96], "fulli": [15, 27, 60, 89], "limit": [15, 20, 21, 24, 28, 43, 44, 48, 49, 61, 69, 76, 79, 85, 91, 92, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 110, 113, 116, 122, 124], "deal": 16, "necessarili": [16, 72, 76], "event": [16, 21, 23, 30, 38, 44, 49, 51, 56, 60, 73, 84, 86, 88, 94, 95, 107, 108, 110, 113, 114, 118, 119, 121], "driven": [16, 21, 112, 118], "eventu": [16, 95, 111], "graphparseerror": 16, "recov": [16, 64, 107, 118], "success": [16, 20, 21, 49, 76, 92, 93, 107, 112, 114, 121], "opposit": 16, "imposs": [16, 110], "did": [16, 21, 92, 94, 118, 121], "unnecessari": [16, 118, 120], "short": [16, 21, 42, 105, 112, 114, 116, 118, 121, 124], "abstract": [17, 20, 91, 97], "prerequisit": [17, 21, 51, 86, 91, 94, 112, 118], "satisfi": [17, 21, 49, 56, 61, 86, 91, 94, 112, 119, 123], "real": [17, 21, 27, 49, 51, 56, 72, 73, 80, 90, 91, 108, 112, 116, 118, 121, 122], "least": [17, 57, 71, 93, 118, 121], "stage": [17, 21, 93], "retri": [17, 20, 21, 44, 49, 54, 58, 63, 69, 78, 84, 85, 91, 107, 110, 112, 113, 118], "13": [17, 20, 44, 47, 49, 108, 114, 115], "icon": [17, 70, 91], "monochrom": 17, "circl": [17, 116], "colour": [17, 70, 91], "squar": [17, 43, 70, 74], "incorpor": [17, 86, 107], "radial": 17, "progress": [17, 21, 44, 93], "boolean": [18, 28, 43, 44, 47, 49, 112, 114, 124], "explicitli": [18, 49, 52, 96, 100, 101, 102, 103, 104, 105, 109, 115, 118, 121], "quot": [18, 43, 49, 81, 114, 116, 117, 124], "abc": 18, "bcd": 18, "123": [18, 114], "integ": [18, 21, 44, 47, 49, 51, 68, 72, 73, 76, 86, 89, 110, 112, 114, 120], "34": [18, 71, 114], "float": [18, 38, 47, 48, 49, 112, 114], "none": [18, 27, 28, 35, 37, 38, 86, 96, 112, 114, 116, 118, 120], "type": [18, 31, 42, 44, 45, 49, 53, 56, 57, 70, 88, 113, 114, 115, 117, 120], "tupl": [18, 28, 96, 114], "dictionari": [18, 27, 28, 37, 38, 48, 67, 111, 112, 114], "argument": [18, 27, 28, 35, 38, 66, 68, 74, 79, 108, 112, 114, 116], "z": [18, 47, 49, 72, 118], "easier": [18, 65, 77, 109, 111, 114, 115, 121, 124], "workflow_id": [19, 20, 70, 86], "smooth": 19, "soon": [19, 39, 56, 64, 65, 72, 76, 80, 82, 91, 108, 118], "resolv": [19, 39, 44, 51, 76, 110], "applic": [19, 20, 23, 40, 49, 52, 64, 69, 70, 74, 80, 89, 112, 116, 121], "dashboard": [19, 40], "pam": 19, "password": 19, "go": [19, 21, 49, 57, 70, 89, 115, 120, 123], "grant": [19, 41, 48, 96], "permiss": [19, 39, 41, 44, 48], "administr": [19, 40, 41, 44, 96, 109], "author": [19, 22, 41, 42, 48, 78], "page": [19, 23, 42, 44, 71, 121, 124], "even": [19, 34, 43, 54, 61, 70, 76, 80, 86, 90, 92, 94, 96, 105, 116, 118, 120, 121, 123], "determin": [19, 21, 38, 39, 44, 48, 49, 50, 79, 81, 86, 96, 107, 108, 110, 112, 115, 116, 118, 121, 123], "wide": [20, 65, 110, 114, 123], "understood": [20, 121], "sever": [20, 49, 70, 71, 79, 88, 89, 107, 110, 111, 112, 115, 116, 118, 119, 120, 121], "core": [20, 23, 25, 40, 44, 123], "concept": [20, 80], "daemon": [20, 21, 98, 112], "box": [20, 21, 23, 76, 121, 123], "proof": 20, "advantag": [20, 50, 121], "sure": [20, 49, 81, 89, 120, 121], "shorthand": [20, 44, 45, 49, 73, 75, 118], "notat": [20, 21, 43, 46, 49, 74, 112, 114, 115], "refer": [20, 21, 22, 24, 33, 35, 39, 43, 46, 47, 49, 54, 56, 57, 60, 65, 66, 68, 73, 74, 76, 81, 95, 96, 108, 110, 112, 116, 118, 121, 123, 124], "sub": [20, 21, 38, 43, 44, 46, 49, 50, 60, 70, 74, 79, 85, 89, 107, 109, 112, 114, 116, 121, 123], "suite_nam": [20, 49, 112], "becom": [20, 49, 50, 60, 115, 118, 121, 123], "reload": [20, 21, 49, 78, 85, 96], "fresh": [20, 79], "subsequ": [20, 44, 49, 60, 86, 89, 107, 114, 118], "actual": [20, 21, 49, 56, 70, 80, 81, 89, 108, 116, 118, 123], "intervent": [20, 21, 44, 49, 92, 94, 118], "noth": [20, 38, 57, 70, 86, 94, 118, 120], "shut": [20, 21, 30, 31, 32, 33, 44, 49, 71, 86, 89, 94, 117, 118], "down": [20, 21, 30, 31, 32, 33, 43, 44, 49, 52, 57, 59, 71, 86, 89, 94, 108, 109, 116, 117, 118], "correctli": [20, 23, 56, 60, 65, 84, 89, 95, 108, 118, 120], "diagnos": [20, 118, 121], "choos": [20, 23, 44, 49, 86, 96, 107, 124], "unavail": [20, 28, 50, 71], "belong": [20, 21, 54, 56, 66, 76, 86, 92, 116], "cleanli": [20, 31, 32, 33, 89, 123], "demo": [20, 60, 112], "oliverh": 20, "oliv": 20, "niwa": [20, 64, 123], "pid": [20, 28, 108, 116], "6702": 20, "increment": [20, 21, 40, 49, 54, 62, 70, 79, 86, 108, 115, 116, 118, 121], "disk": [20, 44, 50, 79, 89], "space": [20, 24, 43, 44, 47, 49, 50, 74, 79, 89, 110, 114, 116, 118, 121, 124], "per": [20, 21, 39, 44, 50, 70, 71, 79, 82, 89, 93, 96, 112, 117, 118, 123, 124], "basi": [20, 21, 23, 39, 96], "level": [20, 21, 37, 43, 44, 46, 48, 49, 74, 88, 89, 96, 107, 112, 114, 116, 117, 118, 120, 121, 124], "fundament": 20, "assort": 20, "noteworthi": 20, "minor": [20, 52, 120, 121], "runahead": [20, 21, 49, 76, 91, 92, 110], "increas": [20, 33], "five": [20, 112, 121, 124], "queue": [20, 21, 32, 39, 42, 49, 58, 63, 84, 86, 91, 92, 100, 108], "intern": [20, 21, 39, 44, 49, 59, 64, 91, 92, 107, 108, 124], "restrict": [20, 49, 96, 109, 118, 122], "situat": [20, 55, 118], "affect": [20, 21, 44, 86, 116, 118, 120, 123, 124], "further": [20, 21, 22, 37, 53, 63, 75, 82, 120, 122], "packag": [20, 23, 48, 53, 111], "conda": [20, 22, 53], "forg": [20, 23, 52], "pypi": [20, 23], "virtual": [20, 23, 96, 119], "n": [21, 27, 38, 44, 49, 55, 56, 59, 85, 92, 108, 112, 114, 118, 120], "accord": [21, 48, 49, 64, 72, 80, 89, 94, 108, 115, 118, 121], "mechan": [21, 43, 44, 49, 107, 112, 114, 121], "clock": [21, 49, 58, 63, 72, 75, 80, 87, 91, 92, 113, 116, 122, 123], "artifici": [21, 80, 87, 90, 118], "reflect": [21, 49, 95, 116, 120, 124], "sometim": [21, 35, 72, 80, 112, 116, 118, 121, 123], "muddi": 21, "constrain": [21, 49, 72, 80, 118], "intercycl": [21, 75, 80, 115, 121], "p1": [21, 72, 76, 86, 89, 112, 118], "outcom": [21, 57, 118], "join": [21, 118], "togeth": [21, 44, 50, 65, 67, 74, 75, 79, 112, 116, 118], "wallclock": [21, 49, 56, 108, 112, 118, 121], "datetim": [21, 49, 51, 54, 56, 63, 73, 75, 76, 89, 110, 112, 114, 115, 116], "plu": [21, 47, 72, 114, 118, 121, 123], "minu": [21, 47, 114], "tutori": [21, 22, 23, 49, 57, 58, 59, 61, 62, 65, 66, 70, 71, 73, 74, 83], "hasn": 21, "unbound": 21, "treat": [21, 50, 65, 109], "warm": [21, 89, 118], "upstream": [21, 60, 76, 89, 112, 118], "record": [21, 24, 26, 27, 60, 70, 79, 81, 84, 88, 89, 90, 95, 108], "tcp": [21, 38, 44, 82, 85, 116], "port": [21, 24, 38, 44, 49, 82, 88, 89, 93, 116, 117], "client": [21, 36, 44, 52, 78, 85, 88, 89, 93, 112], "startup": [21, 35, 44, 49, 56, 71, 110, 116, 117], "delai": [21, 29, 44, 49, 54, 62, 71, 80, 84, 86, 87, 93, 107, 108, 110, 115, 116, 121], "notic": [21, 56, 57, 70, 86, 112], "di": 21, "uncontrol": 21, "behind": [21, 49, 86, 91, 116, 118, 123], "finish": [21, 44, 49, 57, 60, 65, 70, 71, 73, 80, 89, 92, 93, 94, 107, 108, 112, 116, 117, 121], "send": [21, 28, 38, 39, 44, 49, 60, 84, 107, 112, 116, 117, 118], "out1": [21, 49, 60, 118], "out2": [21, 49, 118], "repetit": [21, 66, 76, 80, 118], "string": [21, 27, 28, 37, 38, 43, 44, 47, 49, 54, 68, 76, 107, 108, 112, 114, 115, 116, 117, 120, 121, 123], "sequenc": [21, 49, 72, 76, 85, 93, 112, 118], "recurr": [21, 49, 51, 55, 75, 110], "pattern": [21, 28, 37, 38, 42, 44, 50, 64, 79, 80, 81, 96, 110, 116, 117, 121], "impos": 21, "loop": [21, 22, 25, 32, 38, 44, 49, 67, 68, 80, 111, 114, 121], "over": [21, 23, 33, 37, 44, 49, 51, 52, 59, 62, 67, 68, 89, 96, 107, 108, 109, 110, 112, 114, 115, 116, 120, 121, 122, 123, 124], "advanc": [21, 22, 28, 45, 73, 76, 80, 86, 121, 122], "dot": 21, "label": [21, 49, 72, 73, 76, 112, 118], "given": [21, 37, 44, 49, 50, 61, 72, 76, 86, 89, 91, 96, 112, 115, 116, 118, 124], "iso": [21, 49, 114, 118], "8601": [21, 49, 114, 118], "01t00": [21, 47, 49, 70, 72, 118, 121], "00z": [21, 47, 49, 70, 72, 118], "final": [21, 24, 33, 44, 49, 54, 56, 60, 62, 68, 70, 71, 76, 85, 86, 88, 92, 107, 108, 111, 112, 114, 115, 116, 123], "top": [21, 37, 42, 44, 49, 59, 67, 70, 86, 89, 91, 96, 100, 101, 102, 103, 104, 105, 107, 110, 112, 114, 115, 116, 120], "symlink": [21, 44, 45, 49, 70, 78, 89, 116, 121, 123], "confus": [21, 49, 68, 79, 124], "p3d": [21, 118], "third": [21, 49, 55, 62, 70, 76, 110], "dai": [21, 47, 49, 56, 72, 73, 114, 118], "request": [21, 37, 38, 39, 51, 90, 121, 123], "resourc": [21, 23, 44, 49, 64, 65, 70, 71, 80, 84, 89, 90, 93, 105, 110, 114, 117, 118, 121, 123], "memori": [21, 33, 39, 71, 116, 117, 118, 123], "count": [21, 31, 44, 49, 76, 112, 118], "mileston": 21, "lifecycl": 21, "hook": [21, 88, 110], "attach": [21, 29, 38, 60, 118], "handler": [21, 23, 28, 44, 49, 51, 84, 94, 107, 108, 110], "receiv": [21, 36, 38, 39, 49, 88, 107, 108, 109, 112, 116], "critic": [21, 49, 88, 107, 110, 116], "exact": [21, 107, 118], "unit": [21, 49, 50, 72, 114, 118], "posit": [21, 49, 112, 115, 118], "calendar": [21, 49, 54, 75, 116, 118], "si": 21, "minut": [21, 35, 47, 49, 62, 65, 68, 71, 72, 89, 93, 100, 107, 108, 114, 116, 118], "60": [21, 65, 68, 102, 103, 105, 114], "hour": [21, 34, 47, 49, 55, 56, 62, 68, 71, 72, 73, 94, 112, 114, 116, 118], "24": [21, 104, 114], "week": [21, 72, 114, 118], "although": [21, 24, 51, 112], "inexact": [21, 118], "daylight": [21, 72], "save": [21, 23, 26, 34, 42, 48, 56, 57, 60, 71, 72, 123, 124], "leap": [21, 49, 73, 118], "maintain": [21, 22, 25, 39, 44, 49, 52, 66, 88, 95, 111, 121, 122, 123], "deliv": [21, 119], "repeatedli": [21, 44, 49, 93, 107, 112, 118, 121], "suppli": [21, 79, 112, 114, 120], "built": [21, 28, 44, 49, 56, 60, 70, 107, 108, 110, 113, 114, 115, 120, 121, 123], "famili": [21, 42, 49, 54, 58, 59, 63, 66, 67, 68, 69, 80, 108, 110, 112, 113, 114, 121, 122, 123, 124], "convent": [21, 59, 65, 72, 112, 121, 122], "upper": [21, 44, 59, 65], "except": [21, 35, 38, 43, 48, 49, 59, 74, 86, 96, 112, 113, 118, 123], "inherit": [21, 28, 44, 49, 51, 57, 58, 61, 63, 65, 96, 110, 111, 112, 113, 114, 115, 118, 123, 124], "qualifi": [21, 57, 60, 65, 75, 112, 118, 120], "member": [21, 48, 49, 57, 61, 64, 65, 96, 112, 114, 115, 116, 117, 118, 120, 121, 122, 123, 124], "met": [21, 27, 54, 64, 70, 72, 73, 76, 116, 118, 122, 123], "commonli": [21, 65, 118], "last": [21, 44, 48, 49, 66, 70, 71, 72, 93, 107, 112, 114, 115, 118, 121], "self": [21, 38, 39, 44, 47, 51, 86, 96, 112, 118, 122], "propag": [21, 114], "through": [21, 37, 39, 44, 49, 55, 57, 66, 70, 76, 80, 86, 96, 107, 118, 121], "front": [21, 72, 86, 119], "compris": 21, "merg": [21, 43, 74, 85, 89, 123], "tri": [21, 34, 54, 62, 107, 112, 116], "child": [21, 86], "carri": [21, 50, 71, 77, 86, 89, 118], "forward": [21, 44, 86, 93], "parent": [21, 29, 38, 44, 49, 76, 86, 89, 107, 113, 120], "cylc_task_flow_numb": [21, 54, 116], "higher": [21, 23, 44, 48, 49, 118, 120, 121], "pt12h": [21, 72, 118, 121], "associ": [21, 33, 59, 60, 69, 70, 71, 80, 86, 87, 108, 112, 113, 116, 117, 118, 123], "daili": [21, 49, 73, 112, 118], "pub": [21, 29, 68], "qux": [21, 43, 68, 100, 112, 118, 124], "bool": [21, 28, 37, 48], "email": [21, 23, 44, 49, 60, 117], "unpaus": 21, "exit": [21, 28, 49, 62, 70, 93, 107, 109, 112, 116, 118, 121, 124], "anyth": [21, 23, 44, 49, 71, 107, 112, 118, 121], "placehold": [21, 116, 118], "accident": 21, "simpli": [21, 39, 49, 51, 60, 62, 70, 81, 112, 114, 116, 118, 121, 123], "misspel": [21, 116], "eof": 21, "earlier": [21, 24, 49, 76, 86, 89, 107, 115, 118, 119, 121, 122, 123], "known": [21, 38, 59, 62, 100, 101, 102, 103, 104, 105, 108, 116, 118, 121], "nake": 21, "dummi": [21, 49, 72, 80, 90, 116, 118], "pend": [21, 112, 118], "nomin": 21, "gregorian": [21, 49, 54, 73, 116, 118], "year": [21, 47, 49, 72, 73, 114, 115, 118], "365": [21, 49, 73, 118], "366": [21, 49, 73, 118], "whether": [21, 28, 44, 49, 57, 87, 112, 118], "month": [21, 49, 72, 73, 115, 118], "28": [21, 108], "31": [21, 118], "normal": [21, 29, 32, 44, 49, 70, 71, 80, 84, 89, 93, 107, 108, 112, 116, 118, 119, 121, 123], "p3": [21, 49, 76, 118], "iso8601": [21, 47, 49, 51, 56, 71, 75, 114, 116], "wikipedia": [21, 64, 80, 95], "organis": [21, 51, 93], "standardis": 21, "date": [21, 47, 55, 71, 72, 81, 110, 112, 114, 115, 116, 121], "midnight": [21, 49, 72, 118], "1st": [21, 49, 72, 73, 118], "januari": [21, 49, 56, 72, 73, 118], "pt1h30m": [21, 49, 72], "thirti": 21, "prepar": [21, 42, 70, 79, 91, 92], "node_1": 21, "my_hpc": 21, "solver": [21, 23], "node_2": 21, "store": [21, 24, 31, 34, 38, 39, 49, 70, 79, 89, 112, 116, 117, 118], "stdout": [21, 23, 28, 44, 70, 97, 112, 116], "err": [21, 28, 44, 49, 70, 107, 108], "stderr": [21, 28, 44, 49, 97, 112, 116], "statu": [21, 26, 39, 42, 44, 49, 70, 78, 84, 85, 107, 108, 109, 112, 116, 117, 119, 121], "lost": [21, 81], "xtrace": [21, 44], "captur": 21, "num": [21, 49, 70], "cat": [21, 43, 44, 70, 79, 107, 108, 112, 114, 115, 124], "variou": [21, 23, 107, 116, 121], "retrigg": [21, 86, 118, 121], "breviti": [21, 72], "proc": [21, 107, 112, 115, 118], "primarili": [21, 70, 88, 121], "program": [21, 23, 28, 44, 69, 80, 89, 108, 121, 124], "colon": [21, 72, 81], "exactli": [21, 38, 60, 89, 108, 110, 116, 120, 121], "prevent": [21, 29, 44, 49, 60, 68, 87, 91, 96, 107, 108, 114, 118], "busi": [21, 64, 80], "swamp": [21, 61], "too": [21, 23, 43, 49, 61, 70, 71, 76, 80, 91, 95, 108, 110, 112, 115, 116, 118, 121, 123, 124], "simpler": [21, 96, 114, 115], "made": [21, 42, 44, 56, 70, 79, 112, 118, 121, 123], "redon": [21, 89], "adopt": 21, "orphan": [21, 89], "failur": [21, 27, 34, 44, 49, 50, 62, 64, 71, 93, 113, 122], "return": [21, 27, 28, 29, 37, 38, 44, 49, 62, 70, 71, 73, 79, 84, 87, 89, 96, 107, 108, 112, 114, 116, 117, 118, 121], "cylc_task_try_numb": [21, 49, 54, 62, 116, 121], "cylc_workflow_run_dir": [21, 54, 65, 71, 110, 114, 116], "maximum": [21, 37, 44, 47, 48, 49, 80, 96, 108, 112, 118, 121, 124], "consecut": [21, 49, 118], "cheddar": 21, "chees": [21, 116], "snippet": [21, 80, 116], "color": [21, 116], "yellow": 21, "hierarchi": [21, 44, 48, 49, 51, 110, 118, 121, 122], "comma": [21, 43, 44, 47, 49, 59, 62, 116], "respons": [21, 38, 39, 40, 61, 89, 123], "track": [21, 78, 85, 108], "listen": [21, 38, 82], "queri": [21, 37, 39, 70, 84, 109, 123], "potenti": [21, 93, 107, 118], "won": [21, 110], "hidden": [21, 112, 123], "cylc_workflow_share_dir": [21, 54, 55, 110, 112, 114, 116, 121], "stai": [21, 94, 116], "unexpect": [21, 55, 117], "haven": [21, 71, 121], "cylc_task_submit_numb": [21, 49, 54, 116], "overwritten": [21, 59, 74, 118], "denot": [21, 96, 115, 118], "exclam": [21, 29, 118], "rare": [21, 119], "edg": [21, 92, 119, 120], "behalf": [21, 41, 96], "parameter": [21, 49, 66, 69, 112, 113, 114, 121], "consolid": [21, 63, 65, 67, 68, 69, 70, 72, 114], "m": [21, 26, 47, 49, 72, 114, 115, 118, 120, 124], "seri": [21, 107], "lifetim": [21, 83, 116, 117], "commenc": [21, 50, 112], "said": [21, 118], "report": [21, 28, 31, 32, 33, 44, 49, 57, 60, 89, 93, 94, 95, 98, 107, 108, 112, 121, 123], "cylc_task_work_dir": [21, 49, 54, 71, 116], "posix": [21, 44, 49], "govern": 21, "beer": 21, "brew": [21, 23, 87], "malt": 21, "mash": 21, "sparg": 21, "boil": 21, "chill": 21, "ferment": 21, "rack": 21, "deem": 21, "rel": [21, 37, 38, 43, 49, 72, 73, 79, 112, 116], "unlik": [21, 44, 49, 108, 112, 115, 118], "despit": [21, 87], "my_workflow": [21, 24, 70], "timestamp": [21, 44, 49, 88], "cylc_workflow_nam": [21, 54, 114, 116], "silk": [22, 64, 80], "engin": [22, 40, 64, 80, 104, 107], "orchestr": [22, 38, 64, 80], "distribut": [22, 23, 112, 123], "interdepend": [22, 80, 122], "indefinit": [22, 86], "non": [22, 24, 28, 29, 44, 49, 65, 73, 74, 80, 93, 107, 108, 109, 110, 112, 114, 116, 119, 121, 122, 123], "On": [22, 71, 82, 100, 113, 114, 120], "mac": 22, "introduct": [22, 63, 69, 74, 78], "topic": [22, 63, 118, 121, 122], "main": [22, 25, 32, 40, 44, 49, 61, 72, 79, 86, 112, 115, 118, 120, 121, 123, 124], "method": [22, 25, 37, 38, 39, 44, 49, 54, 66, 67, 93, 96, 97, 107, 112, 114, 116, 121], "style": [22, 28, 112, 116, 117, 118, 121, 122], "guidelin": [22, 122], "principl": [22, 122], "portabl": [22, 114, 121, 122], "api": [22, 38, 53, 65, 71, 96], "histori": [22, 53, 95, 110, 124], "glossari": 22, "softwar": 23, "quickli": [23, 44, 49, 80, 112, 116, 117], "unix": [23, 28, 96, 98, 99], "linux": [23, 105, 112], "fast": [23, 35, 37, 49, 80, 112, 123], "mamba": 23, "drop": 23, "classic": [23, 118], "slow": [23, 33, 43, 44, 89, 116], "browser": [23, 39, 40, 41, 44, 71, 96], "uiserv": [23, 42, 48, 53, 96], "9": [23, 37, 44, 49, 108, 112, 114, 115, 118], "conflict": 23, "inadvert": 23, "break": [23, 43, 112, 118, 121, 123], "preced": [23, 48, 49, 72, 96, 116, 120, 124], "central": [23, 96], "librari": [23, 28, 49, 89, 95, 110, 112, 116, 121], "nodej": 23, "proxi": [23, 40, 41, 52, 115], "gnu": [23, 44], "coreutil": 23, "mail": [23, 44, 49, 56, 60, 110, 116], "autom": [23, 49, 122], "setup": [23, 27, 35, 40, 50, 52, 90, 96, 111, 114], "homebrew": 23, "sed": [23, 124], "prepend": [23, 48, 49, 60, 70], "atrun": 23, "reason": [23, 34, 38, 44, 49, 62, 71, 93, 94, 109, 110, 111, 114, 115, 116, 117, 121], "enabl": [23, 39, 44, 49, 55, 56, 64, 67, 70, 79, 80, 93, 96, 111, 117], "newer": [23, 49, 112], "zsh": 23, "oppos": [23, 35, 76], "awar": [23, 73, 93, 118, 123], "subtli": [23, 66], "10": [23, 44, 47, 48, 56, 60, 62, 71, 80, 89, 90, 93, 101, 105, 107, 108, 112, 114, 115, 116, 118, 120], "15": [23, 44, 62, 71, 108, 112, 118], "catalina": 23, "disabl": [23, 49, 70, 93, 110, 116], "appl": 23, "split": [23, 43, 61, 80, 115, 121], "kernel": 23, "along": [23, 70, 71, 112], "fall": [23, 96], "role": 23, "supercomput": [23, 44, 111, 114], "cluster": [23, 109, 112], "overlap": [23, 118, 120], "wrapper": [23, 24, 38, 44, 109, 121], "come": [23, 52, 86, 112, 122], "extract": [23, 27, 28, 32, 37], "chmod": [23, 44, 60], "modifi": [23, 28, 55, 56, 59, 60, 85, 107, 108, 114, 120, 121], "cylc_home_root": 23, "opt": [23, 24, 27, 123], "cylc_home_root_alt": 23, "env": [23, 24, 27, 28, 49, 60, 107, 121], "wish": [23, 49, 50, 79, 89, 96, 116, 118], "rosi": 23, "link": [23, 40, 44, 49, 123], "ln": 23, "sane": 23, "thing": [23, 26, 60, 76, 115, 118], "guidanc": [23, 122], "storag": [23, 39], "manipul": [23, 49, 106], "invok": [23, 38, 44, 49, 82, 93, 110, 116, 117, 121], "fuller": [24, 44, 70], "permit": [24, 48, 49, 66, 79, 96, 110], "export": [24, 27, 28, 49, 50, 54, 112, 115, 116], "destin": [24, 27, 114, 116], "eas": [24, 121], "rose_orig_host": 24, "produc": [24, 60, 71, 73, 88, 118, 121], "inconsist": [24, 30], "rose_vers": [24, 110], "rose2019": 24, "ignor": [24, 28, 43, 56, 57, 62, 71, 74, 76, 89, 90, 107, 108, 110, 112, 115, 118, 120, 123, 124], "put": [24, 49, 61, 65, 67, 75, 100, 112, 114, 118, 121, 123, 124], "cylc_run_dir": [24, 50, 112], "workflow_nam": [24, 28, 112], "mar": 24, "2020": [24, 81, 115, 118, 121], "hello_": 24, "hello_mar": 24, "fcm": 24, "around": [24, 49, 76, 114], "team": 25, "repositori": 26, "git": [26, 79], "svn": [26, 79], "vc": 26, "json": [26, 27, 31, 39], "repo": 26, "dirti": 26, "commit": 26, "e5dc6573dd70cabd8f973d1535c17c29c026d553": 26, "sh": [26, 49, 60, 107, 112, 116, 121, 123], "url": [26, 41, 44, 49, 96, 110, 116, 117, 122], "trunk": [26, 86, 123], "uuid": [26, 54, 110, 116, 117], "219f5687": 26, "8eb8": 26, "44b1": 26, "beb6": 26, "e8220fa964d3": 26, "revis": [26, 124], "14": [26, 70, 114, 115, 118], "readm": 26, "txt": [26, 60, 71, 79, 124], "uncommit": 26, "untrack": 26, "util": [27, 39, 41, 49, 74, 105, 114, 121], "entri": [27, 35, 37, 55, 110, 112, 118], "setuptool": [27, 35], "info": [27, 28, 35, 81, 88, 117], "my_plugin": [27, 35], "py": [27, 28, 35, 48, 70, 96, 114, 116], "def": [27, 35, 70, 112], "srcdir": 27, "rundir": 27, "f": [27, 35, 37, 40, 44, 49, 74, 76, 107, 108, 112, 118], "properli": [27, 35, 93, 120], "pythonpath": [27, 28, 35, 49, 69, 110, 116], "meddl": [27, 35], "py_modul": [27, 35], "entry_point": [27, 35], "optpars": 27, "template_vari": 27, "templating_detect": 27, "languag": [27, 39, 49, 110, 111], "shebang": [27, 67, 110], "pathlib": 27, "template_fil": 27, "retriev": [27, 44, 49, 50, 72, 112, 118], "load": [27, 29, 38, 44, 48, 49, 114, 116, 120, 123, 124], "read_text": 27, "programmat": [27, 111, 114, 115, 116], "plugin_set_var": 27, "str": [27, 28, 37, 38, 96, 114], "__file__": 27, "dict": [27, 28, 37, 38, 48], "write_text": 27, "simpl": [27, 38, 56, 71, 74, 76, 81, 90, 105, 112, 115, 118, 121], "reader": [27, 95], "class": [28, 38, 48, 49, 79, 96, 107, 112, 114, 116, 123], "job_runner_handl": 28, "examplehandl": 28, "aka": [28, 49, 124], "littl": [28, 49, 80, 111, 112, 116, 121], "anywher": [28, 49, 86, 112, 114, 115, 116, 117, 124], "singleton": 28, "my_handl": 28, "myhandl": 28, "instanti": [28, 38], "my_platform": [28, 93], "my_task": [28, 100, 101, 102, 103, 104, 105, 124], "job_conf": 28, "field": [28, 37, 64], "execution_time_limit": 28, "flow_num": 28, "init": [28, 31, 32, 33, 39, 44, 49, 50, 59, 89, 90, 107, 112, 115, 120], "job_d": 28, "job_file_path": 28, "job_runner_command_templ": 28, "job_runner_nam": [28, 110, 116], "namespace_hierarchi": 28, "param_var": 28, "submit_num": [28, 95, 116], "task_id": 28, "try_num": [28, 116], "uuid_str": 28, "work_d": 28, "submit_opt": 28, "job_runner_cmd_tmpl": 28, "qsub": [28, 103, 104, 107, 108], "prefix": [28, 49, 68, 72, 105, 106, 114, 116, 119], "usr": [28, 33, 44, 60], "python3": 28, "pbshandler": 28, "qsubhandl": 28, "directive_prefix": 28, "myhosta": 28, "myhostb": 28, "accept": [28, 38, 44, 49, 50, 79], "pt1m": [28, 44, 47, 49, 93, 102, 103, 107, 108, 114], "q": [28, 101, 102, 103, 104, 118], "v": [28, 33, 44, 59, 85, 102, 103, 108, 118, 120, 121, 123], "subclass": [28, 35], "fail_sign": 28, "signal": [28, 49, 84, 107, 108, 116], "trap": [28, 44, 49, 70, 100, 107, 116], "xcpu": 28, "prematur": 28, "unset": [28, 50, 110], "kill_cmd_tmpl": 28, "job_runn": 28, "job_id": [28, 44, 108, 110, 116], "doc": [28, 57], "org": 28, "stdtype": 28, "html": [28, 48, 49, 65, 71], "printf": [28, 56], "poll_cant_connect_err": 28, "commun": [28, 38, 39, 44, 49, 50, 51, 54, 55, 70, 82, 83, 85, 89, 90, 107, 112, 116], "zero": [28, 29, 44, 49, 72, 73, 107, 110, 112, 116, 118, 121], "trust": [28, 93], "ok": [28, 44, 116, 118], "poll_cmd": 28, "invalid": [28, 49, 79, 114], "filter_poll_many_output": 28, "build": [28, 48, 72, 76, 123], "get_poll_many_cmd": 28, "rec_id_from_submit_err": 28, "rec_id_from_submit_out": 28, "compil": 28, "should_kill_proc_group": 28, "necessari": [28, 38, 43, 44, 49, 56, 57, 73, 84, 86, 89, 96, 108, 110, 112, 116, 118, 120, 123], "physic": 28, "should_poll_proc_group": 28, "submit_cmd_env": 28, "iter": [28, 37, 80, 120], "submit_cmd_tmpl": 28, "arg": [28, 37, 38, 47, 96, 112, 114], "filter_submit_output": 28, "new_out": 28, "new_err": 28, "format_direct": 28, "append": [28, 44], "relev": [28, 39, 49, 59, 68, 70, 90, 108, 116, 121, 123], "job_id_list": 28, "get_submit_stdin": 28, "element": [28, 38], "proc_stdin_arg": 28, "proc_stdin_valu": 28, "stdin": 28, "subprocess": [28, 44, 117], "popen": 28, "pipe": [28, 37, 97, 114, 121], "content": [28, 38, 49, 66, 79, 107, 108, 121, 122], "get_vacation_sign": 28, "vacat": [28, 84, 100, 116], "manip_job_id": 28, "int": [28, 37, 38, 48, 114, 115], "object": [28, 31, 33, 38, 39, 114], "beyond": [28, 44, 49, 57, 118, 121], "shell": [28, 44, 49, 54, 107, 110, 114, 116, 121], "ret_cod": 28, "bad": [29, 34, 44, 66, 86, 116, 118, 120, 121, 124], "condemn": [29, 44, 117], "taken": [29, 49, 79, 89, 117, 118, 119, 123], "auto": [29, 35, 44, 49, 117], "safeti": [29, 44, 107, 118], "filesystem": [29, 37, 39, 40, 41, 44, 48, 50, 70, 81, 96, 109, 113, 121], "forc": [29, 73, 76, 110], "suffix": [29, 76, 105, 115, 124], "immedi": [29, 44, 49, 70, 86, 107, 117, 118, 123], "reject": [29, 71, 93], "127": [29, 47], "simultan": [29, 41, 44, 49], "period": [29, 34, 35, 44, 62, 72, 93, 112, 118], "random": [29, 44, 49, 55, 57, 60, 62, 112, 118], "detach": [29, 97, 112], "therefor": [29, 50, 107, 112, 117, 120, 121, 123], "abort": [29, 35, 44, 49, 85, 94, 97, 110, 114, 117, 121], "coroutin": [29, 30, 31, 32, 33, 34], "async": [29, 30, 31, 32, 33, 34, 35, 37, 38], "_": [29, 30, 32, 34, 49, 79, 111, 112, 114, 124], "health": [30, 35, 44, 110], "size": [31, 44, 49, 93, 115, 117, 123], "matplotlib": [31, 32, 33], "plot": [31, 32, 33, 49, 120], "pdf": [31, 32, 33], "construct": [31, 37, 108, 114, 115, 118, 120, 121], "dump": [31, 33, 49, 124], "length": [32, 44, 49, 85, 108, 110, 112, 114, 122], "accumul": [32, 108, 123], "recent": [32, 52, 70, 86, 114], "interest": [33, 52, 60], "profil": [33, 44, 48], "pympler": 33, "amount": [33, 111, 112], "jitter": 33, "swapper": 33, "watch": [33, 57, 112, 119], "decreas": 33, "significantli": [33, 118, 123], "calcul": [33, 49, 118], "interv": [33, 34, 35, 44, 47, 48, 49, 60, 65, 72, 80, 93, 108, 110, 112, 115, 116, 121], "snapshot": 33, "take_snapshot": 33, "unabl": [34, 48, 79, 96, 108], "clear": [34, 44, 49, 83, 118, 120, 121, 122, 124], "reach": [34, 44, 49, 56, 57, 70, 71, 89, 107, 108, 118], "unreach": [34, 44], "transitori": 34, "empti": [34, 48, 70, 116, 121], "bad_host": 34, "pt5m": [35, 44, 49, 118, 121], "5": [35, 44, 47, 48, 49, 51, 57, 60, 62, 65, 68, 71, 76, 86, 89, 93, 105, 112, 114, 115, 116, 117, 118, 120, 121], "asynchron": [35, 37, 38, 112], "main_loop": [35, 44], "my_startup_coroutin": 35, "schd": [35, 38], "cfg": 35, "gentl": 35, "io": 35, "shouldn": [35, 123], "parallel": [35, 112, 118, 120, 123], "decor": [35, 38], "choic": [35, 49], "fcn": 35, "signatur": [35, 47, 49, 112], "plugin_st": 35, "caught": [35, 49, 56], "cylcerror": 35, "rais": [35, 38, 113, 116, 118, 123], "mainlooppluginexcept": 35, "filter_nam": [36, 37], "is_act": [36, 37], "contact_info": [36, 37], "api_vers": [36, 37], "graphql_queri": [36, 37], "titl": [36, 37, 49, 59, 60, 110, 111, 112, 114, 116, 118, 122], "workflow_param": [36, 37], "workflowruntimecli": [36, 38], "serial_request": [36, 38], "async_request": [36, 38], "workflowruntimeserv": [36, 38], "graphql": [36, 37, 38, 88, 96], "pb_data_el": [36, 38], "pb_entire_workflow": [36, 38], "publish_queued_item": [36, 38], "register_endpoint": [36, 38], "yield": 37, "cylc_workflow_host": [37, 44, 54, 110, 116], "omit": [37, 49, 50, 72, 79, 112, 113, 115], "transform": [37, 64, 80], "acquir": 37, "network": [37, 38, 44, 49, 50, 51, 52, 53, 62, 71, 72, 82, 107, 108, 109, 121], "run_dir": [37, 107], "scan_dir": 37, "max_depth": 37, "asyncgener": 37, "subdir": 37, "descend": [37, 49], "bail": [37, 38], "One": [37, 86, 97, 121], "presenc": [37, 94], "fals": [37, 43, 44, 47, 48, 49, 54, 57, 59, 107, 112, 114, 116, 121], "unregist": 37, "pep": 37, "440": 37, "obtain": [37, 110], "meta": [37, 38, 44, 49, 50, 59, 60, 110, 111, 112, 114, 116, 117, 118, 124], "dumb": 37, "prefer": [37, 60, 89, 93, 111, 112, 118, 120, 121], "zeromq": 38, "protocol": [38, 40, 93], "ping_workflow": 38, "endpoint": 38, "timeout": [38, 44, 49, 94, 98, 99, 107, 110, 116, 117, 121], "context": [38, 49, 113, 118, 122, 124], "srv_public_key_loc": 38, "req": 38, "zmq": [38, 44, 93], "rep": 38, "socket": 38, "bound": [38, 115, 118], "zmqclient": 38, "default_timeout": 38, "overridden": [38, 44, 49, 79, 96, 108, 114, 115, 118], "attribut": [38, 44, 112], "timeout_handl": 38, "clienttimeout": 38, "header": [38, 95], "__call__": 38, "msg": 38, "cmd": 38, "workflowstop": 38, "req_meta": 38, "arriv": [38, 59, 112, 121], "clienterror": 38, "coveral": 38, "auth": [38, 96], "asyncio": 38, "facad": 38, "expos": [38, 51, 86, 96, 112, 123], "coordin": 38, "publish": [38, 52, 86], "replier": 38, "incom": [38, 112], "20000101t0000z": [38, 70], "glob": [38, 81, 96, 110], "_kwarg": 38, "callabl": 38, "request_str": 38, "schema": [38, 39, 96], "graphen": 38, "element_typ": 38, "byte": [38, 44], "delta": [38, 39], "deltas_map": 38, "serialis": 38, "protobuf": 38, "queu": [38, 49, 91, 118], "dispatch": 38, "stream": [38, 44, 108, 112, 116], "barrier": [38, 80, 111, 123], "baseexcept": 38, "thread": [38, 51], "synchronis": 39, "scheme": 39, "curvezmq": [39, 82], "purpos": [39, 41, 48, 54, 64, 112, 115, 116, 120, 121], "certif": 39, "jupyt": [39, 40, 44, 48, 52, 78], "intend": [39, 40, 49, 81, 88, 92, 93, 112, 121, 124], "face": [39, 52, 91], "mutat": [39, 48, 96], "back": [39, 44, 49, 57, 66, 70, 76, 81, 89, 91, 93, 96, 100, 107, 108, 118, 121, 123], "subcommand": 39, "map": [39, 48, 65, 71, 96], "onto": [39, 52, 72, 79, 96], "sqlite3": [39, 95], "crash": 39, "resili": 39, "subscript": 39, "subscrib": 39, "flat": [39, 112], "lookup": 39, "index": [39, 48, 49, 115], "duplic": [39, 43, 49, 57, 66, 67, 75, 89, 116, 118, 120, 121, 123], "hierarch": 39, "apollo": 39, "session": 39, "fetch": [39, 50, 72], "serial": [39, 120, 123], "sent": [39, 44, 49, 60, 82, 88, 107, 116, 117, 118], "push": [39, 40, 49, 113], "vuex": 39, "w": [39, 72, 101, 107, 114, 118], "channel": [39, 53], "open": [39, 42, 44, 56, 57, 60, 65, 70, 71, 93, 96, 114], "ack": 39, "acknowledg": 39, "proce": [39, 121], "establish": 39, "cancel": 39, "depth": [40, 44, 116], "compon": [40, 44, 52, 72, 96, 97, 105, 121, 124], "panel": 40, "desktop": [40, 44, 50, 116], "tabl": [40, 70, 79, 95, 112], "mobil": 40, "tab": [40, 70, 110, 122], "serv": [40, 48], "privileg": [40, 41, 48, 96], "prove": 40, "jupyterhub": [40, 52, 96], "transport": 40, "offlin": 41, "lab": [41, 96], "infrastructur": [41, 122], "varieti": [41, 64, 96], "visit": 41, "deriv": [41, 49, 121], "technic": [41, 72, 96, 97, 115, 116, 120, 121, 122, 123], "signific": [42, 44, 49, 123], "changelog": 42, "todo": [42, 56], "utilis": [42, 44], "navig": [42, 70, 96], "chosen": [42, 44, 48, 49, 60, 108, 116], "layout": [42, 121], "proceed": 42, "visualis": [42, 64, 72, 74, 76], "statist": 42, "cut": [42, 52], "high": [42, 44, 80, 84, 116, 117, 118], "offici": [42, 123], "ini": [43, 74], "charact": [43, 44, 49, 67, 72, 74, 79, 96, 108, 110, 114, 115, 122], "anim": 43, "dusti": 43, "dog": [43, 79, 112, 114, 115, 124], "fido": [43, 79], "multilin": [43, 44], "tripl": [43, 124], "song": 43, "lyric": 43, "sign": [43, 49, 68, 94, 108, 115], "speed": [43, 71, 80, 121, 123], "nobodi": 43, "gonna": 43, "me": [43, 77], "cujo": 43, "capit": 43, "ic": [43, 59], "cream": 43, "bracket": [43, 46, 68, 74, 115, 118], "indent": [43, 75, 110, 122], "advis": [43, 50, 52, 96, 114], "subsect": [43, 116, 124], "clariti": [43, 114, 120, 121], "overwrit": [43, 118], "fluffi": 43, "rule": [43, 48, 49, 66, 79, 107, 110, 112, 113, 114, 116, 121, 124], "backslash": [43, 124], "vers": 43, "brown": [43, 112, 123, 124], "fox": [43, 112, 123, 124], "fragil": [43, 118], "trail": [43, 49, 89, 110, 114, 122], "invis": [43, 124], "whitespac": [43, 49, 110, 122], "fragment": 43, "verbatim": [43, 124], "inc": [43, 121], "inclus": [43, 47, 49, 114, 115, 123], "often": [43, 44, 46, 49, 56, 67, 71, 74, 76, 92, 93, 112, 114, 118], "compact": [43, 46, 74], "head": [43, 46, 49, 74, 80, 110, 116, 123], "ascend": 44, "prioriti": [44, 48, 49, 84], "cylc_site_conf_path": [44, 48], "lower": [44, 49, 59, 96], "cylc_conf_path": 44, "bypass": [44, 96], "public": [44, 82, 95, 112], "pt10m": [44, 62, 71, 93, 100, 101, 121], "quit": [44, 121, 123], "spaceless": [44, 47, 49], "explicit": [44, 49, 96, 116, 118, 120, 121, 123], "43001": 44, "43101": 44, "minimum": [44, 47], "min": [44, 71, 108, 118, 121], "max": [44, 49, 110, 112, 118], "contigu": [44, 86], "absolut": [44, 47, 79, 118], "rank": [44, 117], "balanc": [44, 116], "overload": [44, 71], "threshold": 44, "psutil": 44, "numer": [44, 71, 115, 121], "lowest": [44, 49, 118], "cpu_perc": 44, "15min": 44, "averag": [44, 91], "getloadavg": [44, 117], "cpu_count": 44, "cpu": [44, 71, 118, 123], "70": 44, "1gb": 44, "ram": [44, 71], "virtual_memori": [44, 117], "1000000000": 44, "mount": 44, "disk_usag": 44, "free": [44, 97], "identif": [44, 116, 117], "ident": [44, 49, 50, 81, 95, 112], "hardwir": [44, 116, 121], "ask": [44, 50], "ip": [44, 49], "adjust": 44, "seen": [44, 59, 60, 71, 74, 76, 111], "resort": [44, 93], "googl": [44, 121], "internet": 44, "intranet": 44, "notif": [44, 49, 60, 112, 116], "fatal": [44, 49, 117], "timer": [44, 49, 94], "pt1h": [44, 47, 49, 55, 56, 62, 72, 73, 105, 108, 112, 114, 118], "inact": [44, 49, 110, 117], "pt2m": [44, 49, 108], "smtp": [44, 110, 116], "yourorg": 44, "footer": [44, 49, 110, 117], "gather": [44, 49, 111, 114], "auto_restart": 44, "pt30m": [44, 56, 71, 114, 121], "roll": [44, 62], "archiv": [44, 65, 67, 115, 121, 123], "anew": 44, "1000000": 44, "refus": 44, "four": [44, 49, 59, 62, 68, 71, 72, 111, 114, 115, 124], "slowdown": 44, "nf": 44, "bigmachine1": 44, "bigmachine2": 44, "desktop0000": 44, "desktop9999": 44, "bigmachin": 44, "revers": 44, "bottom": [44, 48, 59, 64, 71, 115], "metadata": [44, 49, 59, 116, 122], "writer": 44, "preset": 44, "substitut": [44, 49, 65, 108, 112, 115, 116, 117], "pt15m": [44, 56, 71], "resubmit": [44, 49, 62, 89, 121], "pt7m": [44, 108], "exce": [44, 49, 89, 108], "frequent": [44, 49, 93, 121], "multipli": [44, 47, 49, 71], "obatchmod": 44, "oconnecttimeout": 44, "compliant": 44, "bsd": 44, "invoc": [44, 83, 112], "bash_profil": 44, "bash_login": 44, "man": 44, "institut": [44, 50, 64], "unattend": 44, "bashrc": [44, 107], "cshrc": 44, "sparingli": 44, "outlin": [44, 52, 59, 72], "cover": [44, 57, 66, 69, 70, 74, 97, 115, 121], "copyabl": 44, "p": [44, 49, 61, 62, 72, 76, 112, 115, 118, 120, 121], "ugo": 44, "rwx": 44, "unsuccess": [44, 49], "tail": [44, 108], "advers": [44, 118], "tailer": [44, 108], "qcat": [44, 108], "viewer": [44, 108], "meaning": 44, "older": [44, 49, 105, 106, 108, 112], "236": [44, 108], "platform_a": 44, "sbin": 44, "100": [44, 49, 112, 114, 123], "randomli": [44, 55, 57, 118], "imbal": 44, "backup": 44, "failsaf": 44, "shown": [44, 49, 64, 95, 107, 108, 112, 115, 118, 124], "dedic": [44, 82, 93, 116], "bigmachine01": 44, "02": [44, 118], "bigmachine02": 44, "cylcuiserv": [45, 48, 96], "hostnam": [47, 49, 70, 116], "00": [47, 49, 56, 70, 71, 72, 73, 88, 104, 105, 108, 111, 114, 118], "round": [47, 123], "nearest": 47, "ccyymm": 47, "y": [47, 49, 72, 112, 114, 118], "gmt": 47, "0830": 47, "30": [47, 49, 71, 72, 73, 105, 114, 116, 118], "decim": 47, "exponenti": 47, "1e11": 47, "p1y": [47, 72, 112, 114, 115, 118, 121, 123], "pt6h": [47, 49, 71, 72, 80, 118], "p2y": [47, 118], "p3y": 47, "mix": [47, 66, 115], "plain": 47, "kwarg": [47, 48, 96, 112], "mytrigg": 47, "42": [47, 114], "cycle_point": 47, "pt10": [47, 49, 112, 116], "jupyter_config": [48, 96], "site_author": [48, 96], "prepackag": 48, "highest": [48, 116], "scan_interv": 48, "max_work": 48, "worker": 48, "prof": 48, "cprofil": 48, "reduc": [48, 50, 57, 118, 120], "user_author": [48, 96], "negat": [48, 96], "user1": [48, 96], "server_owner_1": [48, 96], "group_a": 48, "Will": [48, 96], "grp_of_svr_own": [48, 96], "group_b": 48, "groupb": [48, 96], "ui_build_dir": 48, "pathtyp": 48, "bundl": [48, 52, 60], "ui_vers": 48, "unicod": 48, "hardcod": 48, "pep440": 48, "sort": [48, 118, 121], "awai": [48, 76, 96, 112, 123], "resid": [48, 109], "group2": 48, "usera": [48, 96], "embed": [49, 111, 112, 114, 124], "raw": [49, 112], "overview": 49, "respond": 49, "typo": [49, 107], "prototyp": 49, "analysi": [49, 89], "miscellan": [49, 89], "slash": [49, 89], "workflow_x": [49, 82], "dir1": [49, 79, 89], "dir2": [49, 79, 89], "file1": [49, 79, 89, 107, 118], "file2": [49, 79, 89, 107, 118], "precis": [49, 107], "expand": [49, 66, 68, 89, 111, 114, 115, 118, 120, 123], "digit": [49, 71], "9999": 49, "ccyymmddthhmmz": 49, "ccyymmddthhmm": 49, "hhmm": 49, "subset": 49, "strptime": [49, 114], "strftime": [49, 114], "h": [49, 72, 105, 114, 118, 121], "j": [49, 112, 114, 118], "ccyi": 49, "mm": [49, 118], "ddthh": 49, "smallest": [49, 72], "p8m": 49, "somewher": [49, 50, 118], "10040": 49, "0100400101t0000z": 49, "06z": 49, "4th": 49, "1985": 49, "00019850504t0600z": 49, "infer": [49, 112, 118, 119], "input": [49, 74, 114, 121, 123], "1300": 49, "0500": 49, "0645": 49, "0000": 49, "persist": [49, 83, 89, 109, 112, 118], "winter": 49, "summer": 49, "begun": 49, "timezon": [49, 114, 121], "05": [49, 118], "my_ex": 49, "curl": 49, "ahost": 49, "overwhelm": [49, 61, 92, 118, 121], "test1": 49, "test2": 49, "mem": [49, 71, 105, 114, 115], "11": [49, 73, 115, 120], "myparamet": 49, "_run_": 49, "foo_run_3": 49, "_p": [49, 115], "0nd": 49, "largest": [49, 72, 118], "3142": 49, "foo_top": 49, "earliest": [49, 73], "closest": [49, 116], "icp": [49, 114], "fcp": 49, "constraint": [49, 72, 110, 112, 118], "truncat": [49, 108], "t00": [49, 66, 67, 68, 72, 111, 112, 114, 118, 121], "t06": [49, 112, 118], "t12": [49, 73, 111, 112, 114, 118, 121], "t18": [49, 112, 118], "hourli": [49, 112, 118], "half": [49, 56, 72], "past": [49, 56, 57, 59, 60, 61, 62, 72, 74, 91, 118], "coerc": 49, "360dai": [49, 73], "360_dai": 49, "365dai": 49, "365_dai": 49, "366dai": 49, "366_dai": 49, "prolept": [49, 118], "360": [49, 73, 118], "never": [49, 61, 73, 94, 118, 119], "p4": [49, 118], "pn": [49, 118], "unifi": [49, 64, 121, 122], "user_defined_queu": 49, "task_family_nam": 49, "total": [49, 114], "legaci": 49, "wall_clock": [49, 56, 73, 112, 121], "wall": 49, "pt1": 49, "5h": 49, "ext": [49, 96, 112], "cylc_task_cycle_point": [49, 54, 55, 65, 71, 107, 112, 115, 116, 121], "expir": [49, 83, 91, 107, 110, 116], "late": [49, 110, 118, 121], "enter": [49, 62, 71, 87, 116], "skip": [49, 96, 118], "far": [49, 70, 72, 73, 74, 76, 91, 116, 118, 121], "expiri": 49, "sequenti": [49, 115], "best": [49, 66, 118, 122], "inter": [49, 80, 112, 115, 121], "declar": [49, 112, 116, 118], "correspond": [49, 67, 72, 118, 123], "my_trigg": 49, "arg1": 49, "arg2": 49, "kwarg1": 49, "kwarg2": 49, "our": [49, 50, 56, 60, 61, 64, 72, 76, 79, 118, 121], "18": [49, 108, 112, 118], "p2": [49, 72, 76, 89, 118], "p5": [49, 76, 118], "fifth": 49, "waz": 49, "faz": 49, "c3": [49, 116], "linear": [49, 116, 118], "resolut": [49, 65, 116], "letter": [49, 112], "underscor": [49, 68, 112, 115], "hyphen": [49, 72], "inlin": [49, 74, 97, 110, 111, 121, 122], "my_script": 49, "intent": 49, "trappabl": 49, "companion": 49, "uh": [49, 107], "oh": [49, 107], "tmp_file": 49, "workspac": [49, 116, 118, 121], "exchang": 49, "area": [49, 65, 108, 116], "housekeep": [49, 122, 124], "catch": [49, 80, 86, 110, 118], "hard": [49, 56, 100, 120, 121, 124], "outag": [49, 62, 121], "unplan": 49, "resubmiss": 49, "vari": [49, 74, 115], "workflow_": [49, 116], "workflow_titl": [49, 116], "workflow_import": 49, "task_nam": 49, "simul": [49, 56, 62, 78, 85, 110, 112], "speedup": [49, 90], "factor": [49, 90, 116, 120, 123], "divid": [49, 90, 124], "buffer": 49, "pt30": [49, 56, 73, 116], "exceed": 49, "2017": [49, 95, 118, 123], "08": [49, 111, 114, 118], "12t06": 49, "12t18": 49, "exclus": [49, 57, 90, 114, 118], "improv": [49, 66, 116, 123], "lot": [49, 56, 114, 121, 123], "omiss": 49, "anywai": [49, 121], "achiev": [49, 64, 76, 112, 115, 116], "But": [49, 73, 80, 86, 105, 118, 123], "verbos": [49, 54, 112, 116, 123, 124], "preserv": [49, 89, 116, 117], "white": [49, 114, 118, 124], "parser": 49, "concern": [49, 50, 57, 121], "globalvar": 49, "jpg": 49, "next_cycl": 49, "zaz": 49, "escap": 49, "dice": [49, 62], "cylc_task_param_": [49, 68], "mynum": 49, "myitem": 49, "myfil": [49, 115], "03d": [49, 115], "lead": [49, 86, 110, 114, 124], "strip": [49, 114], "loadlevel": [49, 71, 84, 107, 108, 123], "lsf": [49, 71], "sge": [49, 71], "slurm_packjob": [49, 105], "moab": [49, 71, 108], "sea": 49, "product": [49, 86, 96, 107, 112, 114, 123], "nwp": [49, 79], "unicode_rul": [49, 79, 107, 112, 116], "taskoutputvalid": 49, "alphanumer": [49, 79, 116], "taskmessagevalid": [49, 107], "word": [49, 55, 107, 116], "importantli": 50, "formerli": 50, "elegantli": 50, "miss": [50, 68, 80, 81, 118, 123], "incorrectli": [50, 118, 121], "pbs_cluster": 50, "know": [50, 112, 121, 123], "everyon": [50, 123], "organ": [50, 51, 64, 80], "desktopnnn": 50, "small": [50, 59, 80, 112, 115, 118, 121, 123], "told": 50, "fullmatch": 50, "desktop123": 50, "neither": [50, 79, 107], "slurm_clust": 50, "login_node_1": 50, "login_node_2": 50, "login_nod": 50, "slurm_cluster_bg": 50, "slurm_cluster_bg1": 50, "slurm_cluster_bg2": 50, "caution": [50, 121], "encount": [50, 86], "wherebi": 50, "minim": [50, 52, 74, 80, 123, 124], "myflow": [50, 79, 81], "homeless": 50, "earli": [51, 117], "focus": 51, "encod": [51, 121], "natur": [51, 86, 107, 111, 124], "taskdef": 51, "easi": [51, 80, 90, 112, 114, 120, 121], "discern": 51, "properti": [51, 108, 110, 111, 112, 114], "processor": [51, 110, 111, 114, 121, 124], "pyro": 51, "layer": [51, 53, 96], "rest": [51, 96, 118], "finer": 52, "simplest": [52, 64, 121], "bare": 52, "essenti": [52, 60, 79, 92, 118, 121, 123, 124], "traefik": 52, "pip": [52, 70, 111], "bridg": 52, "flexibl": [52, 112, 115, 121], "project": 52, "anaconda": 52, "cylc_verbos": [54, 116], "cylc_debug": [54, 116], "cylc_cycling_mod": [54, 116], "isodatetimecalendar": [54, 116], "cylc_workflow_final_cycle_point": [54, 110, 116], "cylc_workflow_initial_cycle_point": [54, 110, 116], "cylc_workflow_name_bas": [54, 116], "basenam": [54, 116], "cylc_utc": [54, 116], "tz": [54, 116], "cylc_workflow_own": [54, 110, 116], "cylc_workflow_uuid": [54, 110, 116], "cylc_workflow_work_dir": [54, 65, 110, 112, 114, 116], "cylc_task_job": [54, 60, 107, 116, 118], "20110511t1800z": [54, 116], "t1": [54, 116], "isodatetimeref": [54, 116], "cylc_task_nam": [54, 107, 116], "cylc_task_id": [54, 107, 116], "cylc_task_log_dir": [54, 116], "cylc_task_log_root": [54, 65, 116], "cylc_task_namespace_hierarchi": [54, 116], "linearis": [54, 116], "postproc": [54, 116, 121, 123], "cylc_task_depend": [54, 116], "50": [54, 93, 116], "cylc_task_comms_method": [54, 116], "cylc_task_ssh_login_shel": [54, 116], "walk": [55, 57], "fly": [55, 59, 118, 124], "whilst": [55, 60, 96, 108], "mkdir": [55, 56, 57, 59, 60, 61, 62, 72, 74, 76, 112, 121], "1012": 55, "wipe_log": 55, "announc": 55, "knight": 55, "ni": 55, "who": [55, 96, 121], "sai": [55, 72, 74, 84, 86, 96, 116, 118, 121], "10120101t0000z": 55, "inspect": [55, 59, 60, 65, 66, 68, 70, 72, 121], "themselv": [55, 81, 96, 118, 123], "better": [55, 59, 112, 114, 121], "nich": 55, "justifi": 55, "pt3h": [55, 62, 66, 67, 68, 72, 112, 118], "change_word": 55, "IFS": 55, "ekk": 55, "ptang": 55, "zoo": 55, "bo": 55, "10120101t0100z": 55, "10120101t0200z": 55, "10120101t0300z": 55, "bear": 56, "relat": [56, 59, 66, 70, 88, 89, 95, 96, 110, 111, 115, 120], "tether": 56, "my_clock_trigg": 56, "regardless": [56, 73, 76, 86, 115, 118], "chime": 56, "dst": [56, 57, 62], "bell": 56, "bong": 56, "02d": [56, 115], "seq": [56, 71], "cyclepoint": [56, 115, 116, 118, 121], "morn": 56, "01t00z": [56, 73, 114, 118], "ring": 56, "confirm": [56, 59, 108, 118], "quarter": 56, "quarter_past": 56, "half_past": 56, "quarter_to": 56, "quarter_past_trigg": 56, "half_past_trigg": 56, "quarter_to_trigg": 56, "pt45m": 56, "bake_bread": [57, 74, 76], "sell_bread": [57, 74, 76], "throw_awai": 57, "mutual": [57, 90, 118, 121], "visit_min": 57, "miner": 57, "sleep": [57, 60, 62, 80, 90, 105, 112, 116, 118], "diamond": 57, "grumpi": 57, "sleepi": 57, "happi": 57, "sneezi": 57, "dopei": 57, "button": [57, 70, 71], "sell": 57, "trip": 57, "sell_diamond": 57, "close": [57, 93, 120, 123], "unproduct": 57, "mineshaft": 57, "discuss": [57, 122, 123], "close_shaft": 57, "aircraft": 59, "airbu": 59, "a380": 59, "jumbo": 59, "jet": 59, "robson": 59, "r44": 59, "helicopt": 59, "vehicl": 59, "board": 59, "depart": 59, "air_vehicl": 59, "airplan": 59, "air": [59, 114], "wing": 59, "can_take_off_vert": 59, "rotor": 59, "freeform": 59, "mistaken": 59, "sit": 59, "draw": [59, 76, 121, 124], "coupl": 59, "22": 59, "osprei": 59, "cross": [59, 112, 118], "plane": [59, 115], "land": [59, 118], "vertic": 59, "thought": [59, 114], "v22": 59, "militari": [59, 72], "can_task_off_vert": 59, "isn": [59, 96, 118], "fuel": 59, "turbin": 59, "kerosen": 59, "combust": 59, "petrol": 59, "human": [59, 88], "pizza": [59, 61], "turbine_engin": 59, "internal_combustion_engin": 59, "human_engin": 59, "ofsprei": 59, "fashion": 59, "bicycl": 59, "land_veichl": 59, "penny_farth": 59, "land_vehicl": 59, "travel": 59, "ground": 59, "wheel": 59, "hoverwork": 59, "bht130": 59, "isl": 59, "wight": 59, "ferri": 59, "water": [59, 64], "respect": [59, 96, 114, 116, 118, 120, 121, 123], "water_vehicl": 59, "griffon": 59, "whight": 59, "bespok": 60, "perhap": [60, 86, 107, 123], "particularli": [60, 61, 71, 89, 118, 120, 121], "tailor": 60, "superior": 60, "ineffici": [60, 121], "spam": [60, 93], "demonstr": [60, 79, 118], "touch": [60, 112, 123], "eu": 60, "quietli": 60, "counter": 60, "le": 60, "newrand": 60, "40": 60, "27t00z": 60, "p2m": [60, 115, 118], "long_forecasting_task": 60, "another_weather_task": 60, "different_weather_task": 60, "preload": 60, "suppos": [60, 68, 76, 118], "shall": 60, "aspect": [60, 117, 121], "update1": 60, "update2": 60, "lastli": 60, "alert": 60, "inbox": [60, 116], "flood": [60, 116], "understaf": 61, "restaur": 61, "open_restaur": 61, "steak1": 61, "steak2": 61, "pasta1": 61, "pasta2": 61, "pasta3": 61, "pizza1": 61, "pizza2": 61, "pizza3": 61, "pizza4": 61, "ice_cream1": 61, "cheesecake1": 61, "ice_cream2": 61, "sticky_toffee1": 61, "cheesecake2": 61, "ice_cream3": 61, "ice_cream4": 61, "sticky_toffee2": 61, "ice_cream5": 61, "dessert": 61, "act": [61, 109, 115], "steak": 61, "pasta": 61, "swiftli": 61, "ice_cream": 61, "cheesecak": 61, "sticky_toffe": 61, "menu": [61, 70], "staff": [61, 123], "chef": 61, "mains_chef_queu": 61, "dish": 61, "dessert_chef_queu": 61, "obvious": [61, 108, 123], "occasion": [62, 121], "fixabl": 62, "rerun": [62, 85, 89, 121], "temporari": 62, "hardwar": 62, "roll_doubl": 62, "doubl": [62, 115, 120], "win": 62, "seed": [62, 118], "die_1": 62, "die_2": 62, "let": [62, 71, 76, 86, 90, 118], "happen": [62, 86, 89, 108, 112, 118], "lucki": 62, "pt6": 62, "pt15": 62, "hopefulli": 62, "chanc": [62, 112], "elif": [62, 118, 123], "systemat": [64, 80], "materi": [64, 80], "research": [64, 96, 122], "step": [64, 72, 80, 108, 115, 118, 121], "goal": 64, "arrow": [64, 74, 76, 118, 120, 124], "pronounc": [64, 80], "kind": [64, 84, 86, 118, 123], "nation": 64, "atmospher": [64, 116], "zealand": 64, "weather": [64, 65, 67, 70, 71, 72, 114, 118], "forecast": [64, 65, 68, 70, 71, 80, 114, 116, 118, 120, 124], "partnership": 64, "offic": [64, 122, 123], "uk": [64, 72], "consortium": [64, 122], "meteorolog": 64, "scientif": [64, 123], "observ": [65, 66, 67, 68, 70, 71, 118], "api_kei": [65, 66, 67, 68, 71], "xxxxxxxx": [65, 66, 67, 68, 71], "xxxx": [65, 66, 67, 68, 71], "xxxxxxxxxxxx": [65, 66, 67, 68, 71], "get_observ": [65, 66, 67, 68, 70, 71, 72], "get_observations_heathrow": [65, 66, 67, 68, 70, 71, 72], "site_id": [65, 66, 67, 68, 71], "3772": [65, 66, 67, 68, 71], "get_observations_camborn": [65, 66, 67, 68, 71, 72], "3808": [65, 66, 67, 68, 71], "get_observations_shetland": [65, 66, 67, 68, 71, 72], "3005": [65, 66, 67, 68, 71], "get_observations_aldergrov": [65, 66, 67, 68, 71, 72], "3917": [65, 66, 67, 68, 71], "consolidate_observ": [65, 66, 67, 68, 72], "ones": [65, 74, 81, 86, 89, 116, 118], "lowercas": [65, 110, 124], "Into": 65, "domain": [65, 123, 124], "48": 65, "61": 65, "dimens": 65, "grid": [65, 104, 107], "cell": 65, "degre": [65, 71], "lng1": 65, "lat1": 65, "lng2": 65, "lat2": 65, "get_rainfal": [65, 67, 68, 70, 72], "rainfal": [65, 67, 70, 71, 72], "datapoint": [65, 67, 71], "wind": [65, 70, 71, 72], "wind_file_templ": 65, "wind_": 65, "xy": 65, "csv": [65, 71], "wind_cycl": 65, "rainfall_fil": 65, "map_fil": 65, "map_templ": 65, "post_process_exet": [65, 68, 71, 72], "exet": [65, 68, 71, 72], "gvim": 65, "wrote": 66, "lengthi": 66, "harder": [66, 112], "highli": [66, 112], "offer": 66, "throughout": [66, 115, 123], "primari": [66, 116], "thumb": 66, "broad": 66, "dynam": [67, 116], "initialis": 67, "endfor": [67, 114, 120, 124], "station": [67, 68, 71, 72], "aldergrov": [67, 68, 71, 72], "camborn": [67, 68, 71, 72], "heathrow": [67, 68, 71, 72], "shetland": [67, 68, 71, 72], "get_observations_": [67, 72], "centralis": 67, "mercuri": 68, "venu": 68, "earth": 68, "referenc": [68, 72, 107, 112, 123], "angl": [68, 115], "hello_mercuri": 68, "hello_venu": 68, "hello_earth": 68, "greet": 68, "cylc_task_param_world": 68, "bol": 68, "task_pub": 68, "task_bar1": 68, "task_bar3": 68, "task_bar5": 68, "task_qux": 68, "task_bol": 68, "post_process": 68, "moment": [68, 72], "edinburgh": 68, "cylc_task_param_sit": 68, "twice": [68, 107, 112, 118], "hello_world": 70, "isol": [70, 107, 123], "similarli": [70, 76, 115, 118, 121], "examin": 70, "easili": [70, 111, 116, 121, 123, 124], "grei": [70, 86, 96], "screenshot": 70, "runx": [70, 115], "troubleshoot": [70, 78], "guess": 70, "1970": 70, "2038": 70, "19t03": 70, "08z": 70, "middl": [70, 115], "recal": 70, "explor": 70, "corner": 70, "countdown": 71, "start_numb": 71, "20171009t0950": 71, "hello_computehost": 71, "powerful_comput": 71, "big_task": 71, "big": [71, 115, 116], "slurm_platform": [71, 105], "500mb": 71, "500": 71, "ntask": 71, "translat": [71, 123], "some_task": 71, "went": 71, "wrong": 71, "becam": 71, "bug": [71, 118, 124], "hit": 71, "thereaft": [71, 118], "ago": [71, 118], "math": [71, 111, 114], "pt7h": 71, "subtract": [71, 96], "metoffic": [71, 123], "airport": 71, "xxx": 71, "longitud": 71, "latitud": 71, "blow": 71, "toward": [71, 118], "mile": 71, "dialogu": 71, "ahead": [71, 76, 86, 92], "render": [71, 121, 124], "alongsid": 71, "firefox": 71, "anchor": [72, 118], "20000101t000000": 72, "20000101t0000": 72, "20000101t00": [72, 118], "readabl": [72, 74, 111, 124], "p1dt1h": 72, "p1y1m1dt1h1m1": 72, "annual": 72, "p4y": [72, 118], "fourth": 72, "bewar": 72, "01t12": 72, "p0y": [72, 118], "caret": [72, 118], "boundari": 72, "zulu": 72, "nato": 72, "phonet": 72, "alphabet": [72, 115], "nowcast": 72, "matter": [72, 74, 118, 121], "pictur": 72, "Near": 72, "belfast": 72, "nw": 72, "cornwal": 72, "sw": 72, "england": 72, "london": 72, "se": 72, "northernmost": 72, "radar": 72, "post_process_": 72, "20000101t00z": [72, 118], "formul": 72, "onward": [72, 89], "fact": 73, "talk": 73, "descriptor": 73, "01t12z": 73, "pt1h_trigger": 73, "middai": 73, "recognis": [74, 89], "chain": [74, 112, 114, 115, 118, 120], "make_dough": [74, 76], "buy_ingredi": [74, 76], "pre_heat_oven": [74, 76], "clean_oven": [74, 76], "diagram": [74, 76, 86, 95], "drawn": [74, 122], "slightli": [74, 121], "blank": [74, 118, 120], "bakeri": 76, "bread": 76, "bake": 76, "ve": [76, 81, 123], "ourselv": 76, "heat": 76, "oven": 76, "straight": 76, "cash": 76, "purchas": 76, "ingredi": 76, "solv": 76, "sens": [76, 118, 120, 121], "inde": 76, "odd": [76, 112], "preemption": [78, 85], "subdirectori": [78, 79, 114, 121], "authoris": 78, "region1": 79, "region2": 79, "chapter": 79, "underneath": 79, "reserv": 79, "illustr": [79, 80, 111, 114, 116, 118], "source_nam": 79, "stamp": [79, 88, 89], "offload": 79, "drive": [79, 121], "file3": [79, 118], "textfile1": 79, "textfile2": 79, "dir3": 79, "occas": 79, "nor": [79, 107], "workflownamevalid": 79, "254": 79, "dataset": [80, 86, 112, 115, 118], "pipelin": [80, 107, 118], "smaller": [80, 111, 115, 118, 121], "tune": 80, "tradition": [80, 120], "gap": 80, "greatli": [80, 118], "downtim": 80, "intra": 80, "unrol": 80, "sustain": 80, "throughput": 80, "caffein": 80, "withdraw": 80, "grind_bean": 80, "make_coffe": 80, "drink_coffe": 80, "runnabl": 80, "enterprise1701": 81, "altogeth": 81, "delimit": 81, "contrast": 81, "privat": [82, 95, 116, 121], "protect": [82, 107, 117, 123], "transmiss": 82, "encrypt": 82, "decrypt": 82, "client_public_kei": 82, "client_localhost": 82, "key_secret": 82, "think": 83, "facil": 84, "suspend": 84, "low": 84, "preempt": [84, 100], "requeu": 84, "sigusr1": [84, 100], "sigkil": [84, 108], "sigterm": [84, 107], "rate": 86, "collid": 86, "constitu": [86, 121], "blue": [86, 116], "children": [86, 89, 107], "Their": 86, "membership": [86, 96], "overtak": 86, "regener": 86, "corrupt": [86, 89], "rewind": 86, "postprocess": [86, 121], "prod1": 86, "prod2": 86, "ancillari": 86, "rectifi": 86, "republish": 86, "feed": [86, 112], "meanwhil": 86, "unaffect": 86, "decid": [87, 112, 121, 123], "OR": [87, 112, 118, 119], "ey": 88, "graphiql": 88, "sqlite": [88, 95], "some_funct": 88, "21491012t0410z": 88, "2023": 88, "04": [88, 118], "14t11": 88, "36": [88, 108], "35": [88, 118], "logger": 88, "underli": [89, 118], "extent": [89, 92, 115], "rose_ana": 89, "consum": [89, 121], "scenario": [89, 96, 118], "insur": 89, "folder": [89, 110, 116], "fill": [89, 114], "hungri": 90, "difficult": [90, 112, 121, 123, 124], "vice": 90, "versa": 90, "monochromat": 91, "elaps": 91, "proport": 91, "massiv": 92, "prohibit": 93, "vm": 93, "abnorm": 93, "credenti": [93, 96], "verif": 93, "Be": [93, 117], "infrequ": 93, "interven": [93, 116], "aliv": 94, "consult": [94, 122], "lock": 95, "interrog": [95, 108, 109, 112], "_end_": 95, "task_ev": 95, "03": 95, "12t11": 95, "09z": 95, "19z": 95, "column": [95, 118], "entiti": [95, 114], "relationship": [95, 110, 123], "articl": 95, "deploi": [96, 123], "collabor": [96, 122, 124], "workstat": 96, "polici": 96, "load_rol": 96, "scope": [96, 113], "hubapp": 96, "cylcauthor": 96, "serverapp": 96, "authorizer_class": 96, "deleg": 96, "spawner_class": 96, "apart": [96, 123], "blob": 96, "master": 96, "user2": 96, "groupnam": 96, "arrang": [96, 112], "redefin": [96, 116], "releaseholdpoint": 96, "setgraphwindowext": 96, "setholdpoint": 96, "setoutput": 96, "setverbos": 96, "inject": 96, "groupa": 96, "gain": [96, 123], "theori": 96, "extrem": [96, 121, 124], "person": 96, "unilater": 96, "get_group": 96, "getgrouplist": 96, "ngroups_max": 96, "grp": 96, "getgrgid": 96, "server_owner_2": 96, "server_owner2": 96, "userb": 96, "spell": 96, "concret": [97, 115], "represent": [97, 114, 118], "rudimentari": 98, "atd": 98, "atq": 98, "llsubmit": [100, 107, 108], "myplatform": [100, 101, 102, 103], "wall_clock_limit": [100, 111, 114], "660": 100, "600": 100, "soft": 100, "executiontim": 100, "sync": [100, 101, 102, 103, 104, 105, 107, 124], "ibm": 101, "bsub": 101, "workload": 102, "msub": 102, "walltim": [102, 103, 108], "torqu": 103, "sun": [104, 107], "oracl": 104, "sge_platform": 104, "cwd": [104, 108], "h_data": 104, "1024m": 104, "h_rt": 104, "sbatch": 105, "qxz5w2": 105, "heterogen": [105, 106], "srun": 105, "hetjob_0_": 105, "1g": 105, "hetjob_1_": 105, "2g": 105, "hetjob": [105, 106], "packjob": [105, 106], "packjob_0_": 105, "workaround": 106, "encapsul": [107, 114], "concaten": 107, "interfer": [107, 121], "resend": 107, "leader": 107, "resent": 107, "cylc_": 107, "recoveri": [107, 118, 122], "impli": [107, 118, 124], "cmp": 107, "stuff": [107, 121], "undefin": [107, 114, 116, 121], "pipefail": [107, 121], "warrant": 107, "surround": [107, 114], "cylc__job_abort": 107, "foreground": 107, "checker": 107, "ex": [107, 121], "unsaf": 107, "nevertheless": 107, "probabl": 107, "investig": [107, 109], "fulfil": [108, 120], "platform_with_loadlevel": 108, "platform_with_at": 108, "null": [108, 118, 120], "ncpu": [108, 114], "mpiproc": 108, "ompthread": 108, "redirect": [108, 112], "cach": 108, "my_custom_platform": 108, "host1": 108, "host2": 108, "unusu": [108, 118], "untrapp": 108, "reboot": 108, "sole": 108, "qstat": 108, "roughli": 108, "enforc": [108, 110], "possibli": [108, 118], "whitelist": 109, "feasibl": 109, "agent": 109, "alon": [109, 112, 121], "suffici": [109, 116, 118, 121, 123], "forgotten": 109, "workflow_fil": 109, "detect_old_contact_fil": 109, "malici": 109, "audit": 109, "recogn": [109, 112], "atom": 110, "emac": [110, 124], "el": 110, "gedit": [110, 124], "lang": 110, "kate": 110, "xml": 110, "pycharm": 110, "tmbundl": 110, "vim": [110, 124], "studio": 110, "vscode": 110, "sublim": 110, "textmat": 110, "webstorm": 110, "linter": 110, "redund": 110, "backtick": 110, "max_line_len": 110, "pyproject": 110, "toml": 110, "130": 110, "cylc_suite_host": 110, "cylc_suite_own": 110, "cylc_suite_share_dir": 110, "cylc_suite_share_path": 110, "cylc_workflow_share_path": 110, "cylc_suite_log_dir": 110, "cylc_workflow_log_dir": [110, 114], "cylc_suite_initial_cycle_point": 110, "cylc_suite_initial_cycle_tim": 110, "cylc_workflow_initial_cycle_tim": 110, "cylc_suite_final_cycle_point": 110, "cylc_suite_final_cycle_tim": 110, "cylc_workflow_final_cycle_tim": 110, "cylc_suite_work_dir": 110, "cylc_suite_uuid": 110, "cylc_suite_run_dir": 110, "cylc_suite_def_path_on_suite_host": 110, "cylc_suite_def_path": 110, "ref": 110, "mostli": [110, 118], "suite_uuid": [110, 116, 117], "batch_sys_nam": [110, 116], "batch_sys_job_id": [110, 116], "platform_nam": [110, 116], "task_url": [110, 116], "workflow_url": [110, 116, 117], "fcm_version": 110, "u998": 110, "u999": 110, "__many__": 110, "ruleset": 110, "longest": [110, 115], "99": [110, 112, 114], "char": 110, "007": 110, "someoth": 110, "pai": 110, "attent": 110, "mathemat": 111, "hash": [111, 114], "bang": [111, 114], "citi": [111, 114], "newyork": [111, 114], "philadelphia": [111, 114], "newark": [111, 114], "houston": [111, 114], "santaf": [111, 114], "chicago": [111, 114], "cityjob": [111, 114], "limit_min": [111, 114], "20": [111, 112, 114, 118], "cleanup": [111, 114, 124], "2011": [111, 112, 114], "08t12": [111, 114], "t23": [111, 114], "get_lbc": [111, 114], "get_ic": [111, 114], "_one": [111, 114], "_two": [111, 114], "_three": [111, 114], "_four": [111, 114], "on_": [111, 114], "markup": 111, "complic": [111, 118, 121, 123], "ecosystem": 111, "learn": 111, "lambda": 111, "straightforward": [111, 115, 123], "refactor": [111, 123], "grow": [111, 118], "subroutin": 111, "seamless": 111, "deliveri": 112, "creation": [112, 118, 121], "broker": 112, "transpar": [112, 121], "among": [112, 114, 122], "synchron": 112, "2018": [112, 121], "clock_1": 112, "keyword": [112, 114], "adher": 112, "xtriggernamevalid": 112, "latin": 112, "status": 112, "workflow_st": 112, "compulsori": 112, "2005": [112, 118], "2015": 112, "2010": [112, 118], "clock_0": 112, "pt0h": [112, 118], "fam": [112, 115, 116, 118], "blam": 112, "f1": [112, 118], "f2": [112, 118], "f3": 112, "emit": [112, 118], "dn": 112, "f22011": 112, "cylc__job__inst__user_env": 112, "upstream_workflow": 112, "upstream_cylc_run_dir": 112, "upstream_offset": 112, "upstream_messag": 112, "upstream_statu": 112, "upstream_point": 112, "upstream_task": 112, "vagrant": 112, "unsatisfi": 112, "my_xtrigg": 112, "my_xtrigger_fcn": 112, "vv": 112, "workflow_run_dir": 112, "workflow_share_dir": 112, "user_nam": 112, "suite_run_dir": 112, "suite_share_dir": 112, "subject": [112, 124], "trivial": [112, 121], "entireti": 112, "echo_1": 112, "percent": [112, 115, 116, 117], "sec": 112, "x1": 112, "25": [112, 116, 118, 123], "pt5": 112, "x2": 112, "x3": 112, "asid": 112, "predefin": 112, "inotifi": 112, "discret": 112, "meantim": 112, "whatev": [112, 114, 116, 118, 123], "cylc_ext_trigger_id": 112, "sat": 112, "conv": 112, "notifi": [112, 116], "passx12334a": 112, "passphras": 112, "satellit": 112, "variant": [112, 116], "arbitrarili": 112, "get_data": 112, "realli": [112, 120, 121], "n_dataset": 112, "data_in_dir": 112, "product_dir": 112, "satsim": 112, "proc1": [112, 118], "proc2": [112, 118], "collat": 112, "data_id": 112, "data_fil": 112, "workdir": 112, "mv": 112, "prod": 112, "_all_": 112, "wast": 112, "20150125t00": 112, "20150126t00": 112, "21": 112, "t03": [112, 118], "t09": [112, 118], "t15": [112, 118], "t21": 112, "poller": 112, "expans": [113, 120], "arrai": 113, "watcher": 113, "experi": [114, 122], "ensembl": [114, 115, 116, 118, 120, 124], "n_member": 114, "mem_": 114, "post_": 114, "curli": 114, "brace": 114, "var": [114, 123], "mem_0": 114, "post_0": 114, "mem_1": 114, "post_1": 114, "mem_2": 114, "post_2": 114, "mem_3": 114, "post_3": 114, "mem_4": 114, "post_4": 114, "nice": 114, "flag": [114, 121], "york": 114, "cylc_template_var": 114, "home_dir_on_workflow_host": 114, "trim": [114, 124], "mystr": 114, "jinja": [114, 121], "pad": 114, "fillchar": 114, "surplu": 114, "013": 114, "a_": 114, "a_00": 114, "a_01": 114, "a_99": 114, "iso8601_datetim": 114, "strftime_str": 114, "strptime_str": 114, "10661004t08": 114, "iso8601syntaxerror": 114, "strftimesyntaxerror": 114, "10661014t08": 114, "0100": 114, "287": 114, "1066": 114, "dt": 114, "traceback": 114, "start_cycl": 114, "duration_a": 114, "iso8601_dur": 114, "convers": 114, "insensit": 114, "accomplish": 114, "cycle_interv": 114, "cycle_subinterv": 114, "86400": 114, "1800": 114, "3600": 114, "valueerror": 114, "pt1d": [114, 118], "obs_typ": 114, "iasi": 114, "ob": [114, 115, 120], "platform_using_pb": 114, "answer": 114, "mice": 114, "dolphin": 114, "shorten": 114, "__set_file__": 114, "life": 114, "univers": 114, "liter": [114, 115, 116, 121, 123], "outer": 114, "inner": 114, "my_str": 114, "20100808t00": 114, "20100816t00": 114, "en": 114, "first_task": 114, "bob": 114, "last_task": 114, "alic": 114, "mem_9": 114, "mem_8": 114, "mem_7": 114, "mem_6": 114, "mem_5": 114, "1068": 114, "surpris": 114, "check_someth": 114, "alia": 114, "equalto": 114, "itertool": 114, "disambigu": 114, "__python__": 114, "consol": 114, "whenev": 114, "suppress": 114, "debugg": 114, "pdb": 114, "breakpoint": 114, "set_trac": 114, "_context__self": 114, "replic": 115, "thereof": 115, "chunk": [115, 120], "cleaner": 115, "ship": [115, 120], "buoi": [115, 120], "_ship": 115, "_buoi": 115, "_plane": 115, "_run1": 115, "_run2": 115, "_run3": 115, "_run4": 115, "_run5": 115, "_idx1": 115, "_idx3": 115, "_idx5": 115, "_idx7": 115, "_idx9": 115, "idx": 115, "_idx": 115, "09": 115, "_i01": 115, "_i03": 115, "_i05": 115, "_i10": 115, "_i11": 115, "_i12": 115, "_i13": 115, "pi": [115, 124], "_0": 115, "_1": 115, "_e": 115, "_pi": 115, "_i": 115, "model_run1": 115, "model_run2": 115, "model_run3": 115, "model_run4": 115, "model_run5": 115, "proc_ship": 115, "proc_buoi": 115, "proc_plan": 115, "formal": 115, "model_run1_ship": 115, "model_run1_buoi": 115, "model_run1_plan": 115, "model_run2_ship": 115, "model_run2_buoi": 115, "model_run2_plan": 115, "foo_p09": 115, "foo_p10": 115, "foo_p": 115, "thicker": 115, "_i02": 115, "_i09": 115, "p003": 115, "p004": 115, "p013": 115, "p014": 115, "i1": 115, "i2": 115, "i3": 115, "i4": 115, "cylc_task_param_run": 115, "cylc_task_param_ob": 115, "accordingli": [115, 118], "mynam": 115, "mc": 115, "sface": 115, "shipi": 115, "mcshipfac": 115, "run002": 115, "post_proc": 115, "check_first_run": 115, "_r": 115, "_r01": 115, "_r02": 115, "_r10": 115, "_r03": 115, "checkx": 115, "huge": 115, "proc_smal": 115, "proc_big": 115, "proc_hug": 115, "member_r1": 115, "member_r2": 115, "run_r1": 115, "model_r1": 115, "post_proc_r1": 115, "run_r2": 115, "model_r2": 115, "succinctli": 115, "semant": [115, 120, 123], "fam1": [115, 118], "fam2": [115, 118], "obs_get": 115, "obs_proc": 115, "get_ship": 115, "get_buoi": 115, "get_plan": 115, "finit": 115, "monthli": 115, "initial_point": 115, "interval_month": 115, "offset_month": 115, "cylc_task_param_chunk": 115, "p4m": 115, "disadvantag": 115, "arithmet": 115, "p3m": 115, "proc_file0": 115, "proc_file1": 115, "upload_product": 115, "bootstrap": 115, "model_chunk0": 115, "tasknamevalid": 116, "fm1": 116, "fm2": 116, "m1": [116, 118], "m2": [116, 118], "m3": 116, "fortun": 116, "collaps": [116, 118, 120], "atmo": 116, "shape": 116, "textur": 116, "rough": 116, "red": 116, "reference_tim": 116, "ever": [116, 121], "tmp": 116, "dark": 116, "compress": 116, "foo_color": 116, "cylc_fail_sign": 116, "cylc_vacation_sign": 116, "cylc_task_message_started_pid": 116, "cylc_task_work_dir_bas": 116, "orca": 116, "robust": [116, 121], "mock": 116, "somewhat": [116, 123], "danger": 116, "mistak": [116, 120], "divorc": 116, "effort": 116, "flaki": [116, 121], "whizz": 116, "gt": 116, "alarm": 116, "ty": [116, 117], "restor": [116, 117, 118], "submit_tim": 116, "start_tim": 116, "finish_tim": 116, "workflow_r": 116, "eq": 116, "pt0": 116, "oopsi": 116, "daisi": 116, "oop": 116, "fairli": 116, "pt40m": 116, "customis": 117, "taskjob": 117, "contextu": 117, "suite_url": 117, "lightweight": 117, "tie": 117, "satur": 117, "passwordless": 117, "host_1": 117, "host_2": 117, "host_3": 117, "meet": 117, "criterion": 117, "perspect": [117, 121, 123], "compos": 118, "AND": 118, "broken": [118, 124], "reformul": 118, "partit": 118, "marker": [118, 124], "frequenc": 118, "heavili": 118, "condens": 118, "r3": 118, "p2d": [118, 121], "jan": 118, "03t00z": 118, "05t00z": 118, "r5": 118, "20000101t06z": 118, "occurr": 118, "unlimit": 118, "p5d": 118, "2014": 118, "30t06": 118, "april": 118, "30th": 118, "20t06": 118, "25t06": 118, "p0d": 118, "p2w": 118, "07": 118, "juli": 118, "10th": 118, "2004": 118, "p366d": 118, "undocu": 118, "dollar": 118, "20100808t06z": 118, "20120808t06z": 118, "thh": 118, "mmz": 118, "semicolon": 118, "45": 118, "pxty": 118, "14t16": 118, "15z": 118, "15t00": 118, "14t00": 118, "30z": 118, "15t06": 118, "13t06": 118, "14t18": 118, "14t12": 118, "p1w": 118, "21t18": 118, "p1m": 118, "ordin": 118, "centuri": 118, "2100": 118, "1225": 118, "dec": 118, "2006": 118, "june": 118, "w101": 118, "001": 118, "091": 118, "181": 118, "271": 118, "91": 118, "365t12z": 118, "356": 118, "31t12": 118, "wipe": 118, "concis": 118, "20000101": 118, "20000102": 118, "parenthes": [118, 123], "20000105t00z": 118, "r2": 118, "1t00": 118, "mondai": 118, "p15d": 118, "15th": 118, "p1h": 118, "20000101t07": 118, "pt2h": 118, "t0830": 118, "20140201t06": 118, "20130808t00": 118, "20130812t00": 118, "ll": 118, "stagger": 118, "20130808t18": 118, "setup_foo": 118, "20100101t03": 118, "prep1": 118, "prep2": 118, "20100101t12": 118, "20100101t06": 118, "rn": 118, "p0": [118, 121], "p6": 118, "20140801t00": 118, "20141201t00": 118, "align": [118, 124], "fam1_don": 118, "20200202": 118, "20200101": 118, "forev": 118, "arguabl": 118, "uniform": 118, "t11": 118, "pt13h": 118, "pt8h": 118, "successor": 118, "2025": [118, 123], "23t00": 118, "23t02": 118, "gone": 118, "substanti": 118, "dealt": 118, "proc3": 118, "everywher": 118, "leaf": 118, "regard": 118, "pseudo": 118, "ditto": 118, "presum": 118, "analys": 118, "realist": 118, "showdown": 118, "ugli": 118, "fin": 118, "span": 118, "29": 118, "33": 118, "2050": 118, "2052": 118, "2054": 118, "2060": 118, "2062": 118, "2064": 118, "2068": 118, "2061": 118, "2063": 118, "accommod": [118, 123], "fifo": 118, "q_foo": 118, "k": 118, "absenc": 118, "ti": 118, "unintent": 118, "intermedi": 118, "temporarili": [118, 123], "remind": 118, "partli": 118, "imagin": 119, "stuck": 119, "xtrigger1": 119, "xtrigger2": 119, "economi": 120, "techniqu": 120, "bulk": [120, 122], "obsproc": 120, "obs1": 120, "obs2": 120, "obs3": 120, "obs4": 120, "obs5": 120, "mro": 120, "wherev": 120, "model1": 120, "model2": 120, "model3": 120, "big_fam_1": 120, "big_fam_2": 120, "clutter": [120, 121], "interpos": 120, "signifi": 120, "big_fam_1_don": 120, "hostx": 120, "model4": 120, "hosti": 120, "solo": 120, "demot": 120, "secondari": 120, "variat": [120, 123], "radiosond": 120, "NO": 120, "param": 120, "model_p": 120, "unfortun": [120, 121], "mess": [120, 123, 124], "wors": [120, 124], "destroi": 120, "cylc_task_param_p": 120, "model_p7": 120, "sim": 120, "um": [120, 122], "reconfigur": 120, "key1": 120, "key2": 120, "rose_app_opt_conf_kei": 120, "mind": 121, "fewer": [121, 123], "quicker": 121, "advic": [121, 122], "pack": 121, "loos": 121, "modular": 121, "pro": 121, "con": 121, "vulner": 121, "someon": 121, "arch": 121, "tidi": 121, "proper": 121, "pep8": 121, "consider": 121, "expert": 121, "diagnost": 121, "tidier": [121, 123], "enhanc": 121, "winner": 121, "app1": 121, "app2": 121, "endeavour": 121, "facilit": 121, "whose": 121, "interleav": 121, "big_job": 121, "big_jobs_queu": 121, "ongo": 121, "enorm": 121, "rose_arch": [121, 124], "rose_prun": [121, 124], "cost": 121, "excess": 121, "er": 121, "job_vers": 121, "a23": 121, "vast": 121, "netcdf": 121, "file_in": 121, "worth": 121, "eval": 121, "20170105": 121, "rose_data": 121, "rose_datac": 121, "rose_datacp1d": 121, "20170104": 121, "rose_datacp2d": 121, "20170103": 121, "agre": [121, 123], "relax": 121, "glu_snow": 121, "write_data": 121, "read_data": 121, "data_dir": 121, "enough": 121, "datadir": 121, "react": 121, "long_fc": 121, "short_fc": 121, "run_len": 121, "pt48h": 121, "believ": 121, "instabl": 121, "remedi": 121, "timestep": 121, "short_timestep": 121, "pt0m": 121, "model_short": 121, "overus": 121, "nativ": 121, "tisd": 122, "pointer": 122, "knowledg": 122, "wherein": 122, "framework": 122, "fine": 122, "coars": 122, "grain": 122, "monolith": 122, "complianc": 122, "agnost": 122, "transit": 122, "lack": 123, "riddl": 123, "messi": 123, "niwa_hpc": 123, "niwa_arch": 123, "why": 123, "tempt": 123, "untidi": [123, 124], "greater": 123, "bigger": 123, "niwa_loadleveler_platform": 123, "metoffice_pbs_platform": 123, "unsupport": 123, "wari": 123, "ensemble_s": 123, "hitherto": 123, "therebi": 123, "agreement": 123, "aren": [123, 124], "idl": 123, "have_idl": 123, "other_var": 123, "benefit": 123, "scienc": [123, 124], "upload": 123, "install_niwa": 123, "preproc": 123, "upload_niwa": 123, "account_no": 123, "nwp1623": 123, "job_typ": 123, "FOR": 123, "THE": 123, "assumpt": 123, "scrutini": 123, "stakehold": 123, "carefulli": 123, "lag": 123, "ill": 123, "mosr": 123, "trac": 123, "ticket": 123, "elimin": 123, "gloss": 123, "myriad": 123, "mere": 123, "settl": 124, "width": 124, "mixtur": 124, "inpr": 124, "recurs": 124, "retab": 124, "expandtab": 124, "reformat": 124, "paragraph": 124, "perl": 124, "liner": 124, "clearli": 124, "value1": 124, "value2": 124, "pollut": 124, "spuriou": 124, "mr": 124, "thompson": 124, "textwrap": 124, "dedent": 124, "goodby": 124, "heredoc": 124, "_eof_": 124, "jump": 124, "lazi": 124, "margin": 124, "op": 124, "ops_task": 124, "m_max": 124, "ops_": 124, "tend": 124, "mass": 124, "renumb": 124, "especi": 124, "strictli": 124, "79": 124, "seven": 124, "eight": 124, "nine": 124, "ten": 124, "eleven": 124, "twelv": 124, "thirteen": 124, "uppercas": 124, "glanc": 124, "obs_sond": 124, "obs_radar": 124, "sonde_ob": 124, "model_system_funct": 124, "_member": 124, "glu_ops_process_scatwind": 124, "glu": 124, "determinist": 124, "process_scatwind": 124, "fcst": 124, "geograph": 124}, "objects": {"flow": [[49, 0, 1, "", "cylc"], [49, 1, 1, "", "cylc[meta]"], [49, 2, 1, "flow.cylc[meta]<custom metadata>", "cylc[meta]&lt;custom metadata&gt;"], [49, 2, 1, "", "cylc[meta]URL"], [49, 2, 1, "", "cylc[meta]description"], [49, 2, 1, "", "cylc[meta]title"], [49, 1, 1, "", "cylc[runtime]"], [49, 1, 1, "flow.cylc[runtime][<namespace>]", "cylc[runtime][&lt;namespace&gt;]"], [49, 1, 1, "flow.cylc[runtime][<namespace>][directives]", "cylc[runtime][&lt;namespace&gt;][directives]"], [49, 2, 1, "flow.cylc[runtime][<namespace>][directives]<directive>", "cylc[runtime][&lt;namespace&gt;][directives]&lt;directive&gt;"], [49, 1, 1, "flow.cylc[runtime][<namespace>][environment filter]", "cylc[runtime][&lt;namespace&gt;][environment filter]"], [49, 2, 1, "flow.cylc[runtime][<namespace>][environment filter]exclude", "cylc[runtime][&lt;namespace&gt;][environment filter]exclude"], [49, 2, 1, "flow.cylc[runtime][<namespace>][environment filter]include", "cylc[runtime][&lt;namespace&gt;][environment filter]include"], [49, 1, 1, "flow.cylc[runtime][<namespace>][environment]", "cylc[runtime][&lt;namespace&gt;][environment]"], [49, 2, 1, "flow.cylc[runtime][<namespace>][environment]<variable>", "cylc[runtime][&lt;namespace&gt;][environment]&lt;variable&gt;"], [49, 1, 1, "flow.cylc[runtime][<namespace>][events]", "cylc[runtime][&lt;namespace&gt;][events]"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]critical handlers", "cylc[runtime][&lt;namespace&gt;][events]critical handlers"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]custom handlers", "cylc[runtime][&lt;namespace&gt;][events]custom handlers"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]execution timeout", "cylc[runtime][&lt;namespace&gt;][events]execution timeout"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]execution timeout handlers", "cylc[runtime][&lt;namespace&gt;][events]execution timeout handlers"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]expired handlers", "cylc[runtime][&lt;namespace&gt;][events]expired handlers"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]failed handlers", "cylc[runtime][&lt;namespace&gt;][events]failed handlers"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]handler events", "cylc[runtime][&lt;namespace&gt;][events]handler events"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]handler retry delays", "cylc[runtime][&lt;namespace&gt;][events]handler retry delays"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]handlers", "cylc[runtime][&lt;namespace&gt;][events]handlers"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]late handlers", "cylc[runtime][&lt;namespace&gt;][events]late handlers"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]late offset", "cylc[runtime][&lt;namespace&gt;][events]late offset"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]mail events", "cylc[runtime][&lt;namespace&gt;][events]mail events"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]retry handlers", "cylc[runtime][&lt;namespace&gt;][events]retry handlers"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]started handlers", "cylc[runtime][&lt;namespace&gt;][events]started handlers"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]submission failed handlers", "cylc[runtime][&lt;namespace&gt;][events]submission failed handlers"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]submission retry handlers", "cylc[runtime][&lt;namespace&gt;][events]submission retry handlers"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]submission timeout", "cylc[runtime][&lt;namespace&gt;][events]submission timeout"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]submission timeout handlers", "cylc[runtime][&lt;namespace&gt;][events]submission timeout handlers"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]submitted handlers", "cylc[runtime][&lt;namespace&gt;][events]submitted handlers"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]succeeded handlers", "cylc[runtime][&lt;namespace&gt;][events]succeeded handlers"], [49, 2, 1, "flow.cylc[runtime][<namespace>][events]warning handlers", "cylc[runtime][&lt;namespace&gt;][events]warning handlers"], [49, 1, 1, "flow.cylc[runtime][<namespace>][job]", "cylc[runtime][&lt;namespace&gt;][job]"], [49, 2, 1, "flow.cylc[runtime][<namespace>][job]batch submit command template", "cylc[runtime][&lt;namespace&gt;][job]batch submit command template"], [49, 2, 1, "flow.cylc[runtime][<namespace>][job]batch system", "cylc[runtime][&lt;namespace&gt;][job]batch system"], [49, 1, 1, "flow.cylc[runtime][<namespace>][mail]", "cylc[runtime][&lt;namespace&gt;][mail]"], [49, 2, 1, "flow.cylc[runtime][<namespace>][mail]from", "cylc[runtime][&lt;namespace&gt;][mail]from"], [49, 2, 1, "flow.cylc[runtime][<namespace>][mail]to", "cylc[runtime][&lt;namespace&gt;][mail]to"], [49, 1, 1, "flow.cylc[runtime][<namespace>][meta]", "cylc[runtime][&lt;namespace&gt;][meta]"], [49, 2, 1, "flow.cylc[runtime][<namespace>][meta]<custom metadata>", "cylc[runtime][&lt;namespace&gt;][meta]&lt;custom metadata&gt;"], [49, 2, 1, "flow.cylc[runtime][<namespace>][meta]URL", "cylc[runtime][&lt;namespace&gt;][meta]URL"], [49, 2, 1, "flow.cylc[runtime][<namespace>][meta]description", "cylc[runtime][&lt;namespace&gt;][meta]description"], [49, 2, 1, "flow.cylc[runtime][<namespace>][meta]title", "cylc[runtime][&lt;namespace&gt;][meta]title"], [49, 1, 1, "flow.cylc[runtime][<namespace>][outputs]", "cylc[runtime][&lt;namespace&gt;][outputs]"], [49, 2, 1, "flow.cylc[runtime][<namespace>][outputs]<output>", "cylc[runtime][&lt;namespace&gt;][outputs]&lt;output&gt;"], [49, 1, 1, "flow.cylc[runtime][<namespace>][parameter environment templates]", "cylc[runtime][&lt;namespace&gt;][parameter environment templates]"], [49, 2, 1, "flow.cylc[runtime][<namespace>][parameter environment templates]<parameter>", "cylc[runtime][&lt;namespace&gt;][parameter environment templates]&lt;parameter&gt;"], [49, 1, 1, "flow.cylc[runtime][<namespace>][remote]", "cylc[runtime][&lt;namespace&gt;][remote]"], [49, 2, 1, "flow.cylc[runtime][<namespace>][remote]host", "cylc[runtime][&lt;namespace&gt;][remote]host"], [49, 2, 1, "flow.cylc[runtime][<namespace>][remote]owner", "cylc[runtime][&lt;namespace&gt;][remote]owner"], [49, 2, 1, "flow.cylc[runtime][<namespace>][remote]retrieve job logs", "cylc[runtime][&lt;namespace&gt;][remote]retrieve job logs"], [49, 2, 1, "flow.cylc[runtime][<namespace>][remote]retrieve job logs max size", "cylc[runtime][&lt;namespace&gt;][remote]retrieve job logs max size"], [49, 2, 1, "flow.cylc[runtime][<namespace>][remote]retrieve job logs retry delays", "cylc[runtime][&lt;namespace&gt;][remote]retrieve job logs retry delays"], [49, 1, 1, "flow.cylc[runtime][<namespace>][simulation]", "cylc[runtime][&lt;namespace&gt;][simulation]"], [49, 2, 1, "flow.cylc[runtime][<namespace>][simulation]default run length", "cylc[runtime][&lt;namespace&gt;][simulation]default run length"], [49, 2, 1, "flow.cylc[runtime][<namespace>][simulation]disable task event handlers", "cylc[runtime][&lt;namespace&gt;][simulation]disable task event handlers"], [49, 2, 1, "flow.cylc[runtime][<namespace>][simulation]fail cycle points", "cylc[runtime][&lt;namespace&gt;][simulation]fail cycle points"], [49, 2, 1, "flow.cylc[runtime][<namespace>][simulation]fail try 1 only", "cylc[runtime][&lt;namespace&gt;][simulation]fail try 1 only"], [49, 2, 1, "flow.cylc[runtime][<namespace>][simulation]speedup factor", "cylc[runtime][&lt;namespace&gt;][simulation]speedup factor"], [49, 2, 1, "flow.cylc[runtime][<namespace>][simulation]time limit buffer", "cylc[runtime][&lt;namespace&gt;][simulation]time limit buffer"], [49, 1, 1, "flow.cylc[runtime][<namespace>][workflow state polling]", "cylc[runtime][&lt;namespace&gt;][workflow state polling]"], [49, 2, 1, "flow.cylc[runtime][<namespace>][workflow state polling]host", "cylc[runtime][&lt;namespace&gt;][workflow state polling]host"], [49, 2, 1, "flow.cylc[runtime][<namespace>][workflow state polling]interval", "cylc[runtime][&lt;namespace&gt;][workflow state polling]interval"], [49, 2, 1, "flow.cylc[runtime][<namespace>][workflow state polling]max-polls", "cylc[runtime][&lt;namespace&gt;][workflow state polling]max-polls"], [49, 2, 1, "flow.cylc[runtime][<namespace>][workflow state polling]message", "cylc[runtime][&lt;namespace&gt;][workflow state polling]message"], [49, 2, 1, "flow.cylc[runtime][<namespace>][workflow state polling]run-dir", "cylc[runtime][&lt;namespace&gt;][workflow state polling]run-dir"], [49, 2, 1, "flow.cylc[runtime][<namespace>][workflow state polling]user", "cylc[runtime][&lt;namespace&gt;][workflow state polling]user"], [49, 2, 1, "flow.cylc[runtime][<namespace>][workflow state polling]verbose mode", "cylc[runtime][&lt;namespace&gt;][workflow state polling]verbose mode"], [49, 2, 1, "flow.cylc[runtime][<namespace>]env-script", "cylc[runtime][&lt;namespace&gt;]env-script"], [49, 2, 1, "flow.cylc[runtime][<namespace>]err-script", "cylc[runtime][&lt;namespace&gt;]err-script"], [49, 2, 1, "flow.cylc[runtime][<namespace>]execution polling intervals", "cylc[runtime][&lt;namespace&gt;]execution polling intervals"], [49, 2, 1, "flow.cylc[runtime][<namespace>]execution retry delays", "cylc[runtime][&lt;namespace&gt;]execution retry delays"], [49, 2, 1, "flow.cylc[runtime][<namespace>]execution time limit", "cylc[runtime][&lt;namespace&gt;]execution time limit"], [49, 2, 1, "flow.cylc[runtime][<namespace>]exit-script", "cylc[runtime][&lt;namespace&gt;]exit-script"], [49, 2, 1, "flow.cylc[runtime][<namespace>]inherit", "cylc[runtime][&lt;namespace&gt;]inherit"], [49, 2, 1, "flow.cylc[runtime][<namespace>]init-script", "cylc[runtime][&lt;namespace&gt;]init-script"], [49, 2, 1, "flow.cylc[runtime][<namespace>]platform", "cylc[runtime][&lt;namespace&gt;]platform"], [49, 2, 1, "flow.cylc[runtime][<namespace>]post-script", "cylc[runtime][&lt;namespace&gt;]post-script"], [49, 2, 1, "flow.cylc[runtime][<namespace>]pre-script", "cylc[runtime][&lt;namespace&gt;]pre-script"], [49, 2, 1, "flow.cylc[runtime][<namespace>]script", "cylc[runtime][&lt;namespace&gt;]script"], [49, 2, 1, "flow.cylc[runtime][<namespace>]submission polling intervals", "cylc[runtime][&lt;namespace&gt;]submission polling intervals"], [49, 2, 1, "flow.cylc[runtime][<namespace>]submission retry delays", "cylc[runtime][&lt;namespace&gt;]submission retry delays"], [49, 2, 1, "flow.cylc[runtime][<namespace>]work sub-directory", "cylc[runtime][&lt;namespace&gt;]work sub-directory"], [49, 1, 1, "", "cylc[scheduler]"], [49, 2, 1, "", "cylc[scheduler]UTC mode"], [49, 1, 1, "", "cylc[scheduler][events]"], [49, 2, 1, "", "cylc[scheduler][events]abort handlers"], [49, 2, 1, "", "cylc[scheduler][events]abort on inactivity timeout"], [49, 2, 1, "", "cylc[scheduler][events]abort on stall timeout"], [49, 2, 1, "", "cylc[scheduler][events]abort on workflow timeout"], [49, 2, 1, "", "cylc[scheduler][events]expected task failures"], [49, 2, 1, "", "cylc[scheduler][events]handler events"], [49, 2, 1, "", "cylc[scheduler][events]handlers"], [49, 2, 1, "", "cylc[scheduler][events]inactivity timeout"], [49, 2, 1, "", "cylc[scheduler][events]inactivity timeout handlers"], [49, 2, 1, "", "cylc[scheduler][events]mail events"], [49, 2, 1, "", "cylc[scheduler][events]restart timeout"], [49, 2, 1, "", "cylc[scheduler][events]shutdown handlers"], [49, 2, 1, "", "cylc[scheduler][events]stall handlers"], [49, 2, 1, "", "cylc[scheduler][events]stall timeout"], [49, 2, 1, "", "cylc[scheduler][events]stall timeout handlers"], [49, 2, 1, "", "cylc[scheduler][events]startup handlers"], [49, 2, 1, "", "cylc[scheduler][events]workflow timeout"], [49, 2, 1, "", "cylc[scheduler][events]workflow timeout handlers"], [49, 1, 1, "", "cylc[scheduler][mail]"], [49, 2, 1, "", "cylc[scheduler][mail]footer"], [49, 2, 1, "", "cylc[scheduler][mail]from"], [49, 2, 1, "", "cylc[scheduler][mail]task event batch interval"], [49, 2, 1, "", "cylc[scheduler][mail]to"], [49, 1, 1, "", "cylc[scheduler][main loop]"], [49, 1, 1, "flow.cylc[scheduler][main loop][<plugin name>]", "cylc[scheduler][main loop][&lt;plugin name&gt;]"], [49, 2, 1, "flow.cylc[scheduler][main loop][<plugin name>]interval", "cylc[scheduler][main loop][&lt;plugin name&gt;]interval"], [49, 2, 1, "", "cylc[scheduler]allow implicit tasks"], [49, 2, 1, "", "cylc[scheduler]cycle point format"], [49, 2, 1, "", "cylc[scheduler]cycle point num expanded year digits"], [49, 2, 1, "", "cylc[scheduler]cycle point time zone"], [49, 2, 1, "", "cylc[scheduler]install"], [49, 1, 1, "", "cylc[scheduling]"], [49, 1, 1, "", "cylc[scheduling][graph]"], [49, 2, 1, "flow.cylc[scheduling][graph]<recurrence>", "cylc[scheduling][graph]&lt;recurrence&gt;"], [49, 1, 1, "", "cylc[scheduling][queues]"], [49, 1, 1, "flow.cylc[scheduling][queues][<queue name>]", "cylc[scheduling][queues][&lt;queue name&gt;]"], [49, 2, 1, "flow.cylc[scheduling][queues][<queue name>]limit", "cylc[scheduling][queues][&lt;queue name&gt;]limit"], [49, 2, 1, "flow.cylc[scheduling][queues][<queue name>]members", "cylc[scheduling][queues][&lt;queue name&gt;]members"], [49, 1, 1, "", "cylc[scheduling][queues][default]"], [49, 2, 1, "", "cylc[scheduling][queues][default]limit"], [49, 1, 1, "", "cylc[scheduling][special tasks]"], [49, 2, 1, "", "cylc[scheduling][special tasks]clock-expire"], [49, 2, 1, "", "cylc[scheduling][special tasks]clock-trigger"], [49, 2, 1, "", "cylc[scheduling][special tasks]external-trigger"], [49, 2, 1, "", "cylc[scheduling][special tasks]sequential"], [49, 1, 1, "", "cylc[scheduling][xtriggers]"], [49, 2, 1, "flow.cylc[scheduling][xtriggers]<xtrigger name>", "cylc[scheduling][xtriggers]&lt;xtrigger name&gt;"], [49, 2, 1, "", "cylc[scheduling]cycling mode"], [49, 2, 1, "", "cylc[scheduling]final cycle point"], [49, 2, 1, "", "cylc[scheduling]final cycle point constraints"], [49, 2, 1, "", "cylc[scheduling]hold after cycle point"], [49, 2, 1, "", "cylc[scheduling]initial cycle point"], [49, 2, 1, "", "cylc[scheduling]initial cycle point constraints"], [49, 2, 1, "", "cylc[scheduling]runahead limit"], [49, 2, 1, "", "cylc[scheduling]stop after cycle point"], [49, 1, 1, "", "cylc[task parameters]"], [49, 2, 1, "flow.cylc[task parameters]<parameter>", "cylc[task parameters]&lt;parameter&gt;"], [49, 1, 1, "", "cylc[task parameters][templates]"], [49, 2, 1, "flow.cylc[task parameters][templates]<parameter>", "cylc[task parameters][templates]&lt;parameter&gt;"]], "global": [[44, 0, 1, "", "cylc"], [44, 1, 1, "", "cylc[hub]"], [44, 2, 1, "", "cylc[hub]url"], [44, 1, 1, "", "cylc[install]"], [44, 1, 1, "", "cylc[install][symlink dirs]"], [44, 1, 1, "global.cylc[install][symlink dirs][<install target>]", "cylc[install][symlink dirs][&lt;install target&gt;]"], [44, 2, 1, "global.cylc[install][symlink dirs][<install target>]log", "cylc[install][symlink dirs][&lt;install target&gt;]log"], [44, 2, 1, "global.cylc[install][symlink dirs][<install target>]run", "cylc[install][symlink dirs][&lt;install target&gt;]run"], [44, 2, 1, "global.cylc[install][symlink dirs][<install target>]share", "cylc[install][symlink dirs][&lt;install target&gt;]share"], [44, 2, 1, "global.cylc[install][symlink dirs][<install target>]share/cycle", "cylc[install][symlink dirs][&lt;install target&gt;]share/cycle"], [44, 2, 1, "global.cylc[install][symlink dirs][<install target>]work", "cylc[install][symlink dirs][&lt;install target&gt;]work"], [44, 2, 1, "", "cylc[install]max depth"], [44, 2, 1, "", "cylc[install]source dirs"], [44, 1, 1, "", "cylc[platform groups]"], [44, 1, 1, "global.cylc[platform groups][<group>]", "cylc[platform groups][&lt;group&gt;]"], [44, 1, 1, "global.cylc[platform groups][<group>][meta]", "cylc[platform groups][&lt;group&gt;][meta]"], [44, 2, 1, "global.cylc[platform groups][<group>][meta]<custom metadata>", "cylc[platform groups][&lt;group&gt;][meta]&lt;custom metadata&gt;"], [44, 1, 1, "global.cylc[platform groups][<group>][selection]", "cylc[platform groups][&lt;group&gt;][selection]"], [44, 2, 1, "global.cylc[platform groups][<group>][selection]method", "cylc[platform groups][&lt;group&gt;][selection]method"], [44, 2, 1, "global.cylc[platform groups][<group>]platforms", "cylc[platform groups][&lt;group&gt;]platforms"], [44, 1, 1, "", "cylc[platforms]"], [44, 1, 1, "global.cylc[platforms][<platform name>]", "cylc[platforms][&lt;platform name&gt;]"], [44, 1, 1, "global.cylc[platforms][<platform name>][directives]", "cylc[platforms][&lt;platform name&gt;][directives]"], [44, 2, 1, "global.cylc[platforms][<platform name>][directives]<directive>", "cylc[platforms][&lt;platform name&gt;][directives]&lt;directive&gt;"], [44, 1, 1, "global.cylc[platforms][<platform name>][meta]", "cylc[platforms][&lt;platform name&gt;][meta]"], [44, 2, 1, "global.cylc[platforms][<platform name>][meta]<custom metadata>", "cylc[platforms][&lt;platform name&gt;][meta]&lt;custom metadata&gt;"], [44, 1, 1, "global.cylc[platforms][<platform name>][selection]", "cylc[platforms][&lt;platform name&gt;][selection]"], [44, 2, 1, "global.cylc[platforms][<platform name>][selection]method", "cylc[platforms][&lt;platform name&gt;][selection]method"], [44, 2, 1, "global.cylc[platforms][<platform name>]clean job submission environment", "cylc[platforms][&lt;platform name&gt;]clean job submission environment"], [44, 2, 1, "global.cylc[platforms][<platform name>]communication method", "cylc[platforms][&lt;platform name&gt;]communication method"], [44, 2, 1, "global.cylc[platforms][<platform name>]copyable environment variables", "cylc[platforms][&lt;platform name&gt;]copyable environment variables"], [44, 2, 1, "global.cylc[platforms][<platform name>]cylc path", "cylc[platforms][&lt;platform name&gt;]cylc path"], [44, 2, 1, "global.cylc[platforms][<platform name>]err tailer", "cylc[platforms][&lt;platform name&gt;]err tailer"], [44, 2, 1, "global.cylc[platforms][<platform name>]err viewer", "cylc[platforms][&lt;platform name&gt;]err viewer"], [44, 2, 1, "global.cylc[platforms][<platform name>]execution polling intervals", "cylc[platforms][&lt;platform name&gt;]execution polling intervals"], [44, 2, 1, "global.cylc[platforms][<platform name>]execution time limit polling intervals", "cylc[platforms][&lt;platform name&gt;]execution time limit polling intervals"], [44, 2, 1, "global.cylc[platforms][<platform name>]global init-script", "cylc[platforms][&lt;platform name&gt;]global init-script"], [44, 2, 1, "global.cylc[platforms][<platform name>]hosts", "cylc[platforms][&lt;platform name&gt;]hosts"], [44, 2, 1, "global.cylc[platforms][<platform name>]install target", "cylc[platforms][&lt;platform name&gt;]install target"], [44, 2, 1, "global.cylc[platforms][<platform name>]job name length maximum", "cylc[platforms][&lt;platform name&gt;]job name length maximum"], [44, 2, 1, "global.cylc[platforms][<platform name>]job runner", "cylc[platforms][&lt;platform name&gt;]job runner"], [44, 2, 1, "global.cylc[platforms][<platform name>]job runner command template", "cylc[platforms][&lt;platform name&gt;]job runner command template"], [44, 2, 1, "global.cylc[platforms][<platform name>]job submission environment pass-through", "cylc[platforms][&lt;platform name&gt;]job submission environment pass-through"], [44, 2, 1, "global.cylc[platforms][<platform name>]job submission executable paths", "cylc[platforms][&lt;platform name&gt;]job submission executable paths"], [44, 2, 1, "global.cylc[platforms][<platform name>]max batch submit size", "cylc[platforms][&lt;platform name&gt;]max batch submit size"], [44, 2, 1, "global.cylc[platforms][<platform name>]out tailer", "cylc[platforms][&lt;platform name&gt;]out tailer"], [44, 2, 1, "global.cylc[platforms][<platform name>]out viewer", "cylc[platforms][&lt;platform name&gt;]out viewer"], [44, 2, 1, "global.cylc[platforms][<platform name>]retrieve job logs", "cylc[platforms][&lt;platform name&gt;]retrieve job logs"], [44, 2, 1, "global.cylc[platforms][<platform name>]retrieve job logs command", "cylc[platforms][&lt;platform name&gt;]retrieve job logs command"], [44, 2, 1, "global.cylc[platforms][<platform name>]retrieve job logs max size", "cylc[platforms][&lt;platform name&gt;]retrieve job logs max size"], [44, 2, 1, "global.cylc[platforms][<platform name>]retrieve job logs retry delays", "cylc[platforms][&lt;platform name&gt;]retrieve job logs retry delays"], [44, 2, 1, "global.cylc[platforms][<platform name>]rsync command", "cylc[platforms][&lt;platform name&gt;]rsync command"], [44, 2, 1, "global.cylc[platforms][<platform name>]shell", "cylc[platforms][&lt;platform name&gt;]shell"], [44, 2, 1, "global.cylc[platforms][<platform name>]ssh command", "cylc[platforms][&lt;platform name&gt;]ssh command"], [44, 2, 1, "global.cylc[platforms][<platform name>]ssh forward environment variables", "cylc[platforms][&lt;platform name&gt;]ssh forward environment variables"], [44, 2, 1, "global.cylc[platforms][<platform name>]submission polling intervals", "cylc[platforms][&lt;platform name&gt;]submission polling intervals"], [44, 2, 1, "global.cylc[platforms][<platform name>]submission retry delays", "cylc[platforms][&lt;platform name&gt;]submission retry delays"], [44, 2, 1, "global.cylc[platforms][<platform name>]tail command template", "cylc[platforms][&lt;platform name&gt;]tail command template"], [44, 2, 1, "global.cylc[platforms][<platform name>]use login shell", "cylc[platforms][&lt;platform name&gt;]use login shell"], [44, 1, 1, "", "cylc[platforms][localhost]"], [44, 1, 1, "", "cylc[platforms][localhost][selection]"], [44, 2, 1, "", "cylc[platforms][localhost][selection]method"], [44, 2, 1, "", "cylc[platforms][localhost]hosts"], [44, 1, 1, "", "cylc[scheduler]"], [44, 2, 1, "", "cylc[scheduler]UTC mode"], [44, 1, 1, "", "cylc[scheduler][events]"], [44, 2, 1, "", "cylc[scheduler][events]abort handlers"], [44, 2, 1, "", "cylc[scheduler][events]abort on inactivity timeout"], [44, 2, 1, "", "cylc[scheduler][events]abort on stall timeout"], [44, 2, 1, "", "cylc[scheduler][events]abort on workflow timeout"], [44, 2, 1, "", "cylc[scheduler][events]handler events"], [44, 2, 1, "", "cylc[scheduler][events]handlers"], [44, 2, 1, "", "cylc[scheduler][events]inactivity timeout"], [44, 2, 1, "", "cylc[scheduler][events]inactivity timeout handlers"], [44, 2, 1, "", "cylc[scheduler][events]mail events"], [44, 2, 1, "", "cylc[scheduler][events]restart timeout"], [44, 2, 1, "", "cylc[scheduler][events]shutdown handlers"], [44, 2, 1, "", "cylc[scheduler][events]stall handlers"], [44, 2, 1, "", "cylc[scheduler][events]stall timeout"], [44, 2, 1, "", "cylc[scheduler][events]stall timeout handlers"], [44, 2, 1, "", "cylc[scheduler][events]startup handlers"], [44, 2, 1, "", "cylc[scheduler][events]workflow timeout"], [44, 2, 1, "", "cylc[scheduler][events]workflow timeout handlers"], [44, 1, 1, "", "cylc[scheduler][host self-identification]"], [44, 2, 1, "", "cylc[scheduler][host self-identification]host"], [44, 2, 1, "", "cylc[scheduler][host self-identification]method"], [44, 2, 1, "", "cylc[scheduler][host self-identification]target"], [44, 1, 1, "", "cylc[scheduler][logging]"], [44, 2, 1, "", "cylc[scheduler][logging]maximum size in bytes"], [44, 2, 1, "", "cylc[scheduler][logging]rolling archive length"], [44, 1, 1, "", "cylc[scheduler][mail]"], [44, 2, 1, "", "cylc[scheduler][mail]footer"], [44, 2, 1, "", "cylc[scheduler][mail]from"], [44, 2, 1, "", "cylc[scheduler][mail]smtp"], [44, 2, 1, "", "cylc[scheduler][mail]task event batch interval"], [44, 2, 1, "", "cylc[scheduler][mail]to"], [44, 1, 1, "", "cylc[scheduler][main loop]"], [44, 1, 1, "global.cylc[scheduler][main loop][<plugin name>]", "cylc[scheduler][main loop][&lt;plugin name&gt;]"], [44, 2, 1, "global.cylc[scheduler][main loop][<plugin name>]interval", "cylc[scheduler][main loop][&lt;plugin name&gt;]interval"], [44, 1, 1, "", "cylc[scheduler][main loop][auto restart]"], [44, 2, 1, "", "cylc[scheduler][main loop][auto restart]interval"], [44, 1, 1, "", "cylc[scheduler][main loop][health check]"], [44, 2, 1, "", "cylc[scheduler][main loop][health check]interval"], [44, 1, 1, "", "cylc[scheduler][main loop][reset bad hosts]"], [44, 2, 1, "", "cylc[scheduler][main loop][reset bad hosts]interval"], [44, 2, 1, "", "cylc[scheduler][main loop]plugins"], [44, 1, 1, "", "cylc[scheduler][run hosts]"], [44, 2, 1, "", "cylc[scheduler][run hosts]available"], [44, 2, 1, "", "cylc[scheduler][run hosts]condemned"], [44, 2, 1, "", "cylc[scheduler][run hosts]ports"], [44, 2, 1, "", "cylc[scheduler][run hosts]ranking"], [44, 2, 1, "", "cylc[scheduler]auto restart delay"], [44, 2, 1, "", "cylc[scheduler]process pool size"], [44, 2, 1, "", "cylc[scheduler]process pool timeout"], [44, 1, 1, "", "cylc[task events]"], [44, 2, 1, "", "cylc[task events]execution timeout"], [44, 2, 1, "", "cylc[task events]handler events"], [44, 2, 1, "", "cylc[task events]handler retry delays"], [44, 2, 1, "", "cylc[task events]handlers"], [44, 2, 1, "", "cylc[task events]mail events"], [44, 2, 1, "", "cylc[task events]submission timeout"]], "": [[47, 3, 1, "", "absolute host list"], [47, 3, 1, "", "boolean"], [47, 3, 1, "", "cycle point"], [47, 3, 1, "", "cycle point format"], [47, 3, 1, "", "cycle point time zone"], [47, 3, 1, "", "float"], [47, 3, 1, "", "float list"], [47, 3, 1, "", "integer"], [47, 3, 1, "", "integer list"], [47, 3, 1, "", "integer range"], [47, 3, 1, "", "list"], [47, 3, 1, "", "parameter list"], [47, 3, 1, "", "spaceless list"], [47, 3, 1, "", "string"], [47, 3, 1, "", "time interval"], [47, 3, 1, "", "time interval list"], [47, 3, 1, "", "xtrigger function signature"], [44, 9, 1, "-", "CYLC_CONF_PATH"], [44, 9, 1, "-", "CYLC_SITE_CONF_PATH"]], "cylc.flow.install_plugins": [[26, 4, 0, "-", "log_vc_info"]], "cylc.flow.jinja.filters.duration_as": [[114, 5, 1, "", "duration_as"]], "cylc.flow.jinja.filters.pad": [[114, 5, 1, "", "pad"]], "cylc.flow.jinja.filters.strftime": [[114, 5, 1, "", "strftime"]], "cylc.flow": [[108, 4, 0, "-", "job_runner_handlers"], [35, 4, 0, "-", "main_loop"]], "cylc.flow.job_runner_handlers": [[98, 4, 0, "-", "at"], [99, 4, 0, "-", "background"], [100, 4, 0, "-", "loadleveler"], [101, 4, 0, "-", "lsf"], [102, 4, 0, "-", "moab"], [103, 4, 0, "-", "pbs"], [104, 4, 0, "-", "sge"], [105, 4, 0, "-", "slurm"], [106, 4, 0, "-", "slurm_packjob"]], "cylc.flow.job_runner_handlers.documentation": [[28, 6, 1, "", "ExampleHandler"]], "cylc.flow.job_runner_handlers.documentation.ExampleHandler": [[28, 7, 1, "", "FAIL_SIGNALS"], [28, 7, 1, "", "KILL_CMD_TMPL"], [28, 7, 1, "", "POLL_CANT_CONNECT_ERR"], [28, 7, 1, "", "POLL_CMD"], [28, 7, 1, "", "REC_ID_FROM_SUBMIT_ERR"], [28, 7, 1, "", "REC_ID_FROM_SUBMIT_OUT"], [28, 7, 1, "", "SHOULD_KILL_PROC_GROUP"], [28, 7, 1, "", "SHOULD_POLL_PROC_GROUP"], [28, 7, 1, "", "SUBMIT_CMD_ENV"], [28, 7, 1, "", "SUBMIT_CMD_TMPL"], [28, 8, 1, "", "filter_poll_many_output"], [28, 8, 1, "", "filter_submit_output"], [28, 8, 1, "", "format_directives"], [28, 8, 1, "", "get_poll_many_cmd"], [28, 8, 1, "", "get_submit_stdin"], [28, 8, 1, "", "get_vacation_signal"], [28, 8, 1, "", "manip_job_id"], [28, 8, 1, "", "submit"]], "cylc.flow.main_loop": [[29, 4, 0, "-", "auto_restart"], [30, 4, 0, "-", "health_check"], [31, 4, 0, "-", "log_data_store"], [32, 4, 0, "-", "log_main_loop"], [33, 4, 0, "-", "log_memory"], [35, 5, 1, "", "periodic"], [34, 4, 0, "-", "reset_bad_hosts"], [35, 5, 1, "", "shutdown"], [35, 5, 1, "", "startup"]], "cylc.flow.main_loop.auto_restart": [[29, 5, 1, "", "auto_restart"]], "cylc.flow.main_loop.health_check": [[30, 5, 1, "", "health_check"]], "cylc.flow.main_loop.log_data_store": [[31, 5, 1, "", "init"], [31, 5, 1, "", "log_data_store"], [31, 5, 1, "", "report"]], "cylc.flow.main_loop.log_main_loop": [[32, 5, 1, "", "init"], [32, 5, 1, "", "report"]], "cylc.flow.main_loop.log_memory": [[33, 5, 1, "", "init"], [33, 5, 1, "", "report"], [33, 5, 1, "", "take_snapshot"]], "cylc.flow.main_loop.reset_bad_hosts": [[34, 5, 1, "", "reset_bad_hosts"]], "cylc.flow.network.client": [[38, 6, 1, "", "WorkflowRuntimeClient"]], "cylc.flow.network.client.WorkflowRuntimeClient": [[38, 8, 1, "", "async_request"], [38, 8, 1, "", "serial_request"]], "cylc.flow.network": [[37, 4, 0, "-", "scan"]], "cylc.flow.network.scan": [[37, 5, 1, "", "api_version"], [37, 5, 1, "", "contact_info"], [37, 5, 1, "", "cylc_version"], [37, 5, 1, "", "filter_name"], [37, 5, 1, "", "graphql_query"], [37, 5, 1, "", "is_active"], [37, 5, 1, "", "scan"], [37, 5, 1, "", "title"], [37, 5, 1, "", "workflow_params"]], "cylc.flow.network.server": [[38, 6, 1, "", "WorkflowRuntimeServer"]], "cylc.flow.network.server.WorkflowRuntimeServer": [[38, 8, 1, "", "api"], [38, 8, 1, "", "graphql"], [38, 8, 1, "", "operate"], [38, 8, 1, "", "pb_data_elements"], [38, 8, 1, "", "pb_entire_workflow"], [38, 8, 1, "", "publish_queued_items"], [38, 8, 1, "", "receiver"], [38, 8, 1, "", "register_endpoints"], [38, 8, 1, "", "start"], [38, 8, 1, "", "stop"]], "cylc.flow.scripts": [[110, 4, 0, "-", "lint"]], "cylc.flow.unicode_rules": [[116, 6, 1, "", "TaskNameValidator"], [79, 6, 1, "", "WorkflowNameValidator"], [112, 6, 1, "", "XtriggerNameValidator"]], "cylc": [[24, 4, 0, "-", "rose"]], "cylc.uiserver": [[48, 4, 0, "-", "app"]], "cylc.uiserver.app": [[48, 6, 1, "", "CylcUIServer"]], "cylc.uiserver.app.CylcUIServer": [[48, 7, 1, "", "max_workers"], [48, 7, 1, "", "profile"], [48, 7, 1, "", "scan_interval"], [48, 7, 1, "", "site_authorization"], [48, 7, 1, "", "ui_build_dir"], [48, 7, 1, "", "ui_version"], [48, 7, 1, "", "user_authorization"]], "cylc.uiserver.authorise": [[96, 6, 1, "", "CylcAuthorizer"], [96, 5, 1, "", "get_groups"]]}, "objtypes": {"0": "cylc:conf", "1": "cylc:section", "2": "cylc:setting", "3": "parsec:type", "4": "py:module", "5": "py:function", "6": "py:class", "7": "py:attribute", "8": "py:method", "9": "std:envvar"}, "objnames": {"0": ["cylc", "conf", "Cylc conf"], "1": ["cylc", "section", "Cylc section"], "2": ["cylc", "setting", "Cylc setting"], "3": ["parsec", "type", "Parsec type"], "4": ["py", "module", "Python module"], "5": ["py", "function", "Python function"], "6": ["py", "class", "Python class"], "7": ["py", "attribute", "Python attribute"], "8": ["py", "method", "Python method"], "9": ["std", "envvar", "environment variable"]}, "titleterms": {"cylc": [0, 2, 3, 4, 5, 6, 7, 11, 19, 20, 21, 22, 23, 24, 26, 29, 30, 31, 32, 33, 34, 36, 40, 41, 42, 43, 47, 49, 50, 51, 52, 64, 66, 68, 70, 74, 77, 79, 80, 83, 88, 96, 109, 110], "8": [0, 2, 3, 5, 6, 11, 19, 20, 42, 110], "3": [0, 4, 13, 42, 72, 118], "caveat": [0, 4], "flow": [0, 4, 23, 26, 29, 30, 31, 32, 33, 34, 39, 52, 74, 86, 110], "browser": 0, "base": [0, 109], "ui": [0, 19, 20, 23, 39, 40, 41, 48, 92], "termin": [0, 20], "user": [0, 1, 41, 70, 72, 78, 80, 96], "interfac": [0, 1, 3, 38, 70], "server": [0, 23, 38, 39, 40, 41, 48, 82, 96], "cheat": 1, "sheet": 1, "valid": [1, 4, 18, 70, 77, 110, 118], "instal": [1, 7, 20, 23, 24, 27, 50, 70, 77, 79, 81, 89], "run": [1, 7, 12, 62, 70, 72, 79, 80, 85, 90, 95, 121], "reload": [1, 42, 77, 89], "paus": [1, 12], "unpaus": 1, "stop": [1, 12, 71, 86, 89], "restart": [1, 71, 89], "delet": 1, "scan": [1, 37], "view": [1, 42], "A": [1, 11, 64, 70, 81], "workflow": [1, 6, 12, 20, 38, 49, 59, 64, 70, 76, 79, 80, 81, 85, 89, 94, 95, 96, 110, 111, 112, 113, 114, 116, 117, 118, 121, 122, 123], "": [1, 114], "configur": [1, 5, 23, 24, 27, 35, 42, 44, 45, 47, 48, 49, 50, 62, 66, 71, 79, 89, 96, 110, 116, 117, 118, 121], "open": 1, "static": 1, "graph": [1, 5, 16, 42, 65, 74, 86, 89, 115, 118, 123, 124], "visualis": 1, "rose": [1, 7, 13, 24, 52, 121, 124], "stem": [1, 24], "migrat": [2, 7, 10, 117], "guid": [2, 78, 80, 122], "command": [3, 4, 12, 20, 42, 66, 77, 79, 108, 117], "line": [3, 10, 118, 124], "doe": [3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 16, 18, 81], "thi": [3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 16, 18, 81], "chang": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18, 20, 42, 51, 89], "affect": [3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 16, 18, 81], "me": [3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 16, 18, 81], "overview": [3, 4, 7, 8, 10, 11, 12, 13, 14, 18, 41], "full": [3, 115], "list": [3, 18, 50], "Of": [3, 20, 112, 117], "standardis": 3, "id": 3, "7": [4, 6, 20, 21, 49, 110], "compat": [4, 20, 49], "mode": [4, 20, 41, 49, 72, 90], "requir": [4, 16, 20, 23, 118], "task": [4, 8, 17, 20, 56, 68, 70, 86, 87, 91, 92, 93, 97, 107, 108, 112, 115, 116, 118, 120, 121, 124], "script": [4, 13, 54, 70, 107, 116, 121, 124], "python": [4, 13, 18, 23, 29, 30, 31, 32, 33, 34, 114], "2": [4, 13, 42, 72, 79], "other": [4, 11, 20, 52, 96, 109, 112], "exampl": [4, 10, 11, 16, 18, 24, 27, 35, 50, 55, 56, 57, 61, 62, 67, 74, 79, 80, 86, 96, 112, 116, 118, 123], "renam": 4, "fix": 5, "deprec": 5, "warn": 5, "platform": [5, 11, 20, 50, 116, 117], "continu": [6, 112, 124], "remot": [7, 14, 81, 89, 109, 116], "from": [7, 50, 79, 116], "suit": [7, 24], "notabl": 7, "differ": [7, 57], "exclud": [8, 79, 118], "start": [8, 71, 89, 115, 118, 121], "up": [8, 89, 118, 121], "i": [8, 11, 64, 80], "Not": 8, "support": [8, 96, 108], "detail": 9, "descript": [9, 124], "major": [9, 20, 51], "paramet": [10, 68, 115], "break": 10, "what": [11, 50, 64, 80], "simpl": 11, "varieti": 11, "how": [11, 60, 80, 118], "handl": [11, 84, 116, 117], "host": [11, 116, 117, 121], "upgrad": [11, 20, 42, 110], "plai": [12, 77], "re": 12, "hold": 12, "releas": [12, 42], "map": 12, "To": [12, 20, 42, 52, 66, 79, 115, 117, 118, 121, 123], "old": 12, "impact": 13, "packag": [13, 52], "name": [13, 79, 115, 116, 124], "jinja2": [13, 67, 114, 120, 121, 123, 124], "integ": [13, 115, 118], "lead": 13, "zero": [13, 115], "usernam": 14, "schedul": [15, 20, 39, 40, 50, 73, 75, 88, 94, 117, 118], "algorithm": [15, 20], "branch": [16, 118], "option": [16, 20, 24, 79, 114, 118, 120, 123], "output": [16, 20, 72, 118, 121], "suicid": [16, 119], "trigger": [16, 56, 57, 60, 73, 86, 112, 118, 119, 120, 121], "job": [17, 20, 28, 39, 50, 54, 70, 71, 84, 91, 93, 107, 108, 109, 116, 118, 121], "state": [17, 20, 70, 91, 112], "templat": [18, 114, 116, 117], "variabl": [18, 24, 54, 68, 71, 111, 114, 116, 117, 118, 121, 123], "new": [18, 20], "featur": 18, "ani": 18, "liter": 18, "shorthand": [18, 43, 74], "string": [18, 74, 118, 124], "tui": [19, 70], "web": [19, 20], "gui": [19, 70], "summari": [20, 56, 57], "terminologi": 20, "awar": 20, "file": [20, 24, 43, 50, 70, 74, 79, 81, 82, 89, 110, 111, 114, 120, 121, 123, 124], "symlink": [20, 50, 79, 81], "dir": 20, "remov": [20, 81], "architectur": [20, 40], "glossari": 21, "document": 22, "quick": 23, "via": 23, "conda": [23, 52], "recommend": 23, "pip": 23, "npm": 23, "non": [23, 118], "On": [23, 116], "mac": 23, "o": 23, "advanc": [23, 27, 50, 118], "The": [23, 42, 43, 65, 66, 67, 70, 72, 74, 79, 89, 108, 110, 114, 116, 118, 120, 121, 123], "compon": [23, 39, 42], "type": [23, 35, 47, 59, 68, 118], "manag": [23, 108, 109], "environ": [23, 52, 54, 68, 71, 114, 116, 118], "bash": [23, 42], "profil": 23, "shell": 23, "auto": [23, 110], "complet": [23, 42, 94], "text": 23, "editor": 23, "special": [24, 118], "addit": 24, "cli": [24, 70], "config": [24, 66, 120, 123, 124], "plugin": [25, 27, 35, 114], "install_plugin": 26, "log_vc_info": 26, "pre": 27, "And": [27, 70, 118, 120, 124], "post": 27, "built": [27, 35, 112, 116], "In": [27, 35, 55, 112, 114], "develop": [27, 35, 51, 123], "pre_configur": 27, "post_instal": 27, "hello": [27, 35], "world": [27, 35], "api": [27, 29, 30, 31, 32, 33, 34, 36, 37], "refer": [27, 53], "more": [27, 56, 59], "custom": [28, 89, 107, 112, 114, 117], "submiss": [28, 71, 108, 118, 121], "method": [28, 108], "main_loop": [29, 30, 31, 32, 33, 34], "auto_restart": 29, "health_check": 30, "log_data_stor": 31, "log_main_loop": 32, "log_memori": 33, "reset_bad_host": 34, "main": 35, "loop": [35, 120], "coroutin": 35, "event": [35, 112, 116, 117], "runtim": [38, 42, 65, 69, 70, 71, 89], "client": [38, 39, 82], "data": [39, 47, 72], "protocol": 39, "transport": 39, "secur": 39, "zmq": 39, "over": 39, "tcp": [39, 93], "ssh": [39, 93, 109], "http": 39, "hypertext": 39, "transfer": 39, "wss": 39, "websocket": 39, "format": [39, 43, 72, 74, 118], "protobuf": 39, "graphql": 39, "interact": [39, 82, 96], "hub": [40, 41, 96], "network": 40, "layer": 40, "further": [40, 58, 61, 62, 73], "read": [40, 61, 62], "jupyt": [41, 42, 96], "singl": 41, "authent": [41, 82, 89], "multi": 41, "0": [42, 86], "latest": 42, "default": [42, 79, 108, 114], "1": [42, 72, 79, 118], "log": [42, 88, 89, 108, 114, 116], "edit": 42, "analysi": 42, "combin": [42, 118], "syntax": [43, 110, 118], "global": [44, 114], "us": [49, 66, 79, 86, 107, 109, 114, 118, 119], "case": [49, 86, 109, 119], "write": [50, 113], "avail": 50, "ar": 50, "why": 50, "were": 50, "introduc": 50, "target": [50, 81], "submit": [50, 117], "pb": [50, 103, 108], "localhost": [50, 79], "scenario": 50, "multipl": [50, 59, 116, 118], "share": [50, 116, 120, 121], "system": [50, 124], "cluster": 50, "login": 50, "node": 50, "group": [50, 96], "directori": [50, 70, 79, 81, 110, 116, 121], "home": 50, "histori": 51, "uiserv": 52, "ad": [52, 56], "your": [52, 96], "work": [52, 116], "With": [52, 62], "channel": 52, "broadcast": [55, 83], "tutori": [55, 63, 80, 114, 116, 118], "purpos": [55, 62], "standalon": 55, "situ": 55, "clock": [56, 73, 112, 118, 121], "famili": [57, 65, 115, 116, 118, 120], "explan": [57, 60], "success": [57, 118], "failur": [57, 107, 116, 118, 121], "topic": 58, "inherit": [59, 116, 120, 121], "hierarchi": [59, 116, 120], "remind": [59, 72], "hint": [59, 71, 72], "engin": 59, "solut": [59, 60, 68, 71, 72, 74, 76], "penni": 59, "farth": 59, "hovercraft": 59, "finish": [59, 118], "messag": [60, 88, 93, 107, 118], "usag": 60, "creat": [60, 89], "practic": [60, 65, 67, 68, 70, 71, 72, 74, 76], "queue": [61, 118, 121], "retri": [62, 71, 87, 116, 121], "without": 62, "alter": 62, "behaviour": [62, 121], "introduct": [64, 70, 80], "root": [65, 116], "consolid": 66, "three": 66, "approach": 66, "which": 66, "languag": 67, "parameter": [68, 115, 120], "definit": 70, "set": [70, 114, 118, 124], "path": [70, 121, 123], "pythonpath": 70, "gener": [70, 72, 79, 110, 116, 120], "number": [70, 79, 86], "time": [71, 108, 118, 121], "limit": [71, 90, 108, 112, 118, 121], "datetim": [72, 118], "cycl": [72, 76, 80, 89, 115, 118, 121], "aim": [72, 73, 74, 76], "iso8601": [72, 118], "durat": 72, "recurr": [72, 76, 118], "infer": 72, "initi": [72, 89, 118], "point": [72, 89, 118, 121], "final": [72, 89, 118], "intercycl": [72, 76, 118], "depend": [72, 74, 76], "utc": 72, "put": 72, "It": 72, "all": 72, "togeth": 72, "gather": 72, "observ": 72, "comput": 72, "model": [72, 123], "forecast": 72, "process": [72, 79, 107], "produc": 72, "friendli": 72, "qualifi": 73, "altern": 73, "calendar": 73, "duplic": 74, "item": [74, 79, 124], "indent": [74, 124], "note": [74, 81], "basic": [76, 118, 121], "repeat": 76, "section": [76, 108], "compound": 77, "vip": 77, "vr": 77, "reinstal": [77, 79], "sourc": 79, "overrid": [79, 108, 116], "locat": 79, "skip": 79, "make": 79, "automat": [79, 120], "expect": 79, "error": [79, 107], "relat": [80, 114, 116, 118], "clean": 81, "specif": [81, 115, 116, 123], "subdirectori": 81, "preemption": 84, "concurr": 86, "merg": 86, "n": 86, "incomplet": 86, "some": 86, "rerun": 86, "sub": [86, 115], "abort": [87, 107], "sequenc": [87, 115], "v": 89, "after": 89, "At": [89, 121], "troubleshoot": [89, 96], "timeout": [89, 108], "misconfigur": 89, "contact": 89, "simul": 90, "length": [90, 124], "modifi": 91, "track": 93, "statu": 93, "commun": 93, "poll": [93, 108, 121], "stall": 94, "databas": 95, "author": 96, "access": [96, 114], "authoris": 96, "permiss": 96, "site": [96, 123], "implement": [97, 107], "background": 99, "loadlevel": 100, "lsf": 101, "moab": 102, "sge": [104, 108], "slurm": 105, "slurm_packjob": 106, "inlin": [107, 123], "interpret": 107, "avoid": [107, 121], "detach": 107, "pipe": 107, "direct": 108, "provid": 108, "quirk": 108, "stdout": 108, "stderr": 108, "kill": 108, "execut": [108, 117, 121], "free": 109, "where": 109, "directli": 109, "highlight": 110, "For": 110, "gross": 110, "structur": 110, "lint": 110, "style": [110, 124], "s001": 110, "s002": 110, "s003": 110, "s004": 110, "s005": 110, "s006": 110, "s007": 110, "s008": 110, "s009": 110, "s010": 110, "s011": 110, "s012": 110, "s013": 110, "u001": 110, "u002": 110, "u003": 110, "u004": 110, "u005": 110, "u006": 110, "u007": 110, "u008": 110, "u009": 110, "u010": 110, "u011": 110, "u012": 110, "u013": 110, "u014": 110, "u015": 110, "u016": 110, "project": 110, "level": 110, "empi": 111, "context": [111, 114], "extern": [112, 116, 117, 118, 121], "function": [112, 121], "toi": 112, "echo": 112, "xrandom": 112, "current": [112, 118], "filesystem": 112, "watcher": 112, "push": 112, "off": 112, "filter": 114, "test": 114, "associ": 114, "arrai": 114, "valu": [114, 115], "z": 114, "scope": 114, "rais": 114, "except": 114, "assert": 114, "import": 114, "modul": 114, "debug": 114, "expans": 115, "pad": 115, "pass": 115, "select": [115, 116, 121], "partial": 115, "rang": 115, "offset": 115, "defin": 116, "onc": 116, "parent": 116, "first": 116, "visual": [116, 120], "intern": [116, 118, 121], "implicit": 116, "handler": [116, 117], "email": 116, "late": 116, "mail": 117, "pool": 117, "load": 117, "balanc": 117, "split": 118, "long": 118, "rule": 118, "r": 118, "interv": 118, "4": 118, "referenc": 118, "rel": 118, "now": 118, "2018": 118, "03": 118, "14t15": 118, "12z": 118, "truncat": 118, "date": 118, "cylc_workflow_initial_cycle_point": 118, "an": [118, 123], "condit": 118, "effici": [118, 120], "inter": 118, "sequenti": 118, "futur": 118, "expir": 118, "activ": [118, 121], "runahead": [118, 121], "omit": 118, "remain": 119, "maintain": 120, "By": [120, 121], "app": [120, 121, 123], "principl": 121, "zone": 121, "fine": 121, "Or": 121, "coars": 121, "grain": 121, "bunch": 121, "monolith": 121, "interdepend": 121, "self": 121, "contain": 121, "confin": 121, "code": [121, 124], "standard": 121, "metadata": 121, "complianc": 121, "independ": 121, "restrict": 121, "housekeep": 121, "complex": 121, "io": 121, "vari": 121, "autom": 121, "recoveri": 121, "includ": [121, 123], "design": 122, "portabl": 123, "switch": 123, "agnost": 123, "collabor": 123, "research": 123, "oper": 123, "transit": 123, "guidelin": 124, "tab": 124, "charact": 124, "trail": 124, "whitespac": 124, "comment": 124, "titl": 124, "url": 124, "convent": 124, "um": 124}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx": 60}, "alltitles": {"Cylc 8.3 Caveats": [[0, "cylc-version-caveats"]], "Cylc Flow": [[0, "cylc-flow"], [23, "cylc-flow"], [52, "cylc-flow"]], "Browser Based UI": [[0, "browser-based-ui"]], "Terminal User Interface": [[0, "terminal-user-interface"]], "UI Server": [[0, "ui-server"]], "Cheat Sheet": [[1, "cheat-sheet"]], "Validating": [[1, "validating"]], "Installing & Running": [[1, "installing-running"]], "Reloading": [[1, "reloading"]], "Pausing & Unpausing": [[1, "pausing-unpausing"]], "Stopping": [[1, "stopping"]], "Restarting": [[1, "restarting"]], "Deleting": [[1, "deleting"]], "Scanning": [[1, "scanning"]], "View A Workflow\u2019s Configuration": [[1, "view-a-workflow-s-configuration"]], "Opening User Interfaces": [[1, "opening-user-interfaces"]], "Static Graph Visualisation": [[1, "static-graph-visualisation"]], "Rose Stem": [[1, "rose-stem"], [24, "rose-stem"]], "Cylc 8 Migration Guide": [[2, "cylc-8-migration-guide"]], "Command Line Interface": [[3, "command-line-interface"]], "Does This Change Affect Me?": [[3, null], [4, null], [6, null], [7, null], [8, null], [11, null], [12, null], [13, null], [16, null], [18, null]], "Overview": [[3, "overview"], [4, "overview"], [7, "overview"], [8, "overview"], [10, "overview"], [11, "overview"], [12, "overview"], [13, "overview"], [14, "overview"], [18, "overview"]], "Full List Of Command Changes": [[3, "full-list-of-command-changes"]], "Cylc 8 Standardised IDs": [[3, "cylc-8-standardised-ids"]], "Cylc 7 Compatibility Mode": [[4, "cylc-7-compatibility-mode"], [20, "cylc-7-compatibility-mode"]], "Required Changes": [[4, "required-changes"], [16, "required-changes"]], "Cylc commands in task scripts": [[4, "cylc-commands-in-task-scripts"], [4, "compat-eg-cylc-commands"]], "Python 2 to 3": [[4, "python-2-to-3"]], "Other caveats": [[4, "other-caveats"]], "Examples": [[4, "examples"], [11, "examples"], [35, "examples"], [96, "examples"], [116, "examples"]], "Validating with Cylc 7": [[4, "validating-with-cylc-7"]], "Renaming to flow.cylc": [[4, "renaming-to-flow-cylc"]], "Configuration Changes at Cylc 8": [[5, "configuration-changes-at-cylc-8"]], "Graph": [[5, "graph"]], "Fixing deprecation warnings": [[5, "fixing-deprecation-warnings"]], "Platforms": [[5, "platforms"], [11, "platforms"]], "Continuing a Cylc 7 Workflow with Cylc 8": [[6, "continuing-a-cylc-7-workflow-with-cylc-8"]], "Cylc Install": [[7, "cylc-install"], [20, "cylc-install"]], "Remote Installation": [[7, "remote-installation"]], "Migrating From rose suite-run": [[7, "migrating-from-rose-suite-run"]], "Installation": [[7, null], [23, "installation"]], "Notable differences to rose suite-run": [[7, "notable-differences-to-rose-suite-run"]], "Excluding Tasks at Start-up is Not Supported": [[8, "excluding-tasks-at-start-up-is-not-supported"]], "Detailed Description of Major Changes": [[9, "detailed-description-of-major-changes"]], "Parameters": [[10, "parameters"]], "does this change affect me?": [[10, null], [14, null]], "Example": [[10, "example"], [11, "example"], [16, "example"], [18, "example"], [24, "example"], [56, "example"], [57, "example"], [61, "example"], [62, "example"], [67, "example"], [74, "example"]], "Migration": [[10, "migration"]], "Line Breaks": [[10, "line-breaks"]], "What is a Platform?": [[11, "what-is-a-platform"]], "Simple example": [[11, "simple-example"]], "A variety of other examples": [[11, "a-variety-of-other-examples"]], "How Cylc 8 handles host-to-platform upgrades": [[11, "how-cylc-8-handles-host-to-platform-upgrades"]], "Play Pause Stop": [[12, "play-pause-stop"]], "Re-Running Workflows": [[12, "re-running-workflows"]], "Hold & Release": [[12, "hold-release"]], "Mapping To Old Commands": [[12, "mapping-to-old-commands"]], "Python 2 => 3": [[13, "python-2-3"]], "Impacted Scripts": [[13, "impacted-scripts"]], "Package Name Changes": [[13, "package-name-changes"]], "Jinja2 - integers with leading zeros": [[13, "jinja2-integers-with-leading-zeros"]], "Rose": [[13, "rose"]], "Remote Usernames": [[14, "remote-usernames"]], "Scheduling Algorithm": [[15, "scheduling-algorithm"], [20, "scheduling-algorithm"]], "Graph branching, optional outputs and suicide triggers": [[16, "graph-branching-optional-outputs-and-suicide-triggers"]], "Task/Job States": [[17, "task-job-states"], [20, "task-job-states"]], "Template Variables": [[18, "template-variables"]], "Changes": [[18, "changes"], [42, "changes"]], "New Features": [[18, "new-features"]], "Any valid Python literals": [[18, "any-valid-python-literals"]], "Shorthand for list of strings": [[18, "shorthand-for-list-of-strings"]], "Cylc 8 UIs": [[19, "cylc-8-uis"]], "Cylc TUI": [[19, "cylc-tui"]], "Cylc Web GUI": [[19, "cylc-web-gui"]], "Summary Of Major Changes": [[20, "summary-of-major-changes"]], "Terminology": [[20, "terminology"]], "Upgrading To Cylc 8": [[20, "upgrading-to-cylc-8"]], "New Web and Terminal UIs": [[20, "new-web-and-terminal-uis"]], "Command Changes": [[20, "command-changes"]], "Optional and Required Task Outputs": [[20, "optional-and-required-task-outputs"]], "Platform Awareness": [[20, "platform-awareness"]], "Workflow Installation": [[20, "workflow-installation"]], "File Installation": [[20, "file-installation"]], "Symlink Dirs": [[20, "symlink-dirs"]], "Removing Workflows": [[20, "removing-workflows"], [81, "removing-workflows"]], "Architecture": [[20, "architecture"], [40, "architecture"]], "Other Changes": [[20, "other-changes"]], "Glossary": [[21, "glossary"]], "Cylc 7": [[21, null], [21, null], [21, null], [21, null], [21, null]], "Cylc Documentation": [[22, "cylc-documentation"]], "Quick Installation": [[23, "quick-installation"]], "Via Conda (recommended)": [[23, "via-conda-recommended"]], "Via Pip (+npm)": [[23, "via-pip-npm"]], "Non-Python Requirements": [[23, "non-python-requirements"]], "Installing On Mac OS": [[23, "installing-on-mac-os"]], "Advanced Installation": [[23, "advanced-installation"]], "The Cylc Components": [[23, "the-cylc-components"]], "Installation Types": [[23, "installation-types"]], "Recommended Installation": [[23, "recommended-installation"]], "Managing Environments": [[23, "managing-environments"]], "Configuration": [[23, "configuration"], [45, "configuration"]], "Cylc UI Server": [[23, "cylc-ui-server"], [40, "cylc-ui-server"], [41, "cylc-ui-server"]], "Bash Profile": [[23, "bash-profile"]], "Shell Auto-Completion": [[23, "shell-auto-completion"]], "Text Editors": [[23, "text-editors"]], "Cylc Rose": [[24, "cylc-rose"], [52, "cylc-rose"]], "Rose Suite Configurations": [[24, "rose-suite-configurations"]], "Configuration File": [[24, "configuration-file"]], "Special Variables": [[24, "special-variables"]], "Additional CLI options": [[24, "additional-cli-options"]], "Cylc Install Optional Config": [[24, "cylc-install-optional-config"]], "Plugins": [[25, "plugins"]], "cylc.flow.install_plugins.log_vc_info": [[26, "module-cylc.flow.install_plugins.log_vc_info"]], "Pre-Configure And Post-Install Plugins": [[27, "pre-configure-and-post-install-plugins"]], "Built In Plugins": [[27, "built-in-plugins"], [35, "built-in-plugins"]], "Developing pre_configure and post_install plugins": [[27, "developing-pre-configure-and-post-install-plugins"]], "Hello World": [[27, "hello-world"], [35, "hello-world"]], "API Reference": [[27, "api-reference"]], "More advanced example": [[27, "more-advanced-example"]], "Custom Job Submission Methods": [[28, "custom-job-submission-methods"]], "cylc.flow.main_loop.auto_restart": [[29, "module-cylc.flow.main_loop.auto_restart"]], "Python API": [[29, "python-api"], [30, "python-api"], [31, "python-api"], [32, "python-api"], [33, "python-api"], [34, "python-api"]], "cylc.flow.main_loop.health_check": [[30, "module-cylc.flow.main_loop.health_check"]], "cylc.flow.main_loop.log_data_store": [[31, "module-cylc.flow.main_loop.log_data_store"]], "cylc.flow.main_loop.log_main_loop": [[32, "module-cylc.flow.main_loop.log_main_loop"]], "cylc.flow.main_loop.log_memory": [[33, "module-cylc.flow.main_loop.log_memory"]], "cylc.flow.main_loop.reset_bad_hosts": [[34, "module-cylc.flow.main_loop.reset_bad_hosts"]], "Main Loop Plugins": [[35, "module-cylc.flow.main_loop"]], "Configuring": [[35, "configuring"]], "Developing Main Loop Plugins": [[35, "developing-main-loop-plugins"]], "Coroutines": [[35, "coroutines"]], "Event Types": [[35, "event-types"]], "Cylc API": [[36, "cylc-api"]], "Scan API": [[37, "module-cylc.flow.network.scan"]], "Workflow Runtime Interface": [[38, "workflow-runtime-interface"]], "Client": [[38, "client"]], "Server": [[38, "server"]], "Data Flow": [[39, "data-flow"]], "Protocols, Transport & Security": [[39, "protocols-transport-security"]], "ZMQ (Over TCP)": [[39, "zmq-over-tcp"]], "SSH": [[39, "ssh"]], "HTTPS (Hypertext Transfer Protocol Secure)": [[39, "https-hypertext-transfer-protocol-secure"]], "WSS (WebSocket Secure)": [[39, "wss-websocket-secure"]], "Formats": [[39, "formats"]], "Protobuf": [[39, "protobuf"]], "GraphQL": [[39, "graphql"]], "Component Interactions": [[39, "component-interactions"]], "Job -> Scheduler": [[39, "job-scheduler"]], "Client -> Scheduler": [[39, "client-scheduler"]], "Scheduler -> UI Server": [[39, "scheduler-ui-server"]], "UI Server -> UI": [[39, "ui-server-ui"]], "Cylc Scheduler": [[40, "cylc-scheduler"]], "Cylc UI": [[40, "cylc-ui"]], "Cylc Hub": [[40, "cylc-hub"]], "Network layers": [[40, "network-layers"]], "Further Reading": [[40, "further-reading"], [61, "further-reading"], [62, "further-reading"]], "Jupyter Server": [[41, "jupyter-server"]], "Single-User Mode": [[41, "single-user-mode"]], "Authentication Overview": [[41, null], [41, null]], "Jupyter Hub": [[41, "jupyter-hub"]], "Multi-User Mode": [[41, "multi-user-mode"]], "Cylc 8.3.0": [[42, "cylc-8-3-0"]], "Cylc Components": [[42, null], [42, null], [42, null], [42, null]], "Upgrade To The Latest Jupyter Releases": [[42, "upgrade-to-the-latest-jupyter-releases"]], "Cylc 8.2.0": [[42, "cylc-8-2-0"]], "Configure The Default View": [[42, "configure-the-default-view"]], "Reload": [[42, "reload"]], "Cylc 8.1.0": [[42, "cylc-8-1-0"]], "Graph View": [[42, "graph-view"]], "Log View": [[42, "log-view"]], "Edit Runtime": [[42, "edit-runtime"]], "Analysis View": [[42, "analysis-view"]], "Combined Commands": [[42, "combined-commands"]], "Bash Completion": [[42, "bash-completion"]], "Cylc 8.0.0": [[42, "cylc-8-0-0"]], "The .cylc File Format": [[43, "the-cylc-file-format"]], "Syntax": [[43, "syntax"]], "Shorthand": [[43, "shorthand"], [74, "shorthand"]], "Global Configuration": [[44, "global-configuration"]], "Cylc Configuration Data Types": [[47, "cylc-configuration-data-types"]], "UI Server Configuration": [[48, "ui-server-configuration"]], "Workflow Configuration": [[49, "workflow-configuration"], [110, "workflow-configuration"]], "Cylc 7 compatibility mode": [[49, null], [49, null]], "Use Case": [[49, null]], "Platform Configuration": [[50, "platform-configuration"], [117, "platform-configuration"]], "Writing Platform Configurations": [[50, "writing-platform-configurations"]], "Listing available platforms": [[50, "listing-available-platforms"]], "What Are Platforms?": [[50, "what-are-platforms"]], "Why Were Platforms Introduced?": [[50, "why-were-platforms-introduced"]], "What Are Install Targets?": [[50, "what-are-install-targets"]], "Example Platform Configurations": [[50, "example-platform-configurations"]], "Submit PBS Jobs from Localhost": [[50, "submit-pbs-jobs-from-localhost"]], "Scenario": [[50, null], [50, null], [50, null], [50, null], [50, null]], "Multiple Platforms Sharing File System with Cylc Scheduler": [[50, "multiple-platforms-sharing-file-system-with-cylc-scheduler"]], "Cluster with Multiple Login Nodes": [[50, "cluster-with-multiple-login-nodes"]], "Grouping Platforms": [[50, "grouping-platforms"]], "Symlinking Directories": [[50, "symlinking-directories"]], "Advanced Platform Example": [[50, "advanced-platform-example"]], "Platform with no $HOME directory": [[50, "platform-with-no-home-directory"]], "Cylc Development History - Major Changes": [[51, "cylc-development-history-major-changes"]], "Conda Environments": [[52, "conda-environments"]], "Cylc UIServer": [[52, "cylc-uiserver"]], "Adding Cylc To Your Conda Package": [[52, "adding-cylc-to-your-conda-package"]], "Working With Other Conda Channels": [[52, "working-with-other-conda-channels"]], "Reference": [[53, "reference"]], "Job Script Environment Variables": [[54, "job-script-environment-variables"]], "Broadcast Tutorial": [[55, "broadcast-tutorial"]], "Purpose": [[55, "purpose"], [62, "purpose"]], "Standalone Example": [[55, "standalone-example"]], "In-Situ Example": [[55, "in-situ-example"]], "Clock Triggered Tasks": [[56, "clock-triggered-tasks"]], "Clock Triggering": [[56, "clock-triggering"]], "Clock-Triggering Tasks": [[56, "clock-triggering-tasks"]], "Adding More Clock-Triggered Tasks": [[56, "adding-more-clock-triggered-tasks"]], "Summary": [[56, "summary"], [57, "summary"]], "Family Triggers": [[57, "family-triggers"], [118, "family-triggers"], [118, "optional-outputs-family-triggers"]], "Explanation": [[57, "explanation"], [60, "explanation"]], "Family Triggering: Success": [[57, "family-triggering-success"]], "Family Triggering: Failure": [[57, "family-triggering-failure"]], "Different Triggers": [[57, "different-triggers"]], "Further Topics": [[58, "further-topics"]], "Inheritance": [[59, "inheritance"], [121, "inheritance"]], "Inheritance Hierarchy": [[59, "inheritance-hierarchy"]], "Reminder": [[59, null], [72, null]], "Multiple Inheritance": [[59, "multiple-inheritance"]], "Hint": [[59, null], [59, null], [71, null], [71, null], [71, null], [71, null], [72, null]], "More Inheritance": [[59, "more-inheritance"]], "Engine Type": [[59, "engine-type"]], "Solution": [[59, null], [59, null], [59, null], [59, null], [60, null], [60, null], [68, null], [68, null], [71, null], [72, null], [72, null], [74, null], [76, null]], "Penny Farthing": [[59, "penny-farthing"]], "Hovercraft": [[59, "hovercraft"]], "Finished Workflow": [[59, "finished-workflow"]], "Message Triggers": [[60, "message-triggers"], [118, "message-triggers"]], "Usage": [[60, "usage"]], "How to create a message trigger": [[60, "how-to-create-a-message-trigger"]], "Practical": [[60, "message-triggers-practical"], [65, "cylc-tutorial-families-practical"], [67, "cylc-tutorial-jinja2-practical"], [68, "cylc-tutorial-parameters-practical"], [70, null], [71, "tutorial-cylc-runtime-forecasting-workflow"], [72, "datetime-cycling-practical"], [74, null], [76, "basic-cycling-practical"]], "Queues": [[61, "queues"]], "Retries": [[62, "retries"], [71, "retries"]], "Running Without Retries": [[62, "running-without-retries"]], "Configuring Retries": [[62, "configuring-retries"]], "Running With Retries": [[62, "running-with-retries"]], "Altering Behaviour": [[62, "altering-behaviour"]], "Tutorial": [[63, "tutorial"]], "Introduction": [[64, "introduction"], [70, "introduction"], [80, "introduction"]], "What Is A Workflow?": [[64, "what-is-a-workflow"]], "What Is Cylc?": [[64, "what-is-cylc"]], "Families": [[65, "families"]], "Runtime": [[65, "runtime"], [69, "runtime"]], "Graphing": [[65, "graphing"]], "The root Family": [[65, "the-root-family"]], "Consolidating Configuration": [[66, "consolidating-configuration"]], "The cylc config Command": [[66, "the-cylc-config-command"]], "The Three Approaches": [[66, "the-three-approaches"]], "Which Approach To Use": [[66, "which-approach-to-use"]], "Jinja2": [[67, "jinja2"], [114, "jinja2"]], "The Jinja2 Language": [[67, "the-jinja2-language"]], "Parameterized Tasks": [[68, "parameterized-tasks"], [120, "parameterized-tasks"]], "Cylc Parameters": [[68, "cylc-parameters"]], "Environment Variables": [[68, "environment-variables"], [71, "environment-variables"], [114, "environment-variables"]], "Parameter Types": [[68, "parameter-types"]], "Task Definitions": [[70, "task-definitions"]], "The script Setting": [[70, "the-script-setting"]], "PATH and PYTHONPATH": [[70, "path-and-pythonpath"]], "Tasks And Jobs": [[70, "tasks-and-jobs"]], "The Cylc User Interfaces": [[70, "the-cylc-user-interfaces"]], "The Cylc CLI": [[70, "the-cylc-cli"]], "The Cylc TUI": [[70, "the-cylc-tui"]], "The Cylc GUI": [[70, "the-cylc-gui"]], "Task & Job States": [[70, "task-job-states"], [91, "task-job-states"]], "Validating A Workflow": [[70, "validating-a-workflow"]], "Installing A Workflow": [[70, "installing-a-workflow"]], "Running a workflow": [[70, "running-a-workflow"]], "Generated Workflow Files": [[70, "generated-workflow-files"]], "Numbered run directories": [[70, "numbered-run-directories"]], "Files Generated at Runtime": [[70, "files-generated-at-runtime"]], "Runtime Configuration": [[71, "runtime-configuration"]], "Job Submission": [[71, "job-submission"]], "Time Limits": [[71, "time-limits"]], "Start, Stop, Restart": [[71, "start-stop-restart"]], "Datetime Cycling": [[72, "datetime-cycling"]], "Aims": [[72, null], [73, null], [74, null], [76, null]], "ISO8601": [[72, "iso8601"]], "ISO8601 Datetimes": [[72, "iso8601-datetimes"]], "ISO8601 Durations": [[72, "iso8601-durations"]], "Datetime Recurrences": [[72, "datetime-recurrences"]], "Inferred Recurrence": [[72, "inferred-recurrence"]], "Recurrence Formats": [[72, "recurrence-formats"]], "Durations and the Initial Cycle Point": [[72, "durations-and-the-initial-cycle-point"]], "The Initial and Final Cycle Points": [[72, "the-initial-and-final-cycle-points"]], "Intercycle Dependencies": [[72, "intercycle-dependencies"], [76, "intercycle-dependencies"]], "UTC Mode": [[72, "utc-mode"]], "Putting It All Together": [[72, "putting-it-all-together"]], "1. Gathering Observations": [[72, "gathering-observations"]], "2. Running Computer Models to Generate Forecast Data": [[72, "running-computer-models-to-generate-forecast-data"]], "3. Processing the data output to produce user-friendly forecasts": [[72, "processing-the-data-output-to-produce-user-friendly-forecasts"]], "Further Scheduling": [[73, "further-scheduling"]], "Qualifiers": [[73, "qualifiers"]], "Clock Triggers": [[73, "clock-triggers"], [118, "clock-triggers"]], "Alternative Calendars": [[73, "alternative-calendars"]], "The flow.cylc File Format": [[74, "the-flow-cylc-file-format"]], "Duplicate Items": [[74, "duplicate-items"]], "Indentation": [[74, "indentation"], [124, "indentation"]], "The Dependency Graph": [[74, "the-dependency-graph"]], "Graph Strings": [[74, "graph-strings"]], "Note": [[74, null], [74, null]], "Cylc Graphs": [[74, "cylc-graphs"]], "Scheduling": [[75, "scheduling"]], "Basic Cycling": [[76, "basic-cycling"]], "Repeating Workflows": [[76, "repeating-workflows"]], "Recurrence Sections": [[76, "recurrence-sections"]], "Compound Commands": [[77, "compound-commands"]], "cylc vip (Validate, Install and Play)": [[77, "cylc-vip-validate-install-and-play"]], "cylc vr (Validate, Reinstall and Reload or Play)": [[77, "cylc-vr-validate-reinstall-and-reload-or-play"]], "User Guide": [[78, "user-guide"]], "Installing Workflows": [[79, "installing-workflows"]], "The Cylc Install Command": [[79, "the-cylc-install-command"]], "Using Cylc Install": [[79, "using-cylc-install"]], "Options": [[79, "options"]], "Configurable Source Directories": [[79, "configurable-source-directories"]], "Numbered Runs": [[79, "numbered-runs"]], "Named Runs": [[79, "named-runs"]], "Symlink Directories": [[79, "symlink-directories"]], "The Cylc Install Process": [[79, "the-cylc-install-process"]], "1. File Installation": [[79, "file-installation"]], "Excluding Items From Installation": [[79, "excluding-items-from-installation"]], "Example Installation": [[79, "example-installation"]], "2. Symlinking of Directories": [[79, "symlinking-of-directories"]], "Override default symlink locations": [[79, "override-default-symlink-locations"]], "To skip making localhost symlinks": [[79, "to-skip-making-localhost-symlinks"]], "Automatically Generated Directories and Files": [[79, "automatically-generated-directories-and-files"]], "Reinstalling a Workflow": [[79, "reinstalling-a-workflow"]], "Expected Errors": [[79, "expected-errors"]], "What is a Workflow?": [[80, "what-is-a-workflow"]], "Related Tutorial": [[80, null], [80, null], [114, null], [116, null], [118, null], [118, null], [118, null], [118, null], [118, null]], "What is Cylc?": [[80, "what-is-cylc"]], "Cylc and Cycling Workflows": [[80, "cylc-and-cycling-workflows"]], "How to Run User Guide Examples": [[80, "how-to-run-user-guide-examples"]], "Cleaning on remote install targets": [[81, "cleaning-on-remote-install-targets"]], "Cleaning specific subdirectories or files": [[81, "cleaning-specific-subdirectories-or-files"]], "A note on symlink directories": [[81, "a-note-on-symlink-directories"]], "Does this affect me?": [[81, null]], "Client-Server Interaction": [[82, "client-server-interaction"]], "Authentication Files": [[82, "authentication-files"], [89, "authentication-files"]], "Cylc Broadcast": [[83, "cylc-broadcast"]], "Handling Job Preemption": [[84, "handling-job-preemption"]], "Running Workflows": [[85, "running-workflows"]], "Concurrent Flows": [[86, "concurrent-flows"]], "Flow Numbers": [[86, "flow-numbers"]], "Triggering & Flows": [[86, "triggering-flows"]], "Flow Merging in n=0": [[86, "flow-merging-in-n-0"]], "Merging with Incomplete tasks": [[86, "merging-with-incomplete-tasks"]], "Stopping Flows": [[86, "stopping-flows"]], "Some Use Cases": [[86, "some-use-cases"]], "Example: Rerun a Sub-Graph": [[86, "example-rerun-a-sub-graph"]], "Retrying Tasks": [[87, "retrying-tasks"]], "Aborting a Retry Sequence": [[87, "aborting-a-retry-sequence"]], "Scheduler Logs": [[88, "scheduler-logs"]], "Cylc Message": [[88, "cylc-message"]], "Start, Restart, Reload": [[89, "start-restart-reload"]], "Start and Stop vs Initial and Final Cycle Points": [[89, "start-and-stop-vs-initial-and-final-cycle-points"]], "Restarts and the Initial, Final, Start and Stop Cycle Points": [[89, "restarts-and-the-initial-final-start-and-stop-cycle-points"]], "Reloading the Workflow Configuration at Runtime": [[89, "reloading-the-workflow-configuration-at-runtime"]], "Restarting or Reloading after Graph Changes": [[89, "restarting-or-reloading-after-graph-changes"]], "Remote Initialization": [[89, "remote-initialization"]], "Installing Custom Files At Start-up": [[89, "installing-custom-files-at-start-up"]], "Troubleshooting": [[89, "troubleshooting"]], "Timeout": [[89, "timeout"]], "Misconfiguration": [[89, "misconfiguration"]], "Files created at workflow start": [[89, "files-created-at-workflow-start"]], "Configuration Logs": [[89, "configuration-logs"]], "The Workflow Contact File": [[89, "the-workflow-contact-file"]], "Simulation Modes": [[90, "simulation-modes"]], "Simulated Run Length": [[90, "simulated-run-length"]], "Limitations": [[90, "limitations"]], "Task Modifiers": [[91, "task-modifiers"]], "Tasks in the UI": [[92, "tasks-in-the-ui"]], "Tracking Job Status": [[93, "tracking-job-status"]], "TCP Task Messaging": [[93, "tcp-task-messaging"]], "SSH Task Communication": [[93, "ssh-task-communication"]], "Polling to Track Job Status": [[93, "polling-to-track-job-status"]], "Workflow Completion": [[94, "workflow-completion"]], "Scheduler Stall": [[94, "scheduler-stall"]], "Workflow Run Databases": [[95, "workflow-run-databases"]], "Authorizing Others to Access Your Workflows": [[96, "authorizing-others-to-access-your-workflows"]], "Jupyter Hub Authorisation": [[96, "jupyter-hub-authorisation"]], "Jupyter Server Authorisation": [[96, "jupyter-server-authorisation"]], "Cylc User Authorisation": [[96, "cylc-user-authorisation"]], "Users": [[96, "users"]], "Permissions": [[96, "permissions"]], "Cylc Site Configuration": [[96, "cylc-site-configuration"]], "Group Support": [[96, "group-support"]], "Example Site Authorization Configuration": [[96, "example-site-authorization-configuration"]], "Interacting with Others\u2019 Workflows": [[96, "interacting-with-others-workflows"]], "Troubleshooting Authorization": [[96, "troubleshooting-authorization"]], "Task Implementation": [[97, "task-implementation"], [107, "task-implementation"]], "at": [[98, "module-cylc.flow.job_runner_handlers.at"]], "background": [[99, "module-cylc.flow.job_runner_handlers.background"]], "loadleveler": [[100, "module-cylc.flow.job_runner_handlers.loadleveler"]], "lsf": [[101, "module-cylc.flow.job_runner_handlers.lsf"]], "moab": [[102, "module-cylc.flow.job_runner_handlers.moab"]], "pbs": [[103, "module-cylc.flow.job_runner_handlers.pbs"]], "sge": [[104, "module-cylc.flow.job_runner_handlers.sge"]], "slurm": [[105, "module-cylc.flow.job_runner_handlers.slurm"]], "slurm_packjob": [[106, "module-cylc.flow.job_runner_handlers.slurm_packjob"]], "Job Scripts": [[107, "job-scripts"]], "Inlined Tasks": [[107, "inlined-tasks"]], "Interpreter": [[107, "interpreter"]], "Task Messages": [[107, "task-messages"]], "Aborting Job Scripts on Error": [[107, "aborting-job-scripts-on-error"]], "Custom Failure Messages": [[107, "custom-failure-messages"]], "Avoid Detaching Processes": [[107, "avoid-detaching-processes"]], "Use of Pipes in Job Scripts": [[107, "use-of-pipes-in-job-scripts"]], "Job Submission and Management": [[108, "job-submission-and-management"]], "Supported Job Submission Methods": [[108, "supported-job-submission-methods"]], "Default Directives Provided": [[108, "default-directives-provided"]], "Directives Section Quirks (PBS, SGE, \u2026)": [[108, "directives-section-quirks-pbs-sge"]], "Task stdout and stderr Logs": [[108, "task-stdout-and-stderr-logs"]], "Overriding The Job Submission Command": [[108, "overriding-the-job-submission-command"]], "Job Polling": [[108, "job-polling"]], "Job Killing": [[108, "job-killing"]], "Execution Time Limit": [[108, "execution-time-limit"]], "Execution Time Limit and Execution Timeout": [[108, "execution-time-limit-and-execution-timeout"]], "Remote Job Management": [[109, "remote-job-management"]], "SSH-free Job Management?": [[109, "ssh-free-job-management"]], "SSH-based Job Management": [[109, "ssh-based-job-management"]], "Other Cases Where Cylc Uses SSH Directly": [[109, "other-cases-where-cylc-uses-ssh-directly"]], "The flow.cylc File": [[110, "the-flow-cylc-file"]], "Workflow Configuration Directories": [[110, "workflow-configuration-directories"]], "Syntax Highlighting For Workflow Configuration": [[110, "syntax-highlighting-for-workflow-configuration"]], "Gross File Structure": [[110, "gross-file-structure"]], "Validation": [[110, "validation"]], "cylc lint": [[110, "module-cylc.flow.scripts.lint"]], "Style": [[110, "style"]], "S001": [[110, "id2"]], "S002": [[110, "id3"]], "S003": [[110, "id4"]], "S004": [[110, "id5"]], "S005": [[110, "id6"]], "S006": [[110, "id7"]], "S007": [[110, "id8"]], "S008": [[110, "s008"]], "S009": [[110, "id9"]], "S010": [[110, "id10"]], "S011": [[110, "s011"]], "S012": [[110, "id11"]], "S013": [[110, "s013"]], "7 to 8 upgrades": [[110, "to-8-upgrades"]], "U001": [[110, "u001"]], "U002": [[110, "u002"]], "U003": [[110, "u003"]], "U004": [[110, "u004"]], "U005": [[110, "u005"]], "U006": [[110, "id12"]], "U007": [[110, "id13"]], "U008": [[110, "u008"]], "U009": [[110, "u009"]], "U010": [[110, "id14"]], "U011": [[110, "id15"]], "U012": [[110, "id16"]], "U013": [[110, "id17"]], "U014": [[110, "id18"]], "U015": [[110, "id19"]], "U016": [[110, "id20"]], "Auto Generated 7 to 8 upgrades": [[110, "auto-generated-7-to-8-upgrades"]], "Configure cylc lint at project level": [[110, "configure-cylc-lint-at-project-level"]], "EmPy": [[111, "empy"]], "Workflow files and Context Variables": [[111, "workflow-files-and-context-variables"]], "External Triggers": [[112, "external-triggers"], [118, "external-triggers"]], "Built-in Clock Triggers": [[112, "built-in-clock-triggers"]], "Built-in Workflow State Triggers": [[112, "built-in-workflow-state-triggers"]], "Custom Trigger Functions": [[112, "custom-trigger-functions"]], "Toy Examples": [[112, "toy-examples"]], "echo": [[112, "echo"]], "xrandom": [[112, "xrandom"]], "Current Limitations": [[112, "current-limitations"]], "Filesystem Events?": [[112, "filesystem-events"]], "Continuous Event Watchers?": [[112, "continuous-event-watchers"]], "Push External Triggers": [[112, "push-external-triggers"]], "Triggering Off Of Tasks In Other Workflows": [[112, "triggering-off-of-tasks-in-other-workflows"]], "Writing Workflows": [[113, "writing-workflows"]], "Access to Workflow Files": [[114, "access-to-workflow-files"]], "Workflow Context variables": [[114, "workflow-context-variables"]], "Custom Jinja2 Filters, Tests and Globals": [[114, "custom-jinja2-filters-tests-and-globals"]], "Associative Arrays In Jinja2": [[114, "associative-arrays-in-jinja2"]], "Default Values and Template Variables": [[114, "default-values-and-template-variables"]], "The -s, -z and --set-file Options": [[114, "the-s-z-and-set-file-options"]], "Using a plugin": [[114, "using-a-plugin"]], "Jinja2 Variable Scope": [[114, "jinja2-variable-scope"]], "Raising Exceptions": [[114, "raising-exceptions"]], "Raise": [[114, "raise"]], "Assert": [[114, "assert"]], "Importing Python modules": [[114, "importing-python-modules"]], "Logging": [[114, "logging"]], "Debugging": [[114, "debugging"]], "Task Parameters": [[115, "task-parameters"]], "Parameter Expansion": [[115, "parameter-expansion"]], "Zero-Padded Integer Values": [[115, "zero-padded-integer-values"]], "Parameters as Full Task Names": [[115, "parameters-as-full-task-names"]], "Passing Values To Tasks": [[115, "passing-values-to-tasks"]], "Selecting Specific Values": [[115, "selecting-specific-values"]], "Selecting Partial Ranges": [[115, "selecting-partial-ranges"]], "Offsets in the Graph": [[115, "offsets-in-the-graph"]], "Task Families and Parameters": [[115, "task-families-and-parameters"]], "Parameterized Cycling": [[115, "parameterized-cycling"]], "Parameterized Sub-Cycles": [[115, "parameterized-sub-cycles"]], "Offsets at Sequence Start": [[115, "offsets-at-sequence-start"]], "Task Configuration": [[116, "task-configuration"]], "Task and Family Names": [[116, "task-and-family-names"]], "The Root Family": [[116, "the-root-family"]], "Defining Multiple Tasks or Families at Once": [[116, "defining-multiple-tasks-or-families-at-once"]], "Families of Families": [[116, "families-of-families"]], "Inheriting from Multiple Parents": [[116, "inheriting-from-multiple-parents"]], "First-parent Family Hierarchy for Visualization": [[116, "first-parent-family-hierarchy-for-visualization"]], "Job Environment": [[116, "job-environment"]], "Overriding Inherited Environment Variables": [[116, "overriding-inherited-environment-variables"]], "Job Script Variables": [[116, "job-script-variables"]], "Workflow Share Directories": [[116, "workflow-share-directories"]], "Task Work Directories": [[116, "task-work-directories"]], "Remote Task Hosting": [[116, "remote-task-hosting"]], "Internal Platform and Host Selection": [[116, "internal-platform-and-host-selection"]], "External Platform Selection Scripts": [[116, "external-platform-selection-scripts"]], "Remote Job Log Directories": [[116, "remote-job-log-directories"]], "Implicit Tasks": [[116, "implicit-tasks"]], "Task Retry On Failure": [[116, "task-retry-on-failure"]], "Task Event Handling": [[116, "task-event-handling"]], "Event-Specific Handlers": [[116, "event-specific-handlers"]], "General Event Handlers": [[116, "general-event-handlers"]], "Task Event Template Variables": [[116, "task-event-template-variables"]], "Built-in Email Event Handler": [[116, "built-in-email-event-handler"]], "Late Events": [[116, "late-events"]], "Scheduler Configuration": [[117, "scheduler-configuration"]], "Workflow Event Handling": [[117, "workflow-event-handling"]], "Workflow Events": [[117, "workflow-events"]], "Mail Events": [[117, "mail-events"]], "Custom Event Handlers": [[117, "custom-event-handlers"]], "Workflow Event Template Variables": [[117, "workflow-event-template-variables"]], "External Command Execution": [[117, "external-command-execution"]], "Submitting Workflows To a Pool Of Hosts": [[117, "submitting-workflows-to-a-pool-of-hosts"]], "Host Pool": [[117, "host-pool"]], "Load Balancing": [[117, "load-balancing"]], "Workflow Migration": [[117, "workflow-migration"]], "Scheduling Configuration": [[118, "scheduling-configuration"]], "The Graph": [[118, "the-graph"]], "Splitting Up Long Graph Lines": [[118, "splitting-up-long-graph-lines"]], "Graph Types": [[118, "graph-types"]], "Non-Cycling": [[118, "non-cycling"]], "Cycling Graphs": [[118, "cycling-graphs"]], "Cycling Syntax Rules": [[118, "cycling-syntax-rules"]], "Format 3: R[limit?]/[datetime]/[interval]": [[118, "format-3-r-limit-datetime-interval"]], "Format 4: R[limit?]/[interval]/[datetime]": [[118, "format-4-r-limit-interval-datetime"]], "Format 1: R[limit?]/[datetime]/[datetime]": [[118, "format-1-r-limit-datetime-datetime"]], "Referencing The Initial And Final Cycle Points": [[118, "referencing-the-initial-and-final-cycle-points"]], "The Initial Cycle Point": [[118, "the-initial-cycle-point"]], "Setting The Initial Cycle Point Relative To The Current Time": [[118, "setting-the-initial-cycle-point-relative-to-the-current-time"]], "Relative initial cycle point examples for now = 2018-03-14T15:12Z": [[118, "id14"]], "Relative initial cycle point examples for now = 2018-03-14T15:12Z\n   using ISO8601 truncated dates.": [[118, "id15"]], "The Environment Variable CYLC_WORKFLOW_INITIAL_CYCLE_POINT": [[118, "the-environment-variable-cylc-workflow-initial-cycle-point"]], "How Multiple Graph Strings Combine": [[118, "how-multiple-graph-strings-combine"]], "Excluding Dates": [[118, "id2"]], "Excluding Recurrences": [[118, "excluding-recurrences"]], "Advanced Examples": [[118, "advanced-examples"]], "Advanced Starting Up": [[118, "advanced-starting-up"]], "Integer Cycling": [[118, "integer-cycling"]], "Advanced Integer Cycling Syntax": [[118, "advanced-integer-cycling-syntax"]], "An Integer Cycling Example": [[118, "an-integer-cycling-example"]], "Task Triggering": [[118, "task-triggering"]], "Success Triggers": [[118, "success-triggers"]], "Failure Triggers": [[118, "failure-triggers"]], "Start Triggers": [[118, "start-triggers"]], "Finish Triggers": [[118, "finish-triggers"], [118, "id8"]], "Job Submission Triggers": [[118, "job-submission-triggers"]], "Conditional Triggers": [[118, "conditional-triggers"]], "Efficient Inter-Family Triggering": [[118, "efficient-inter-family-triggering"]], "Intercycle Triggers": [[118, "intercycle-triggers"]], "Special Sequential Tasks": [[118, "special-sequential-tasks"]], "Future Triggers": [[118, "future-triggers"]], "Clock-Expire Triggers": [[118, "clock-expire-triggers"]], "Required Outputs": [[118, "incomplete-tasks"]], "Optional Outputs": [[118, "user-guide-optional-outputs"]], "Family Finish Triggers": [[118, "family-finish-triggers"]], "Graph Branching": [[118, "graph-branching"]], "Basic Example": [[118, "basic-example"]], "Message Trigger Example": [[118, "message-trigger-example"]], "Limiting Workflow Activity": [[118, "limiting-workflow-activity"]], "Runahead Limiting": [[118, "runahead-limiting"], [121, "runahead-limiting"]], "Internal Queues": [[118, "internal-queues"], [121, "internal-queues"]], "Valid Task Cycle Points": [[118, "valid-task-cycle-points"]], "Omitting Tasks": [[118, "omitting-tasks"]], "Suicide Triggers": [[119, "suicide-triggers"]], "Remaining Use Case": [[119, "remaining-use-case"]], "Efficiency And Maintainability": [[120, "efficiency-and-maintainability"]], "The Task Family Hierarchy": [[120, "the-task-family-hierarchy"]], "Sharing By Inheritance": [[120, "sharing-by-inheritance"]], "Family Triggering": [[120, "family-triggering"]], "Family-to-Family Triggering": [[120, "family-to-family-triggering"]], "Task Families And Visualization": [[120, "task-families-and-visualization"]], "Generating Tasks Automatically": [[120, "generating-tasks-automatically"]], "Jinja2 Loops": [[120, "jinja2-loops"]], "Optional App Config Files": [[120, "optional-app-config-files"]], "Basic Principles": [[121, "basic-principles"]], "Cycle point time zone": [[121, "cycle-point-time-zone"]], "Fine Or Coarse-Grained Workflows": [[121, "fine-or-coarse-grained-workflows"]], "rose bunch": [[121, "rose-bunch"]], "Monolithic Or Interdependent Workflows": [[121, "monolithic-or-interdependent-workflows"]], "Self-Contained Workflows": [[121, "self-contained-workflows"]], "Avoiding External Files": [[121, "avoiding-external-files"]], "Confining Output To The Run Directory": [[121, "confining-output-to-the-run-directory"]], "Task Host Selection": [[121, "task-host-selection"]], "Task Scripting": [[121, "task-scripting"]], "Coding Standards": [[121, "coding-standards"]], "Basic Functionality": [[121, "basic-functionality"]], "Rose Apps": [[121, "rose-apps"]], "Rose Metadata Compliance": [[121, "rose-metadata-compliance"]], "Task Independence": [[121, "task-independence"]], "Clock-Triggered Tasks": [[121, "clock-triggered-tasks"]], "Rose App File Polling": [[121, "rose-app-file-polling"]], "Task Execution Time Limits": [[121, "task-execution-time-limits"]], "Restricting Workflow Activity": [[121, "restricting-workflow-activity"]], "Workflow Housekeeping": [[121, "workflow-housekeeping"]], "Complex Jinja2 Code": [[121, "complex-jinja2-code"]], "Shared Configuration": [[121, "shared-configuration"]], "Jinja2 Variables": [[121, "jinja2-variables"]], "Shared Task IO Paths": [[121, "shared-task-io-paths"]], "Varying Behaviour By Cycle Point": [[121, "varying-behaviour-by-cycle-point"]], "At Start-Up": [[121, "at-start-up"]], "Automating Failure Recovery": [[121, "automating-failure-recovery"]], "Job Submission Retries": [[121, "job-submission-retries"]], "Job Execution Retries": [[121, "job-execution-retries"]], "Failure Recovery Workflows": [[121, "failure-recovery-workflows"]], "Include Files": [[121, "include-files"]], "Workflow Design Guide": [[122, "workflow-design-guide"]], "Portable Workflows": [[123, "portable-workflows"]], "The Jinja2 SITE Variable": [[123, "the-jinja2-site-variable"]], "Site Include-Files": [[123, "site-include-files"]], "Site-Specific Graphs": [[123, "site-specific-graphs"]], "Inlined Site-Switching": [[123, "inlined-site-switching"]], "Site-Specific Workflow Variables": [[123, "site-specific-workflow-variables"]], "Site-Specific Optional Workflow Configs": [[123, "site-specific-optional-workflow-configs"]], "Site-Agnostic File Paths in App Configs": [[123, "site-agnostic-file-paths-in-app-configs"]], "Site-Specific Optional App Configs": [[123, "site-specific-optional-app-configs"]], "An Example": [[123, "an-example"]], "Collaborative Development Model": [[123, "collaborative-development-model"]], "Research-To-Operations Transition": [[123, "research-to-operations-transition"]], "Style Guidelines": [[124, "style-guidelines"]], "Tab Characters": [[124, "tab-characters"]], "Trailing Whitespace": [[124, "trailing-whitespace"]], "Settings (Config Items)": [[124, "settings-config-items"]], "Script String Lines": [[124, "script-string-lines"]], "Graph String Lines": [[124, "graph-string-lines"]], "Jinja2 Code": [[124, "jinja2-code"]], "Comments": [[124, "comments"]], "Titles, Descriptions, And URLs": [[124, "titles-descriptions-and-urls"]], "Line Length And Continuation": [[124, "line-length-and-continuation"]], "Task Naming Conventions": [[124, "task-naming-conventions"]], "UM System Task Names": [[124, "um-system-task-names"]], "Rose Config Files": [[124, "rose-config-files"]]}, "indexentries": {"iso 8601": [[21, "term-ISO-8601"]], "iso 8601 datetime": [[21, "term-ISO-8601-datetime"]], "iso 8601 duration": [[21, "term-ISO-8601-duration"]], "iso8601": [[21, "term-ISO8601"]], "iso8601 datetime": [[21, "term-ISO8601-datetime"]], "iso8601 duration": [[21, "term-ISO8601-duration"]], "active": [[21, "term-active"]], "active task": [[21, "term-active-task"]], "active task pool": [[21, "term-active-task-pool"]], "active window": [[21, "term-active-window"]], "active-waiting": [[21, "term-active-waiting"]], "active-waiting task": [[21, "term-active-waiting-task"]], "artificial dependency": [[21, "term-artificial-dependency"]], "branching": [[21, "term-branching"]], "clock trigger": [[21, "term-clock-trigger"]], "cold start": [[21, "term-cold-start"]], "conditional dependence": [[21, "term-conditional-dependence"]], "conditional dependency": [[21, "term-conditional-dependency"]], "conditional trigger": [[21, "term-conditional-trigger"]], "contact file": [[21, "term-contact-file"]], "custom output": [[21, "term-custom-output"]], "cycle": [[21, "term-cycle"]], "cycle point": [[21, "term-cycle-point"]], "cycle point time zone": [[21, "term-cycle-point-time-zone"]], "cycling": [[21, "term-cycling"]], "cycling workflow": [[21, "term-cycling-workflow"]], "cylc workflow": [[21, "term-cylc-workflow"]], "cylc-run directory": [[21, "term-cylc-run-directory"]], "datetime cycling": [[21, "term-datetime-cycling"]], "dependence": [[21, "term-dependence"]], "dependency": [[21, "term-dependency"]], "directive": [[21, "term-directive"]], "event": [[21, "term-event"]], "event handler": [[21, "term-event-handler"]], "event handlers": [[21, "term-event-handlers"]], "exact datetime unit": [[21, "term-exact-datetime-unit"]], "expected output": [[21, "term-expected-output"]], "external trigger": [[21, "term-external-trigger"]], "family": [[21, "term-family"]], "family inheritance": [[21, "term-family-inheritance"]], "family trigger": [[21, "term-family-trigger"]], "final cycle point": [[21, "term-final-cycle-point"]], "flow": [[21, "term-flow"]], "flow front": [[21, "term-flow-front"]], "flow merge": [[21, "term-flow-merge"]], "flow number": [[21, "term-flow-number"]], "future trigger": [[21, "term-future-trigger"]], "graph": [[21, "term-graph"]], "graph branching": [[21, "term-graph-branching"]], "graph string": [[21, "term-graph-string"]], "handler": [[21, "term-handler"]], "held task": [[21, "term-held-task"]], "hold": [[21, "term-hold"]], "hold after cycle point": [[21, "term-hold-after-cycle-point"]], "implicit task": [[21, "term-implicit-task"]], "incomplete": [[21, "term-incomplete"]], "incomplete task": [[21, "term-incomplete-task"]], "inexact datetime unit": [[21, "term-inexact-datetime-unit"]], "initial cycle point": [[21, "term-initial-cycle-point"]], "install": [[21, "term-install"]], "install target": [[21, "term-install-target"]], "installation": [[21, "term-installation"]], "integer cycling": [[21, "term-integer-cycling"]], "intercycle dependence": [[21, "term-intercycle-dependence"]], "intercycle dependency": [[21, "term-intercycle-dependency"]], "intercycle trigger": [[21, "term-intercycle-trigger"]], "internal queue": [[21, "term-internal-queue"]], "job": [[21, "term-job"]], "job host": [[21, "term-job-host"]], "job log": [[21, "term-job-log"]], "job log directory": [[21, "term-job-log-directory"]], "job platform": [[21, "term-job-platform"]], "job runner": [[21, "term-job-runner"]], "job script": [[21, "term-job-script"]], "job submission number": [[21, "term-job-submission-number"]], "message trigger": [[21, "term-message-trigger"]], "n-window": [[21, "term-n-window"]], "nominal duration": [[21, "term-nominal-duration"]], "optional output": [[21, "term-optional-output"]], "parameterization": [[21, "term-parameterization"]], "pause": [[21, "term-pause"]], "platform": [[21, "term-platform"]], "platform group": [[21, "term-platform-group"]], "play": [[21, "term-play"]], "qualifier": [[21, "term-qualifier"]], "queue": [[21, "term-queue"]], "recurrence": [[21, "term-recurrence"]], "reinstall": [[21, "term-reinstall"]], "reinstallation": [[21, "term-reinstallation"]], "release": [[21, "term-release"]], "reload": [[21, "term-reload"]], "required output": [[21, "term-required-output"]], "restart": [[21, "term-restart"]], "retry": [[21, "term-retry"]], "run directory": [[21, "term-run-directory"]], "runahead": [[21, "term-runahead"]], "runahead limit": [[21, "term-runahead-limit"]], "runtime inheritance": [[21, "term-runtime-inheritance"]], "scheduler": [[21, "term-scheduler"]], "scheduler log": [[21, "term-scheduler-log"]], "service directory": [[21, "term-service-directory"]], "share directory": [[21, "term-share-directory"]], "shutdown": [[21, "term-shutdown"]], "source directory": [[21, "term-source-directory"]], "source workflow": [[21, "term-source-workflow"]], "stall": [[21, "term-stall"]], "stalled state": [[21, "term-stalled-state"]], "stalled workflow": [[21, "term-stalled-workflow"]], "standard output": [[21, "term-standard-output"]], "start": [[21, "term-start"]], "start cycle point": [[21, "term-start-cycle-point"]], "start task": [[21, "term-start-task"]], "startup": [[21, "term-startup"]], "stop": [[21, "term-stop"]], "stop cycle point": [[21, "term-stop-cycle-point"]], "submit number": [[21, "term-submit-number"]], "suicide trigger": [[21, "term-suicide-trigger"]], "task": [[21, "term-task"]], "task output": [[21, "term-task-output"]], "task parameters": [[21, "term-task-parameters"]], "task retry": [[21, "term-task-retry"]], "task state": [[21, "term-task-state"]], "task submit number": [[21, "term-task-submit-number"]], "task trigger": [[21, "term-task-trigger"]], "trigger": [[21, "term-trigger"]], "try number": [[21, "term-try-number"]], "validation": [[21, "term-validation"]], "wallclock time": [[21, "term-wallclock-time"]], "warm start": [[21, "term-warm-start"]], "window": [[21, "term-window"]], "work directory": [[21, "term-work-directory"]], "workflow": [[21, "term-workflow"]], "workflow completion": [[21, "term-workflow-completion"]], "workflow id": [[21, "term-workflow-id"]], "workflow installation": [[21, "term-workflow-installation"]], "workflow log": [[21, "term-workflow-log"]], "workflow log directory": [[21, "term-workflow-log-directory"]], "workflow name": [[21, "term-workflow-name"]], "workflow run directory": [[21, "term-workflow-run-directory"]], "workflow validation": [[21, "term-workflow-validation"]], "workflow window": [[21, "term-workflow-window"]], "xtrigger": [[21, "term-xtrigger"]], "cylc.rose": [[24, "module-cylc.rose"]], "module": [[24, "module-cylc.rose"], [26, "module-cylc.flow.install_plugins.log_vc_info"], [29, "module-cylc.flow.main_loop.auto_restart"], [30, "module-cylc.flow.main_loop.health_check"], [31, "module-cylc.flow.main_loop.log_data_store"], [32, "module-cylc.flow.main_loop.log_main_loop"], [33, "module-cylc.flow.main_loop.log_memory"], [34, "module-cylc.flow.main_loop.reset_bad_hosts"], [35, "module-cylc.flow.main_loop"], [37, "module-cylc.flow.network.scan"], [48, "module-cylc.uiserver.app"], [98, "module-cylc.flow.job_runner_handlers.at"], [99, "module-cylc.flow.job_runner_handlers.background"], [100, "module-cylc.flow.job_runner_handlers.loadleveler"], [101, "module-cylc.flow.job_runner_handlers.lsf"], [102, "module-cylc.flow.job_runner_handlers.moab"], [103, "module-cylc.flow.job_runner_handlers.pbs"], [104, "module-cylc.flow.job_runner_handlers.sge"], [105, "module-cylc.flow.job_runner_handlers.slurm"], [106, "module-cylc.flow.job_runner_handlers.slurm_packjob"], [108, "module-cylc.flow.job_runner_handlers"], [110, "module-cylc.flow.scripts.lint"]], "cylc.flow.install_plugins.log_vc_info": [[26, "module-cylc.flow.install_plugins.log_vc_info"]], "examplehandler (class in cylc.flow.job_runner_handlers.documentation)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler"]], "fail_signals (cylc.flow.job_runner_handlers.documentation.examplehandler attribute)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.FAIL_SIGNALS"]], "kill_cmd_tmpl (cylc.flow.job_runner_handlers.documentation.examplehandler attribute)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.KILL_CMD_TMPL"]], "poll_cant_connect_err (cylc.flow.job_runner_handlers.documentation.examplehandler attribute)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.POLL_CANT_CONNECT_ERR"]], "poll_cmd (cylc.flow.job_runner_handlers.documentation.examplehandler attribute)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.POLL_CMD"]], "rec_id_from_submit_err (cylc.flow.job_runner_handlers.documentation.examplehandler attribute)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.REC_ID_FROM_SUBMIT_ERR"]], "rec_id_from_submit_out (cylc.flow.job_runner_handlers.documentation.examplehandler attribute)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.REC_ID_FROM_SUBMIT_OUT"]], "should_kill_proc_group (cylc.flow.job_runner_handlers.documentation.examplehandler attribute)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.SHOULD_KILL_PROC_GROUP"]], "should_poll_proc_group (cylc.flow.job_runner_handlers.documentation.examplehandler attribute)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.SHOULD_POLL_PROC_GROUP"]], "submit_cmd_env (cylc.flow.job_runner_handlers.documentation.examplehandler attribute)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.SUBMIT_CMD_ENV"]], "submit_cmd_tmpl (cylc.flow.job_runner_handlers.documentation.examplehandler attribute)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.SUBMIT_CMD_TMPL"]], "filter_poll_many_output() (cylc.flow.job_runner_handlers.documentation.examplehandler method)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.filter_poll_many_output"]], "filter_submit_output() (cylc.flow.job_runner_handlers.documentation.examplehandler method)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.filter_submit_output"]], "format_directives() (cylc.flow.job_runner_handlers.documentation.examplehandler method)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.format_directives"]], "get_poll_many_cmd() (cylc.flow.job_runner_handlers.documentation.examplehandler method)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.get_poll_many_cmd"]], "get_submit_stdin() (cylc.flow.job_runner_handlers.documentation.examplehandler method)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.get_submit_stdin"]], "get_vacation_signal() (cylc.flow.job_runner_handlers.documentation.examplehandler method)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.get_vacation_signal"]], "manip_job_id() (cylc.flow.job_runner_handlers.documentation.examplehandler method)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.manip_job_id"]], "submit() (cylc.flow.job_runner_handlers.documentation.examplehandler method)": [[28, "cylc.flow.job_runner_handlers.documentation.ExampleHandler.submit"]], "auto_restart() (in module cylc.flow.main_loop.auto_restart)": [[29, "cylc.flow.main_loop.auto_restart.auto_restart"]], "cylc.flow.main_loop.auto_restart": [[29, "module-cylc.flow.main_loop.auto_restart"]], "cylc.flow.main_loop.health_check": [[30, "module-cylc.flow.main_loop.health_check"]], "health_check() (in module cylc.flow.main_loop.health_check)": [[30, "cylc.flow.main_loop.health_check.health_check"]], "cylc.flow.main_loop.log_data_store": [[31, "module-cylc.flow.main_loop.log_data_store"]], "init() (in module cylc.flow.main_loop.log_data_store)": [[31, "cylc.flow.main_loop.log_data_store.init"]], "log_data_store() (in module cylc.flow.main_loop.log_data_store)": [[31, "cylc.flow.main_loop.log_data_store.log_data_store"]], "report() (in module cylc.flow.main_loop.log_data_store)": [[31, "cylc.flow.main_loop.log_data_store.report"]], "cylc.flow.main_loop.log_main_loop": [[32, "module-cylc.flow.main_loop.log_main_loop"]], "init() (in module cylc.flow.main_loop.log_main_loop)": [[32, "cylc.flow.main_loop.log_main_loop.init"]], "report() (in module cylc.flow.main_loop.log_main_loop)": [[32, "cylc.flow.main_loop.log_main_loop.report"]], "cylc.flow.main_loop.log_memory": [[33, "module-cylc.flow.main_loop.log_memory"]], "init() (in module cylc.flow.main_loop.log_memory)": [[33, "cylc.flow.main_loop.log_memory.init"]], "report() (in module cylc.flow.main_loop.log_memory)": [[33, "cylc.flow.main_loop.log_memory.report"]], "take_snapshot() (in module cylc.flow.main_loop.log_memory)": [[33, "cylc.flow.main_loop.log_memory.take_snapshot"]], "cylc.flow.main_loop.reset_bad_hosts": [[34, "module-cylc.flow.main_loop.reset_bad_hosts"]], "reset_bad_hosts() (in module cylc.flow.main_loop.reset_bad_hosts)": [[34, "cylc.flow.main_loop.reset_bad_hosts.reset_bad_hosts"]], "cylc.flow.main_loop": [[35, "module-cylc.flow.main_loop"]], "periodic() (in module cylc.flow.main_loop)": [[35, "cylc.flow.main_loop.periodic"]], "shutdown() (in module cylc.flow.main_loop)": [[35, "cylc.flow.main_loop.shutdown"]], "startup() (in module cylc.flow.main_loop)": [[35, "cylc.flow.main_loop.startup"]], "api_version() (in module cylc.flow.network.scan)": [[37, "cylc.flow.network.scan.api_version"]], "contact_info() (in module cylc.flow.network.scan)": [[37, "cylc.flow.network.scan.contact_info"]], "cylc.flow.network.scan": [[37, "module-cylc.flow.network.scan"]], "cylc_version() (in module cylc.flow.network.scan)": [[37, "cylc.flow.network.scan.cylc_version"]], "filter_name() (in module cylc.flow.network.scan)": [[37, "cylc.flow.network.scan.filter_name"]], "graphql_query() (in module cylc.flow.network.scan)": [[37, "cylc.flow.network.scan.graphql_query"]], "is_active() (in module cylc.flow.network.scan)": [[37, "cylc.flow.network.scan.is_active"]], "scan() (in module cylc.flow.network.scan)": [[37, "cylc.flow.network.scan.scan"]], "title() (in module cylc.flow.network.scan)": [[37, "cylc.flow.network.scan.title"]], "workflow_params() (in module cylc.flow.network.scan)": [[37, "cylc.flow.network.scan.workflow_params"]], "workflowruntimeclient (class in cylc.flow.network.client)": [[38, "cylc.flow.network.client.WorkflowRuntimeClient"]], "workflowruntimeserver (class in cylc.flow.network.server)": [[38, "cylc.flow.network.server.WorkflowRuntimeServer"]], "api() (cylc.flow.network.server.workflowruntimeserver method)": [[38, "cylc.flow.network.server.WorkflowRuntimeServer.api"]], "async_request() (cylc.flow.network.client.workflowruntimeclient method)": [[38, "cylc.flow.network.client.WorkflowRuntimeClient.async_request"]], "graphql() (cylc.flow.network.server.workflowruntimeserver method)": [[38, "cylc.flow.network.server.WorkflowRuntimeServer.graphql"]], "operate() (cylc.flow.network.server.workflowruntimeserver method)": [[38, "cylc.flow.network.server.WorkflowRuntimeServer.operate"]], "pb_data_elements() (cylc.flow.network.server.workflowruntimeserver method)": [[38, "cylc.flow.network.server.WorkflowRuntimeServer.pb_data_elements"]], "pb_entire_workflow() (cylc.flow.network.server.workflowruntimeserver method)": [[38, "cylc.flow.network.server.WorkflowRuntimeServer.pb_entire_workflow"]], "publish_queued_items() (cylc.flow.network.server.workflowruntimeserver method)": [[38, "cylc.flow.network.server.WorkflowRuntimeServer.publish_queued_items"]], "receiver() (cylc.flow.network.server.workflowruntimeserver method)": [[38, "cylc.flow.network.server.WorkflowRuntimeServer.receiver"]], "register_endpoints() (cylc.flow.network.server.workflowruntimeserver method)": [[38, "cylc.flow.network.server.WorkflowRuntimeServer.register_endpoints"]], "serial_request() (cylc.flow.network.client.workflowruntimeclient method)": [[38, "cylc.flow.network.client.WorkflowRuntimeClient.serial_request"]], "start() (cylc.flow.network.server.workflowruntimeserver method)": [[38, "cylc.flow.network.server.WorkflowRuntimeServer.start"]], "stop() (cylc.flow.network.server.workflowruntimeserver method)": [[38, "cylc.flow.network.server.WorkflowRuntimeServer.stop"]], "cylc_conf_path": [[44, "envvar-CYLC_CONF_PATH"]], "cylc_site_conf_path": [[44, "envvar-CYLC_SITE_CONF_PATH"], [44, "index-0"]], "environment variable": [[44, "envvar-CYLC_CONF_PATH"], [44, "envvar-CYLC_SITE_CONF_PATH"], [44, "index-0"], [69, "index-0"], [70, "index-0"], [70, "index-1"]], "cylcuiserver (class in cylc.uiserver.app)": [[48, "cylc.uiserver.app.CylcUIServer"]], "cylc.uiserver.app": [[48, "module-cylc.uiserver.app"]], "max_workers (cylc.uiserver.app.cylcuiserver attribute)": [[48, "cylc.uiserver.app.CylcUIServer.max_workers"]], "profile (cylc.uiserver.app.cylcuiserver attribute)": [[48, "cylc.uiserver.app.CylcUIServer.profile"]], "scan_interval (cylc.uiserver.app.cylcuiserver attribute)": [[48, "cylc.uiserver.app.CylcUIServer.scan_interval"]], "site_authorization (cylc.uiserver.app.cylcuiserver attribute)": [[48, "cylc.uiserver.app.CylcUIServer.site_authorization"]], "ui_build_dir (cylc.uiserver.app.cylcuiserver attribute)": [[48, "cylc.uiserver.app.CylcUIServer.ui_build_dir"]], "ui_version (cylc.uiserver.app.cylcuiserver attribute)": [[48, "cylc.uiserver.app.CylcUIServer.ui_version"]], "user_authorization (cylc.uiserver.app.cylcuiserver attribute)": [[48, "cylc.uiserver.app.CylcUIServer.user_authorization"]], "pythonpath": [[69, "index-0"], [70, "index-0"], [70, "index-1"]], "workflownamevalidator (class in cylc.flow.unicode_rules)": [[79, "cylc.flow.unicode_rules.WorkflowNameValidator"]], "cylcauthorizer (class in cylc.uiserver.authorise)": [[96, "cylc.uiserver.authorise.CylcAuthorizer"]], "get_groups() (in module cylc.uiserver.authorise)": [[96, "cylc.uiserver.authorise.get_groups"]], "cylc.flow.job_runner_handlers.at": [[98, "module-cylc.flow.job_runner_handlers.at"]], "cylc.flow.job_runner_handlers.background": [[99, "module-cylc.flow.job_runner_handlers.background"]], "cylc.flow.job_runner_handlers.loadleveler": [[100, "module-cylc.flow.job_runner_handlers.loadleveler"]], "cylc.flow.job_runner_handlers.lsf": [[101, "module-cylc.flow.job_runner_handlers.lsf"]], "cylc.flow.job_runner_handlers.moab": [[102, "module-cylc.flow.job_runner_handlers.moab"]], "cylc.flow.job_runner_handlers.pbs": [[103, "module-cylc.flow.job_runner_handlers.pbs"]], "cylc.flow.job_runner_handlers.sge": [[104, "module-cylc.flow.job_runner_handlers.sge"]], "cylc.flow.job_runner_handlers.slurm": [[105, "module-cylc.flow.job_runner_handlers.slurm"]], "cylc.flow.job_runner_handlers.slurm_packjob": [[106, "module-cylc.flow.job_runner_handlers.slurm_packjob"]], "cylc.flow.job_runner_handlers": [[108, "module-cylc.flow.job_runner_handlers"]], "cylc.flow.scripts.lint": [[110, "module-cylc.flow.scripts.lint"]], "xtriggernamevalidator (class in cylc.flow.unicode_rules)": [[112, "cylc.flow.unicode_rules.XtriggerNameValidator"]], "duration_as() (in module cylc.flow.jinja.filters.duration_as)": [[114, "cylc.flow.jinja.filters.duration_as.duration_as"]], "pad() (in module cylc.flow.jinja.filters.pad)": [[114, "cylc.flow.jinja.filters.pad.pad"]], "strftime() (in module cylc.flow.jinja.filters.strftime)": [[114, "cylc.flow.jinja.filters.strftime.strftime"]], "tasknamevalidator (class in cylc.flow.unicode_rules)": [[116, "cylc.flow.unicode_rules.TaskNameValidator"]]}})
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/furthertopics/broadcast.html b/nightly_8.3/html/tutorial/furthertopics/broadcast.html
new file mode 100644
index 00000000000..a39e9fb6a27
--- /dev/null
+++ b/nightly_8.3/html/tutorial/furthertopics/broadcast.html
@@ -0,0 +1,295 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Broadcast Tutorial &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Family Triggers" href="family-triggers.html" />
+    <link rel="prev" title="Clock Triggered Tasks" href="clock-triggered-tasks.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../runtime/index.html">Runtime</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Further Topics</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="clock-triggered-tasks.html">Clock Triggered Tasks</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Broadcast Tutorial</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#purpose">Purpose</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#standalone-example">Standalone Example</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#in-situ-example">In-Situ Example</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="family-triggers.html">Family Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="inheritance.html">Inheritance</a></li>
+<li class="toctree-l3"><a class="reference internal" href="queues.html">Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retries.html">Retries</a></li>
+<li class="toctree-l3"><a class="reference internal" href="message-triggers.html">Message Triggers</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Tutorial</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Further Topics</a></li>
+      <li class="breadcrumb-item active">Broadcast Tutorial</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/tutorial/furthertopics/broadcast.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="broadcast-tutorial">
+<span id="id1"></span><h1>Broadcast Tutorial<a class="headerlink" href="#broadcast-tutorial" title="Link to this heading"></a></h1>
+<p>This tutorial walks you through using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">broadcast</span></code> which can be used
+to change <a class="reference internal" href="../runtime/index.html#tutorial-runtime"><span class="std std-ref">task runtime configuration</span></a> in a
+running workflow, on-the-fly.</p>
+<section id="purpose">
+<h2>Purpose<a class="headerlink" href="#purpose" title="Link to this heading"></a></h2>
+<p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">broadcast</span></code> can be used to change any <code class="docutils literal notranslate"><span class="pre">[runtime]</span></code> setting whilst the
+workflow is running.</p>
+<p>The standard use of <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">broadcast</span></code> is to update the workflow to an
+unexpected change in configuration, for example modifying the host a task
+runs on.</p>
+</section>
+<section id="standalone-example">
+<h2>Standalone Example<a class="headerlink" href="#standalone-example" title="Link to this heading"></a></h2>
+<p>Create a new workflow in the <code class="docutils literal notranslate"><span class="pre">cylc-src</span></code> directory called
+<code class="docutils literal notranslate"><span class="pre">tutorial-broadcast</span></code>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">mkdir</span> <span class="o">~/</span><span class="n">cylc</span><span class="o">-</span><span class="n">src</span><span class="o">/</span><span class="n">tutorial</span><span class="o">-</span><span class="n">broadcast</span>
+<span class="n">cd</span> <span class="o">~/</span><span class="n">cylc</span><span class="o">-</span><span class="n">src</span><span class="o">/</span><span class="n">tutorial</span><span class="o">-</span><span class="n">broadcast</span>
+</pre></div>
+</div>
+<p>Copy the following configuration into a <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 1012</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = wipe_log </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">announce</span>
+<span class="nv">        PT1H = announce[-PT1H] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">announce</span>
+
+<span class="nt">[runtime]</span>
+    <span class="nt">[[wipe_log]]</span>
+        <span class="c1"># Delete any files in the workflow&#39;s &quot;share&quot; directory.</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> rm &quot;${CYLC_WORKFLOW_SHARE_DIR}/knights&quot; || true</span>
+
+    <span class="nt">[[announce]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> echo &quot;${CYLC_TASK_CYCLE_POINT} - ${MESSAGE}&quot; &gt;&gt; &quot;${FILE}&quot;</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">WORD </span><span class="o">=</span><span class="s"> ni</span>
+            <span class="nv">MESSAGE </span><span class="o">=</span><span class="s"> We are the knights who say \&quot;${WORD}\&quot;!</span>
+            <span class="nv">FILE </span><span class="o">=</span><span class="s"> &quot;${CYLC_WORKFLOW_SHARE_DIR}/knights&quot;</span>
+</pre></div>
+</div>
+<p>We now have a workflow with an <code class="docutils literal notranslate"><span class="pre">announce</span></code> task which runs every hour, writing a
+message to a log file (<code class="docutils literal notranslate"><span class="pre">share/knights</span></code>) when it does so. For the first cycle
+the log entry will look like this:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>10120101T0000Z - We are the knights who say &quot;ni&quot;!
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">broadcast</span></code> command enables us to change runtime configuration
+whilst the workflow is running. For instance we could change the value of the
+<code class="docutils literal notranslate"><span class="pre">WORD</span></code> environment variable using the command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">broadcast</span> <span class="n">tutorial</span><span class="o">-</span><span class="n">broadcast</span> <span class="o">-</span><span class="n">n</span> <span class="n">announce</span> <span class="o">-</span><span class="n">s</span> <span class="s2">&quot;[environment]WORD=it&quot;</span>
+</pre></div>
+</div>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">tutorial-broadcast</span></code> is the name of the workflow.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-n</span> <span class="pre">announce</span></code> tells Cylc we want to change the runtime configuration of the
+<code class="docutils literal notranslate"><span class="pre">announce</span></code> task.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-s</span> <span class="pre">&quot;[environment]WORD=it&quot;</span></code> changes the value of the <code class="docutils literal notranslate"><span class="pre">WORD</span></code> environment
+variable to <code class="docutils literal notranslate"><span class="pre">it</span></code>.</p></li>
+</ul>
+<p>Run the workflow then try using the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">broadcast</span></code> command to change the
+message:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">validate</span> <span class="o">.</span>
+<span class="n">cylc</span> <span class="n">install</span>
+<span class="n">cylc</span> <span class="n">play</span> <span class="n">tutorial</span><span class="o">-</span><span class="n">broadcast</span>
+<span class="n">cylc</span> <span class="n">broadcast</span> <span class="n">tutorial</span><span class="o">-</span><span class="n">broadcast</span> <span class="o">-</span><span class="n">n</span> <span class="n">announce</span> <span class="o">-</span><span class="n">s</span> <span class="s2">&quot;[environment]WORD=it&quot;</span>
+</pre></div>
+</div>
+<p>Inspect the <code class="docutils literal notranslate"><span class="pre">share/knights</span></code> file, you should see the message change at
+certain points.</p>
+<p>Stop the workflow:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">stop</span> <span class="n">tutorial</span><span class="o">-</span><span class="n">broadcast</span>
+</pre></div>
+</div>
+</section>
+<section id="in-situ-example">
+<h2>In-Situ Example<a class="headerlink" href="#in-situ-example" title="Link to this heading"></a></h2>
+<p>We can call <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">broadcast</span></code> from within a task’s script. This effectively
+provides the ability for tasks to communicate between themselves.</p>
+<p>It is almost always better for tasks to communicate using files but there are
+some niche situations where communicating via <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">broadcast</span></code> is justified.
+This tutorial walks you through using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">broadcast</span></code> to communicate between
+tasks.</p>
+<p>Add the following recurrence to the <code class="docutils literal notranslate"><span class="pre">graph</span></code> section:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">PT3H </span><span class="o">=</span><span class="s"> announce[-PT1H] =&gt; change_word =&gt; announce</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">change_word</span></code> task runs the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">broadcast</span></code> command to randomly
+change the <code class="docutils literal notranslate"><span class="pre">WORD</span></code> environment variable used by the <code class="docutils literal notranslate"><span class="pre">announce</span></code> task.</p>
+<p>Add the following runtime configuration to the <code class="docutils literal notranslate"><span class="pre">runtime</span></code> section:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[change_word]]</span>
+    <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+        <span class="c1"># Select random word.</span>
+<span class="s2">        IFS=&#39;,&#39; read -r -a WORDS &lt;&lt;&lt; $WORDS</span>
+<span class="s2">        WORD=${WORDS[$(date +%s) % ${#WORDS[@]}]}</span>
+
+        <span class="c1"># Broadcast random word to the announce task.</span>
+<span class="s2">        cylc broadcast $CYLC_WORKFLOW_ID -n announce -s &quot;[environment]WORD=${WORD}&quot;</span>
+<span class="s2">    &quot;&quot;&quot;</span>
+    <span class="nt">[[[environment]]]</span>
+        <span class="nv">WORDS </span><span class="o">=</span><span class="s"> ni, it, ekke ekke ptang zoo boing</span>
+</pre></div>
+</div>
+<p>Re-install and run the workflow, and inspect the log.
+You should see the message change randomly
+after every third entry (because the <code class="docutils literal notranslate"><span class="pre">change_word</span></code> task runs every 3 hours)
+e.g:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>10120101T0000Z - We are the knights who say &quot;ni&quot;!
+10120101T0100Z - We are the knights who say &quot;ni&quot;!
+10120101T0200Z - We are the knights who say &quot;ni&quot;!
+10120101T0300Z - We are the knights who say &quot;ekke ekke ptang zoo boing!&quot;
+</pre></div>
+</div>
+<p>Stop the workflow:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">stop</span> <span class="n">tutorial</span><span class="o">-</span><span class="n">broadcast</span>
+</pre></div>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="clock-triggered-tasks.html" class="btn btn-neutral float-left" title="Clock Triggered Tasks" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="family-triggers.html" class="btn btn-neutral float-right" title="Family Triggers" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/furthertopics/broadcast";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/furthertopics/clock-triggered-tasks.html b/nightly_8.3/html/tutorial/furthertopics/clock-triggered-tasks.html
new file mode 100644
index 00000000000..7fe9e38f4c9
--- /dev/null
+++ b/nightly_8.3/html/tutorial/furthertopics/clock-triggered-tasks.html
@@ -0,0 +1,331 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Clock Triggered Tasks &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Broadcast Tutorial" href="broadcast.html" />
+    <link rel="prev" title="Further Topics" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../runtime/index.html">Runtime</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Further Topics</a><ul class="current">
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Clock Triggered Tasks</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#clock-triggering">Clock Triggering</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#clock-triggering-tasks">Clock-Triggering Tasks</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#adding-more-clock-triggered-tasks">Adding More Clock-Triggered Tasks</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#summary">Summary</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="broadcast.html">Broadcast Tutorial</a></li>
+<li class="toctree-l3"><a class="reference internal" href="family-triggers.html">Family Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="inheritance.html">Inheritance</a></li>
+<li class="toctree-l3"><a class="reference internal" href="queues.html">Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retries.html">Retries</a></li>
+<li class="toctree-l3"><a class="reference internal" href="message-triggers.html">Message Triggers</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Tutorial</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Further Topics</a></li>
+      <li class="breadcrumb-item active">Clock Triggered Tasks</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/tutorial/furthertopics/clock-triggered-tasks.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="clock-triggered-tasks">
+<span id="tutorial-cylc-clock-trigger"></span><h1>Clock Triggered Tasks<a class="headerlink" href="#clock-triggered-tasks" title="Link to this heading"></a></h1>
+<p>In a <a class="reference internal" href="../../glossary.html#term-datetime-cycling"><span class="xref std std-term">datetime cycling</span></a> workflow the time represented by the
+<a class="reference internal" href="../../glossary.html#term-cycle-point"><span class="xref std std-term">cycle points</span></a> bear no relation to the real-world time.
+Using clock-triggers we can make tasks wait until their cycle point time before
+running.</p>
+<p>Clock-triggering effectively enables us to tether the “cycle time” to the
+“real world time” which we refer to as the <a class="reference internal" href="../../glossary.html#term-wallclock-time"><span class="xref std std-term">wallclock time</span></a>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Clock triggers are <a class="reference internal" href="../../user-guide/writing-workflows/external-triggers.html#section-external-triggers"><span class="std std-ref">External Triggers</span></a>. They differ from
+custom external triggers only in that they are provided with Cylc.</p>
+</div>
+<section id="clock-triggering">
+<h2>Clock Triggering<a class="headerlink" href="#clock-triggering" title="Link to this heading"></a></h2>
+<p>When clock-triggering tasks we can use different
+<a class="reference internal" href="../scheduling/datetime-cycling.html#tutorial-iso8601-durations"><span class="std std-ref">offsets</span></a> to the cycle time as follows:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">my_clock_trigger </span><span class="o">=</span><span class="s"> wall_clock(offset=&lt;iso8601 duration&gt;)</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Regardless of the offset used, the task still belongs to the cycle from
+which the offset has been applied.</p>
+</div>
+</section>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<p>Our example workflow will simulate a clock chiming on the hour.</p>
+<p>Within your <code class="docutils literal notranslate"><span class="pre">~/cylc-src</span></code> directory create a new directory called
+<code class="docutils literal notranslate"><span class="pre">clock-trigger</span></code>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">mkdir</span> <span class="o">~/</span><span class="n">cylc</span><span class="o">-</span><span class="n">src</span><span class="o">/</span><span class="n">clock</span><span class="o">-</span><span class="n">trigger</span>
+<span class="n">cd</span> <span class="o">~/</span><span class="n">cylc</span><span class="o">-</span><span class="n">src</span><span class="o">/</span><span class="n">clock</span><span class="o">-</span><span class="n">trigger</span>
+</pre></div>
+</div>
+<p>Paste the following code into a <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> file:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">UTC mode </span><span class="o">=</span><span class="s"> True</span> <span class="c1"># Ignore DST</span>
+
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> TODO</span>
+    <span class="nv">final cycle point </span><span class="o">=</span><span class="s"> +P1D</span> <span class="c1"># Run for one day</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">PT1H </span><span class="o">=</span> <span class="kd">bell</span>
+
+<span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="nt">[[[events]]]</span>
+            <span class="nv">mail events </span><span class="o">=</span><span class="s"> failed</span>
+    <span class="nt">[[bell]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> printf &#39;bong%.02d\n&#39; $(seq 1 $(cylc cyclepoint --print-hour))</span>
+</pre></div>
+</div>
+<p>Change the initial cycle point to 00:00 this morning (e.g. if it was
+the first of January 2000 we would write <code class="docutils literal notranslate"><span class="pre">2000-01-01T00Z</span></code>).</p>
+<p>We now have a simple workflow with a single task that prints “bong” a number
+of times equal to the (cycle point) hour.</p>
+<p>Run your workflow using:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">validate</span> <span class="o">.</span>
+<span class="n">cylc</span> <span class="n">install</span>
+<span class="n">cylc</span> <span class="n">play</span> <span class="n">clock</span><span class="o">-</span><span class="n">trigger</span>
+</pre></div>
+</div>
+<p>Stop the workflow after a few cycles using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">stop</span> <span class="pre">--now</span> <span class="pre">--now</span> <span class="pre">clock-trigger</span></code>.
+Notice how the tasks run as soon as possible rather than
+waiting for the actual time to be equal to the cycle point.</p>
+</section>
+<section id="clock-triggering-tasks">
+<h2>Clock-Triggering Tasks<a class="headerlink" href="#clock-triggering-tasks" title="Link to this heading"></a></h2>
+<p>We want our clock to only ring in real-time rather than the simulated
+cycle time.</p>
+<p>To do this, modify the <code class="docutils literal notranslate"><span class="pre">[scheduling][graph]</span></code> section of
+your <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">PT1H </span><span class="o">=</span><span class="s"> </span><span class="cp">@wall_clock</span><span class="s">  =&gt; bell</span>
+</pre></div>
+</div>
+<p>This tells the workflow to clock trigger the <code class="docutils literal notranslate"><span class="pre">bell</span></code> task with a cycle
+offset of <code class="docutils literal notranslate"><span class="pre">0</span></code> hours.</p>
+<p>Save your changes, install and run your workflow.</p>
+<p>Your workflow should now be running the <code class="docutils literal notranslate"><span class="pre">bell</span></code> task in real-time. Any cycle times
+that have already passed (such as the one defined by <code class="docutils literal notranslate"><span class="pre">initial</span> <span class="pre">cycle</span> <span class="pre">time</span></code>)
+will be run as soon as possible, while those in the future will wait for that
+time to pass.</p>
+<p>At this point you may want to leave your workflow running until the next hour
+has passed in order to confirm the clock triggering is working correctly.
+Once you are satisfied, stop your workflow.</p>
+<p>By making the <code class="docutils literal notranslate"><span class="pre">bell</span></code> task a clock triggered task we have made it run in
+real-time. Thus, when the wallclock time caught up with the cycle time, the
+<code class="docutils literal notranslate"><span class="pre">bell</span></code> task triggered.</p>
+</section>
+<section id="adding-more-clock-triggered-tasks">
+<h2>Adding More Clock-Triggered Tasks<a class="headerlink" href="#adding-more-clock-triggered-tasks" title="Link to this heading"></a></h2>
+<p>Running clock triggered tests at the cycle time is a special case:
+We will now modify our workflow to run tasks at quarter-past, half-past and
+quarter-to the hour.</p>
+<p>Open your <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> and modify the <code class="docutils literal notranslate"><span class="pre">[runtime]</span></code> section by adding the
+following:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[quarter_past, half_past, quarter_to]]</span>
+    <span class="nv">script </span><span class="o">=</span><span class="s"> echo &#39;chimes&#39;</span>
+</pre></div>
+</div>
+<p>Edit the <code class="docutils literal notranslate"><span class="pre">[[scheduling]]</span></code> section to read:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> now</span>
+<span class="nv">final cycle point </span><span class="o">=</span><span class="s"> +P1D</span> <span class="c1"># Run for one day</span>
+<span class="nt">[[xtriggers]]</span>
+    <span class="nv">quarter_past_trigger </span><span class="o">=</span><span class="s"> wall_clock(offset=PT15M):PT30S</span>
+    <span class="nv">half_past_trigger </span><span class="o">=</span><span class="s"> wall_clock(offset=PT30M):PT30S</span>
+    <span class="nv">quarter_to_trigger </span><span class="o">=</span><span class="s"> wall_clock(offset=PT45M):PT30S</span>
+<span class="nt">[[graph]]</span>
+    <span class="nv">PT1H </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+        <span class="cp">@wall_clock</span> <span class="o">=&gt;</span> <span class="kd">bell</span>
+        <span class="cp">@quarter_past_trigger</span> <span class="o">=&gt;</span> <span class="kd">quarter_past</span>
+        <span class="cp">@half_past_trigger</span> <span class="o">=&gt;</span> <span class="kd">half_past</span>
+        <span class="cp">@quarter_to_trigger</span> <span class="o">=&gt;</span> <span class="kd">quarter_to</span>
+    <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>Note the different values used for the cycle offsets of the clock-trigger tasks.</p>
+<p>Save your changes, install and run your workflow using:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">validate</span> <span class="o">.</span>
+<span class="n">cylc</span> <span class="n">install</span>
+<span class="n">cylc</span> <span class="n">play</span> <span class="n">clock</span><span class="o">-</span><span class="n">trigger</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Setting <code class="docutils literal notranslate"><span class="pre">initial</span> <span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">=</span> <span class="pre">now</span></code> will run your workflow using the
+current time at startup as the initial cycle point.</p>
+</div>
+<p>Again, notice how the tasks trigger until the current time is reached.</p>
+<p>Leave your workflow running for a while to confirm it is working as expected
+before stopping it.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>You may have noticed the <code class="docutils literal notranslate"><span class="pre">:PT30S</span></code> at the end of each clock trigger
+definition. This how often the <a class="reference internal" href="../../user-guide/writing-workflows/external-triggers.html#section-external-triggers"><span class="std std-ref">External Triggers</span></a> is checked.
+By default external triggers are checked every 10 seconds, but if there
+are a lot of external triggers this can be hard work for the computer
+running the workflow and it may not be necessary to check this often.</p>
+</div>
+</section>
+<section id="summary">
+<h2>Summary<a class="headerlink" href="#summary" title="Link to this heading"></a></h2>
+<ul class="simple">
+<li><p>Clock triggers are a type of <a class="reference internal" href="../../glossary.html#term-dependency"><span class="xref std std-term">dependency</span></a> which cause
+<a class="reference internal" href="../../glossary.html#term-task"><span class="xref std std-term">tasks</span></a> to wait for the <a class="reference internal" href="../../glossary.html#term-wallclock-time"><span class="xref std std-term">wallclock time</span></a> to reach the
+<a class="reference internal" href="../../glossary.html#term-cycle-point"><span class="xref std std-term">cycle point</span></a> time.</p></li>
+<li><p>Clock triggers are a built in example of <a class="reference internal" href="../../user-guide/writing-workflows/external-triggers.html#section-external-triggers"><span class="std std-ref">External Triggers</span></a>.</p></li>
+<li><p>Clock triggers can only be used in datetime cycling workflows.</p></li>
+</ul>
+<p>For more information see the <a class="reference external" href="https://cylc.github.io/cylc-doc/latest/html/index.html">Cylc User Guide</a>.</p>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="Further Topics" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="broadcast.html" class="btn btn-neutral float-right" title="Broadcast Tutorial" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/furthertopics/clock-triggered-tasks";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/furthertopics/family-triggers.html b/nightly_8.3/html/tutorial/furthertopics/family-triggers.html
new file mode 100644
index 00000000000..135ceca19a0
--- /dev/null
+++ b/nightly_8.3/html/tutorial/furthertopics/family-triggers.html
@@ -0,0 +1,360 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Family Triggers &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Inheritance" href="inheritance.html" />
+    <link rel="prev" title="Broadcast Tutorial" href="broadcast.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../runtime/index.html">Runtime</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Further Topics</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="clock-triggered-tasks.html">Clock Triggered Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="broadcast.html">Broadcast Tutorial</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Family Triggers</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#explanation">Explanation</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#family-triggering-success">Family Triggering: Success</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#family-triggering-failure">Family Triggering: Failure</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#different-triggers">Different Triggers</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#summary">Summary</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="inheritance.html">Inheritance</a></li>
+<li class="toctree-l3"><a class="reference internal" href="queues.html">Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retries.html">Retries</a></li>
+<li class="toctree-l3"><a class="reference internal" href="message-triggers.html">Message Triggers</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Tutorial</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Further Topics</a></li>
+      <li class="breadcrumb-item active">Family Triggers</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/tutorial/furthertopics/family-triggers.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="family-triggers">
+<span id="tutorial-cylc-family-triggers"></span><h1>Family Triggers<a class="headerlink" href="#family-triggers" title="Link to this heading"></a></h1>
+<p>To reduce duplication in the <a class="reference internal" href="../../glossary.html#term-graph"><span class="xref std std-term">graph</span></a> is is possible to write
+<a class="reference internal" href="../../glossary.html#term-dependency"><span class="xref std std-term">dependencies</span></a> using collections of tasks called
+<a class="reference internal" href="../../glossary.html#term-family"><span class="xref std std-term">families</span></a>).</p>
+<p>This tutorial walks you through writing such dependencies using family
+<a class="reference internal" href="../../glossary.html#term-task-trigger"><span class="xref std std-term">triggers</span></a>.</p>
+<section id="explanation">
+<h2>Explanation<a class="headerlink" href="#explanation" title="Link to this heading"></a></h2>
+<p>Dependencies between tasks can be written using a <a class="reference internal" href="../../glossary.html#term-qualifier"><span class="xref std std-term">qualifier</span></a> to describe
+the <a class="reference internal" href="../../glossary.html#term-task-state"><span class="xref std std-term">task state</span></a> that the dependency refers to (e.g. <code class="docutils literal notranslate"><span class="pre">succeed</span></code>
+<code class="docutils literal notranslate"><span class="pre">fail</span></code>, etc). If a dependency does not use a qualifier then it is assumed
+that the dependency refers to the <code class="docutils literal notranslate"><span class="pre">succeed</span></code> state e.g:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">bake_bread</span> <span class="o">=&gt;</span> <span class="kd">sell_bread</span>           <span class="c1"># sell_bread is dependent on bake_bread succeeding.</span>
+<span class="kd">bake_bread</span><span class="c">:</span><span class="kd">succeed</span> <span class="o">=&gt;</span> <span class="kd">sell_bread</span><span class="kt">?</span>  <span class="c1"># sell_bread is dependent on bake_bread succeeding.</span>
+<span class="kd">sell_bread</span><span class="c">:</span><span class="kd">fail</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">throw_away</span>     <span class="c1"># throw_away is dependent on sell_bread failing.</span>
+</pre></div>
+</div>
+<p>The left-hand side of a <a class="reference internal" href="../../glossary.html#term-dependency"><span class="xref std std-term">dependency</span></a> (e.g. <code class="docutils literal notranslate"><span class="pre">sell_bread:fail</span></code>) is
+referred to as the <a class="reference internal" href="../../glossary.html#term-task-trigger"><span class="xref std std-term">trigger</span></a>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><code class="docutils literal notranslate"><span class="pre">sell_bread(:succeed)</span></code> and <code class="docutils literal notranslate"><span class="pre">sell_bread:fail</span></code> are mutually exclusive
+outcomes. As both appear in the graph above, it is
+necessary to use the <code class="docutils literal notranslate"><span class="pre">?</span></code> syntax to mark them as
+<a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#optional-outputs"><span class="std std-ref">Optional Outputs</span></a>.</p>
+</div>
+<p>When we write a trigger involving a family, special qualifiers are required
+to specify whether the dependency is concerned with <em>all</em> or <em>any</em> of the tasks
+in that family reaching the desired <a class="reference internal" href="../../glossary.html#term-task-state"><span class="xref std std-term">state</span></a> e.g:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">succeed-all</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">succeed-any</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">fail-all</span></code></p></li>
+</ul>
+<p>Such <a class="reference internal" href="../../glossary.html#term-task-trigger"><span class="xref std std-term">triggers</span></a> are referred to as
+<a class="reference internal" href="../../glossary.html#term-family-trigger"><span class="xref std std-term">family triggers</span></a></p>
+</section>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<p>Create a new workflow called <code class="docutils literal notranslate"><span class="pre">tutorial-family-triggers</span></code>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">mkdir</span> <span class="o">~/</span><span class="n">cylc</span><span class="o">-</span><span class="n">src</span><span class="o">/</span><span class="n">tutorial</span><span class="o">-</span><span class="n">family</span><span class="o">-</span><span class="n">triggers</span>
+<span class="n">cd</span> <span class="o">~/</span><span class="n">cylc</span><span class="o">-</span><span class="n">src</span><span class="o">/</span><span class="n">tutorial</span><span class="o">-</span><span class="n">family</span><span class="o">-</span><span class="n">triggers</span>
+</pre></div>
+</div>
+<p>Paste the following configuration into the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">UTC mode </span><span class="o">=</span><span class="s"> True</span> <span class="c1"># Ignore DST</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = visit_mine </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">MINERS</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[visit_mine]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> sleep 5; echo &#39;off to work we go&#39;</span>
+
+    <span class="nt">[[MINERS]]</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            sleep 5;</span>
+<span class="s2">            if (($RANDOM % 2)); then</span>
+<span class="s2">                echo &#39;Diamonds!&#39;; true;</span>
+<span class="s2">            else</span>
+<span class="s2">                echo &#39;Nothing...&#39;; false;</span>
+<span class="s2">            fi</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+    <span class="nt">[[doc, grumpy, sleepy, happy, bashful, sneezy, dopey]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> MINERS</span>
+</pre></div>
+</div>
+<p>You have now created a workflow that:</p>
+<ul class="simple">
+<li><p>Has a <code class="docutils literal notranslate"><span class="pre">visit_mine</span></code> task that sleeps for 5 seconds then outputs a
+message.</p></li>
+<li><p>Contains a <code class="docutils literal notranslate"><span class="pre">MINERS</span></code> family with a command in it that randomly succeeds
+or fails.</p></li>
+<li><p>Has 7 tasks that inherit from the <code class="docutils literal notranslate"><span class="pre">MINERS</span></code> family.</p></li>
+</ul>
+<p>Validate, install and run the workflow:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">validate</span> <span class="o">.</span>
+<span class="n">cylc</span> <span class="n">install</span>
+<span class="n">cylc</span> <span class="n">play</span> <span class="n">tutorial</span><span class="o">-</span><span class="n">family</span><span class="o">-</span><span class="n">triggers</span>
+</pre></div>
+</div>
+<p>You should see the <code class="docutils literal notranslate"><span class="pre">visit_mine</span></code> task run, then trigger the members of the
+<code class="docutils literal notranslate"><span class="pre">MINERS</span></code> family. Note that some of the <code class="docutils literal notranslate"><span class="pre">MINERS</span></code> tasks may fail so you
+will need to stop your workflow using the “stop” button in the UI, or:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">stop</span> <span class="n">tutorial</span><span class="o">-</span><span class="n">family</span><span class="o">-</span><span class="n">triggers</span>
+</pre></div>
+</div>
+</section>
+<section id="family-triggering-success">
+<h2>Family Triggering: Success<a class="headerlink" href="#family-triggering-success" title="Link to this heading"></a></h2>
+<p>As you will have noticed by watching the workflow run, some of the tasks in the
+<code class="docutils literal notranslate"><span class="pre">MINERS</span></code> family succeed and some fail.</p>
+<p>We would like to add a task to sell any diamonds we find, but wait for all
+the miners to report back first so we only make the one trip.</p>
+<p>We can address this by using <em>family triggers</em>. In particular, we are going
+to use the <code class="docutils literal notranslate"><span class="pre">finish-all</span></code> trigger to check for all members of the <code class="docutils literal notranslate"><span class="pre">MINERS</span></code>
+family finishing, and the <code class="docutils literal notranslate"><span class="pre">succeed-any</span></code> trigger to check for any of the
+tasks in the <code class="docutils literal notranslate"><span class="pre">MINERS</span></code> family succeeding.</p>
+<p>Open your <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file and change the <code class="docutils literal notranslate"><span class="pre">[[graph]]</span></code> to look like
+this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[graph]]</span>
+    <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+        <span class="kd">visit_mine</span> <span class="o">=&gt;</span> <span class="kd">MINERS</span><span class="kt">?</span>
+        <span class="kd">MINERS</span><span class="c">:</span><span class="kd">finish</span><span class="c">-</span><span class="kd">all</span> <span class="o">&amp;</span> <span class="kd">MINERS</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">any</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">sell_diamonds</span>
+    <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>Then, add the following task to the <code class="docutils literal notranslate"><span class="pre">[runtime]</span></code> section:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[sell_diamonds]]</span>
+   <span class="nv">script </span><span class="o">=</span><span class="s"> sleep 5</span>
+</pre></div>
+</div>
+<p>These changes add a <code class="docutils literal notranslate"><span class="pre">sell_diamonds</span></code> task to the workflow which is run once
+all the <code class="docutils literal notranslate"><span class="pre">MINERS</span></code> tasks have finished and if any of them have succeeded.</p>
+<p>Save your changes and run your workflow. You should see the new
+<code class="docutils literal notranslate"><span class="pre">sell_diamonds</span></code> task being run once all the miners have finished and at
+least one of them has succeeded. Stop your workflow as described above.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p>User guide on
+<a class="reference internal" href="../../user-guide/writing-workflows/scheduling.html#optional-outputs-family-triggers"><span class="std std-ref">family triggers and optional outputs</span></a>.</p>
+</div>
+</section>
+<section id="family-triggering-failure">
+<h2>Family Triggering: Failure<a class="headerlink" href="#family-triggering-failure" title="Link to this heading"></a></h2>
+<p>Cylc also allows us to trigger off failure of tasks in a particular family.</p>
+<p>We would like to add another task to close down unproductive mineshafts once
+all the miners have reported back and had time to discuss their findings.</p>
+<p>To do this we will make use of family triggers in a similar manner to before.</p>
+<p>Open your <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file and change the <code class="docutils literal notranslate"><span class="pre">[[graph]]</span></code> to look like
+this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[graph]]</span>
+    <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+        <span class="kd">visit_mine</span> <span class="o">=&gt;</span> <span class="kd">MINERS</span><span class="kt">?</span>
+        <span class="kd">MINERS</span><span class="c">:</span><span class="kd">finish</span><span class="c">-</span><span class="kd">all</span> <span class="o">&amp;</span> <span class="kd">MINERS</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">any</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">sell_diamonds</span>
+        <span class="kd">MINERS</span><span class="c">:</span><span class="kd">finish</span><span class="c">-</span><span class="kd">all</span> <span class="o">&amp;</span> <span class="kd">MINERS</span><span class="c">:</span><span class="kd">fail</span><span class="c">-</span><span class="kd">any</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">close_shafts</span>
+    <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>Alter the <code class="docutils literal notranslate"><span class="pre">[[sell_diamonds]]</span></code> section to look like this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[close_shafts, sell_diamonds]]</span>
+    <span class="nv">script </span><span class="o">=</span><span class="s"> sleep 5</span>
+</pre></div>
+</div>
+<p>These changes add a <code class="docutils literal notranslate"><span class="pre">close_shafts</span></code> task which is run once all the
+<code class="docutils literal notranslate"><span class="pre">MINERS</span></code> tasks have finished and any of them have failed.</p>
+<p>Save your changes and run your workflow. You should see the new
+<code class="docutils literal notranslate"><span class="pre">close_shafts</span></code> run should any of the <code class="docutils literal notranslate"><span class="pre">MINERS</span></code> tasks be in the failed
+state once they have all finished.</p>
+</section>
+<section id="different-triggers">
+<h2>Different Triggers<a class="headerlink" href="#different-triggers" title="Link to this heading"></a></h2>
+<p>Other family <a class="reference internal" href="../../glossary.html#term-qualifier"><span class="xref std std-term">qualifiers</span></a> beyond those covered in the
+example are also available.</p>
+<p>The following types of “all” qualifier are available:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">:start-all</span></code> - all the tasks in the family have started</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">:succeed-all</span></code> - all the tasks in the family have succeeded</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">:fail-all</span></code> - all the tasks in the family have failed</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">:finish-all</span></code> - all the tasks in the family have finished</p></li>
+</ul>
+<p>The following types of “any” qualifier are available:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">:start-any</span></code> - at least one task in the family has started</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">:succeed-any</span></code> - at least one task in the family has succeeded</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">:fail-any</span></code> - at least one task in the family has failed</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">:finish-any</span></code> - at least one task in the family has finished</p></li>
+</ul>
+</section>
+<section id="summary">
+<h2>Summary<a class="headerlink" href="#summary" title="Link to this heading"></a></h2>
+<ul class="simple">
+<li><p>Family triggers allow you to write dependencies for collections of tasks.</p></li>
+<li><p>Like <a class="reference internal" href="../../glossary.html#term-task-trigger"><span class="xref std std-term">task triggers</span></a>, family triggers can be based on
+success, failure, starting and finishing of tasks in a family.</p></li>
+<li><p>Family triggers can trigger off either <em>all</em> or <em>any</em> of the tasks in a
+family.</p></li>
+</ul>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="broadcast.html" class="btn btn-neutral float-left" title="Broadcast Tutorial" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="inheritance.html" class="btn btn-neutral float-right" title="Inheritance" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/furthertopics/family-triggers";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/furthertopics/index.html b/nightly_8.3/html/tutorial/furthertopics/index.html
new file mode 100644
index 00000000000..06d2f91d5fa
--- /dev/null
+++ b/nightly_8.3/html/tutorial/furthertopics/index.html
@@ -0,0 +1,185 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Further Topics &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Clock Triggered Tasks" href="clock-triggered-tasks.html" />
+    <link rel="prev" title="Parameterized Tasks" href="../runtime/configuration-consolidation/parameters.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../runtime/index.html">Runtime</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Further Topics</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="clock-triggered-tasks.html">Clock Triggered Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="broadcast.html">Broadcast Tutorial</a></li>
+<li class="toctree-l3"><a class="reference internal" href="family-triggers.html">Family Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="inheritance.html">Inheritance</a></li>
+<li class="toctree-l3"><a class="reference internal" href="queues.html">Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retries.html">Retries</a></li>
+<li class="toctree-l3"><a class="reference internal" href="message-triggers.html">Message Triggers</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Tutorial</a></li>
+      <li class="breadcrumb-item active">Further Topics</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/tutorial/furthertopics/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="further-topics">
+<span id="tutorials-furthertopics"></span><h1>Further Topics<a class="headerlink" href="#further-topics" title="Link to this heading"></a></h1>
+<p>This section looks at further topics in cylc.</p>
+<div class="toctree-wrapper compound" id="cylc-further-topics">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="clock-triggered-tasks.html">Clock Triggered Tasks</a></li>
+<li class="toctree-l1"><a class="reference internal" href="broadcast.html">Broadcast Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="family-triggers.html">Family Triggers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="inheritance.html">Inheritance</a></li>
+<li class="toctree-l1"><a class="reference internal" href="queues.html">Queues</a></li>
+<li class="toctree-l1"><a class="reference internal" href="retries.html">Retries</a></li>
+<li class="toctree-l1"><a class="reference internal" href="message-triggers.html">Message Triggers</a></li>
+</ul>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../runtime/configuration-consolidation/parameters.html" class="btn btn-neutral float-left" title="Parameterized Tasks" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="clock-triggered-tasks.html" class="btn btn-neutral float-right" title="Clock Triggered Tasks" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/furthertopics/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/furthertopics/inheritance.html b/nightly_8.3/html/tutorial/furthertopics/inheritance.html
new file mode 100644
index 00000000000..f8a8e28afd6
--- /dev/null
+++ b/nightly_8.3/html/tutorial/furthertopics/inheritance.html
@@ -0,0 +1,726 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Inheritance &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Queues" href="queues.html" />
+    <link rel="prev" title="Family Triggers" href="family-triggers.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../runtime/index.html">Runtime</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Further Topics</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="clock-triggered-tasks.html">Clock Triggered Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="broadcast.html">Broadcast Tutorial</a></li>
+<li class="toctree-l3"><a class="reference internal" href="family-triggers.html">Family Triggers</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Inheritance</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#inheritance-hierarchy">Inheritance Hierarchy</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#multiple-inheritance">Multiple Inheritance</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#more-inheritance">More Inheritance</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#finished-workflow">Finished Workflow</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="queues.html">Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retries.html">Retries</a></li>
+<li class="toctree-l3"><a class="reference internal" href="message-triggers.html">Message Triggers</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Tutorial</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Further Topics</a></li>
+      <li class="breadcrumb-item active">Inheritance</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/tutorial/furthertopics/inheritance.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="inheritance">
+<span id="tutorial-inheritance"></span><h1>Inheritance<a class="headerlink" href="#inheritance" title="Link to this heading"></a></h1>
+<p>We have seen in the <a class="reference internal" href="../runtime/configuration-consolidation/families.html#tutorial-cylc-families"><span class="std std-ref">runtime tutorial</span></a> how
+tasks can be grouped into families.</p>
+<p>In this tutorial we will look at nested families, inheritance order and
+multiple inheritance.</p>
+<section id="inheritance-hierarchy">
+<h2>Inheritance Hierarchy<a class="headerlink" href="#inheritance-hierarchy" title="Link to this heading"></a></h2>
+<p>Within your <code class="docutils literal notranslate"><span class="pre">~/cylc-src</span></code> directory create a new directory called
+<code class="docutils literal notranslate"><span class="pre">inheritance-tutorial</span></code>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">mkdir</span> <span class="o">~/</span><span class="n">cylc</span><span class="o">-</span><span class="n">src</span><span class="o">/</span><span class="n">inheritance</span><span class="o">-</span><span class="n">tutorial</span>
+<span class="n">cd</span> <span class="o">~/</span><span class="n">cylc</span><span class="o">-</span><span class="n">src</span><span class="o">/</span><span class="n">inheritance</span><span class="o">-</span><span class="n">tutorial</span>
+</pre></div>
+</div>
+<p>And paste the following code into a <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> file. This
+defines two tasks each representing different aircraft, the Airbus A380 jumbo
+jet and the Robson R44 helicopter:</p>
+<a class="reference internal image-reference" href="https://upload.wikimedia.org/wikipedia/commons/0/09/A6-EDY_A380_Emirates_31_jan_2013_jfk_%288442269364%29_%28cropped%29.jpg"><img alt="A380" src="https://upload.wikimedia.org/wikipedia/commons/0/09/A6-EDY_A380_Emirates_31_jan_2013_jfk_%288442269364%29_%28cropped%29.jpg" style="width: 49%;" /></a>
+<a class="reference internal image-reference" href="https://upload.wikimedia.org/wikipedia/commons/2/2f/Robinson-R44_1.jpg"><img alt="R44" src="https://upload.wikimedia.org/wikipedia/commons/2/2f/Robinson-R44_1.jpg" style="width: 49%;" /></a>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="kd">a380</span> <span class="o">&amp;</span> <span class="kd">r44</span>
+
+<span class="nt">[runtime]</span>
+    <span class="nt">[[VEHICLE]]</span>
+        <span class="nv">init-script </span><span class="o">=</span><span class="s"> echo &#39;Boarding&#39;</span>
+        <span class="nv">pre-script </span><span class="o">=</span><span class="s"> echo &#39;Departing&#39;</span>
+        <span class="nv">post-script </span><span class="o">=</span><span class="s"> echo &#39;Arriving&#39;</span>
+
+    <span class="nt">[[AIR_VEHICLE]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> VEHICLE</span>
+        <span class="nt">[[[meta]]]</span>
+            <span class="nv">description </span><span class="o">=</span><span class="s"> A vehicle which can fly.</span>
+    <span class="nt">[[AIRPLANE]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> AIR_VEHICLE</span>
+        <span class="nt">[[[meta]]]</span>
+            <span class="nv">description </span><span class="o">=</span><span class="s"> An air vehicle with fixed wings.</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">CAN_TAKE_OFF_VERTICALLY </span><span class="o">=</span><span class="s"> false</span>
+    <span class="nt">[[HELICOPTER]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> AIR_VEHICLE</span>
+        <span class="nt">[[[meta]]]</span>
+            <span class="nv">description </span><span class="o">=</span><span class="s"> An air vehicle with rotors.</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">CAN_TAKE_OFF_VERTICALLY </span><span class="o">=</span><span class="s"> true</span>
+
+    <span class="nt">[[a380]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> AIRPLANE</span>
+        <span class="nt">[[[meta]]]</span>
+            <span class="nv">title </span><span class="o">=</span><span class="s"> Airbus A380 Jumbo-Jet.</span>
+    <span class="nt">[[r44]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> HELICOPTER</span>
+        <span class="nt">[[[meta]]]</span>
+            <span class="nv">title </span><span class="o">=</span><span class="s"> Robson R44 Helicopter.</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">[meta]</span></code> section is a freeform section where we can define metadata
+to be associated with a task, family or the workflow itself.</p>
+<p>This metadata should not be mistaken for Rose <a class="reference external" href="https://metomi.github.io/rose/2.1.0/html/api/configuration/metadata.html#conf-meta" title="(in Rose Documentation v2.1.0)"><span>Configuration Metadata</span></a>.</p>
+</div>
+<div class="hint admonition">
+<p class="admonition-title">Reminder</p>
+<p>By convention we write family names in upper case (with the exception of the
+special <code class="docutils literal notranslate"><span class="pre">root</span></code> family) and task names in lower case.</p>
+</div>
+<p>These two tasks sit at the bottom of an inheritance tree. The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code>
+command has an option (<code class="docutils literal notranslate"><span class="pre">-n</span></code>) for drawing such inheritance hierarchies:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">graph</span> <span class="o">-</span><span class="n">n</span> <span class="o">.</span> <span class="o">&amp;</span>
+</pre></div>
+</div>
+<p>Running this command will generate the following output:</p>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-b850ea169f58a15feb1d5b7b3a2b593602948b1e.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Example {
+AIRPLANE  [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+a380   [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+AIRPLANE -&gt; a380   [color=royalblue];
+HELICOPTER   [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+r44    [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+HELICOPTER -&gt; r44  [color=royalblue];
+root   [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+VEHICLE   [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+root -&gt; VEHICLE    [color=royalblue];
+AIR_VEHICLE  [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+VEHICLE -&gt; AIR_VEHICLE   [color=royalblue];
+AIR_VEHICLE -&gt; AIRPLANE  [color=royalblue];
+AIR_VEHICLE -&gt; HELICOPTER   [color=royalblue];
+}</p></object></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">root</span></code> family sits at the top of the inheritance tree as all
+tasks/families automatically inherit it:</p>
+</div>
+<p>Cylc handles inheritance by starting with the root family and working down the
+inheritance tree applying each section in turn.</p>
+<p>To see the resulting configuration for the <code class="docutils literal notranslate"><span class="pre">a380</span></code> task use the
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code> command:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">config</span> <span class="o">.</span> <span class="o">-</span><span class="n">i</span> <span class="s2">&quot;[runtime][a380]&quot;</span>
+</pre></div>
+</div>
+<p>You should see some settings which have been inherited from the <code class="docutils literal notranslate"><span class="pre">VEHICLE</span></code> and
+<code class="docutils literal notranslate"><span class="pre">AIRPLANE</span></code> families as well as a couple defined in the <code class="docutils literal notranslate"><span class="pre">a380</span></code> task.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">init-script </span><span class="o">=</span><span class="s"> echo &#39;Boarding&#39;</span>                       <span class="c1"># Inherited from VEHICLE</span>
+<span class="nv">pre-script </span><span class="o">=</span><span class="s"> echo &#39;Departing&#39;</span>                       <span class="c1"># Inherited from VEHICLE</span>
+<span class="nv">post-script </span><span class="o">=</span><span class="s"> echo &#39;Arriving&#39;</span>                       <span class="c1"># Inherited from VEHICLE</span>
+<span class="nv">inherit </span><span class="o">=</span><span class="s"> AIRPLANE</span>                                  <span class="c1"># Defined in a380</span>
+<span class="nt">[[[meta]]]</span>
+    <span class="nv">description </span><span class="o">=</span><span class="s"> An air vehicle with fixed wings.</span>  <span class="c1"># Inherited from AIR_VEHICLE - overwritten by AIRPLANE</span>
+    <span class="nv">title </span><span class="o">=</span><span class="s"> Airbus A380 Jumbo-Jet.</span>                  <span class="c1"># Defined in a380</span>
+<span class="nt">[[[environment]]]</span>
+    <span class="nv">CAN_TAKE_OFF_VERTICALLY </span><span class="o">=</span><span class="s"> false</span>                 <span class="c1"># Inherited from AIRPLANE</span>
+</pre></div>
+</div>
+<p>Note that the <code class="docutils literal notranslate"><span class="pre">description</span></code> setting is defined in the <code class="docutils literal notranslate"><span class="pre">AIR_VEHICLE</span></code>
+family but is overwritten by the value specified in the <code class="docutils literal notranslate"><span class="pre">AIRPLANE</span></code> family.</p>
+</section>
+<section id="multiple-inheritance">
+<h2>Multiple Inheritance<a class="headerlink" href="#multiple-inheritance" title="Link to this heading"></a></h2>
+<p>Next we want to add a vehicle called the V-22 Osprey to the workflow. The V-22
+is a cross between a plane and a helicopter - it has wings but can take-off and
+land vertically.</p>
+<a class="reference internal image-reference" href="https://upload.wikimedia.org/wikipedia/commons/e/e3/MV-22_mcas_Miramar_2014.JPG"><img alt="https://upload.wikimedia.org/wikipedia/commons/e/e3/MV-22_mcas_Miramar_2014.JPG" class="align-center" src="https://upload.wikimedia.org/wikipedia/commons/e/e3/MV-22_mcas_Miramar_2014.JPG" style="width: 300px;" /></a>
+<p>As the V-22 can be thought of as both a plane and a helicopter we want it to
+inherit from both the <code class="docutils literal notranslate"><span class="pre">AIRPLANE</span></code> and <code class="docutils literal notranslate"><span class="pre">HELICOPTER</span></code> families. In Cylc we can
+inherit from multiple families by separating their names with commas:</p>
+<p>Add the following task to your <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[v22]]</span>
+    <span class="nv">inherit </span><span class="o">=</span><span class="s"> AIRPLANE, HELICOPTER</span>
+    <span class="nt">[[[meta]]]</span>
+        <span class="nv">title </span><span class="o">=</span><span class="s"> V-22 Osprey Military Aircraft.</span>
+</pre></div>
+</div>
+<p>Re-run the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code> command.</p>
+<p>The inheritance hierarchy should now look like this:</p>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-fe358295b739cfd9b1c6fb67e74ce961621f9cd7.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Example {
+AIRPLANE  [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+v22    [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+AIRPLANE -&gt; v22    [color=royalblue];
+a380   [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+AIRPLANE -&gt; a380   [color=royalblue];
+HELICOPTER   [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+HELICOPTER -&gt; v22  [color=royalblue];
+r44    [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+HELICOPTER -&gt; r44  [color=royalblue];
+root   [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+VEHICLE   [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+root -&gt; VEHICLE    [color=royalblue];
+AIR_VEHICLE  [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+VEHICLE -&gt; AIR_VEHICLE   [color=royalblue];
+AIR_VEHICLE -&gt; AIRPLANE  [color=royalblue];
+AIR_VEHICLE -&gt; HELICOPTER   [color=royalblue];
+}</p></object></div>
+</div>
+<p>Inspect the configuration of the <code class="docutils literal notranslate"><span class="pre">v22</span></code> task using the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code>
+command.</p>
+<div class="spoiler warning admonition">
+<p class="admonition-title">Hint</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>config<span class="w"> </span>.<span class="w"> </span>-i<span class="w"> </span><span class="s2">&quot;[runtime][v22]&quot;</span>
+</pre></div>
+</div>
+</div>
+<p>You should see that the <code class="docutils literal notranslate"><span class="pre">CAN_TASK_OFF_VERTICALLY</span></code> environment variable has
+been set to <code class="docutils literal notranslate"><span class="pre">false</span></code> which isn’t right. This is because of the order in which
+inheritance is applied.</p>
+<p>Cylc handles multiple-inheritance by applying each family from right to left.
+For the <code class="docutils literal notranslate"><span class="pre">v22</span></code> task we specified <code class="docutils literal notranslate"><span class="pre">inherit</span> <span class="pre">=</span> <span class="pre">AIRPLANE,</span> <span class="pre">HELICOPTER</span></code> so the
+<code class="docutils literal notranslate"><span class="pre">HELICOPTER</span></code> family will be applied first and the <code class="docutils literal notranslate"><span class="pre">AIRPLANE</span></code> family after.</p>
+<p>The inheritance order would be as follows:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>root
+VEHICLE
+AIR_VEHICLE
+HELICOPTER<span class="w">   </span><span class="c1"># sets &quot;CAN_TAKE_OFF_VERTICALLY to &quot;true&quot;</span>
+AIRPLANE<span class="w">     </span><span class="c1"># sets &quot;CAN_TAKE_OFF_VERTICALLY to &quot;false&quot;</span>
+v22
+</pre></div>
+</div>
+<p>We could fix this problem by changing the order of inheritance:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">inherit </span><span class="o">=</span><span class="s"> HELICOPTER, AIRPLANE</span>
+</pre></div>
+</div>
+<p>Now the <code class="docutils literal notranslate"><span class="pre">HELICOPTER</span></code> family is applied second so its values will override any
+in the <code class="docutils literal notranslate"><span class="pre">AIRPLANE</span></code> family.</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>root
+VEHICLE
+AIR_VEHICLE
+AIRPLANE<span class="w">     </span><span class="c1"># sets &quot;CAN_TAKE_OFF_VERTICALLY to &quot;false&quot;</span>
+HELICOPTER<span class="w">   </span><span class="c1"># sets &quot;CAN_TAKE_OFF_VERTICALLY to &quot;true&quot;</span>
+v22
+</pre></div>
+</div>
+<p>Inspect the configuration of the <code class="docutils literal notranslate"><span class="pre">v22</span></code> task using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code> to
+confirm this.</p>
+</section>
+<section id="more-inheritance">
+<h2>More Inheritance<a class="headerlink" href="#more-inheritance" title="Link to this heading"></a></h2>
+<p>We will now add some more families and tasks to the workflow.</p>
+<section id="engine-type">
+<h3>Engine Type<a class="headerlink" href="#engine-type" title="Link to this heading"></a></h3>
+<p>Next we will define four families to represent three different types of engine.</p>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-0b0909ede98c7ce9e0a52dfc78d5a8fb69f0abb9.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Example {
+size = &quot;5,5&quot;
+
+ENGINE [color=royalblue, fillcolor=powderblue, shape=box, style=filled,
+    margin=&quot;0.3,0.055&quot;]
+TURBINE_ENGINE [color=royalblue, fillcolor=powderblue, shape=box,
+    style=filled, margin=&quot;0.3,0.055&quot;]
+INTERNAL_COMBUSTION_ENGINE [color=royalblue, fillcolor=powderblue,
+    shape=box, style=filled, margin=&quot;0.3,0.055&quot;]
+HUMAN_ENGINE [color=royalblue, fillcolor=powderblue, shape=box,
+    style=filled, margin=&quot;0.3,0.055&quot;]
+
+&quot;ENGINE&quot; -&gt; &quot;TURBINE_ENGINE&quot;
+&quot;ENGINE&quot; -&gt; &quot;INTERNAL_COMBUSTION_ENGINE&quot;
+&quot;ENGINE&quot; -&gt; &quot;HUMAN_ENGINE&quot;
+}</p></object></div>
+</div>
+<p>Each engine type should set an environment variable called <code class="docutils literal notranslate"><span class="pre">FUEL</span></code> which we
+will assign to the following values:</p>
+<ul class="simple">
+<li><p>Turbine - kerosene</p></li>
+<li><p>Internal Combustion - petrol</p></li>
+<li><p>Human - pizza</p></li>
+</ul>
+<p>Add lines to the <code class="docutils literal notranslate"><span class="pre">runtime</span></code> section to represent these four families.</p>
+<div class="spoiler warning admonition">
+<p class="admonition-title">Solution</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[ENGINE]]</span>
+<span class="nt">[[TURBINE_ENGINE]]</span>
+    <span class="nv">inherit </span><span class="o">=</span><span class="s"> ENGINE</span>
+    <span class="nt">[[[environment]]]</span>
+        <span class="nv">FUEL </span><span class="o">=</span><span class="s"> kerosene</span>
+<span class="nt">[[INTERNAL_COMBUSTION_ENGINE]]</span>
+    <span class="nv">inherit </span><span class="o">=</span><span class="s"> ENGINE</span>
+    <span class="nt">[[[environment]]]</span>
+        <span class="nv">FUEL </span><span class="o">=</span><span class="s"> petrol</span>
+<span class="nt">[[HUMAN_ENGINE]]</span>
+    <span class="nv">inherit </span><span class="o">=</span><span class="s"> ENGINE</span>
+    <span class="nt">[[[environment]]]</span>
+        <span class="nv">FUEL </span><span class="o">=</span><span class="s"> pizza</span>
+</pre></div>
+</div>
+</div>
+<p>We now need to make the three aircraft inherit from one of the three engines.
+The aircraft use the following types of engine:</p>
+<ul class="simple">
+<li><p>A380 - turbine</p></li>
+<li><p>R44 - internal combustion</p></li>
+<li><p>V22 - turbine</p></li>
+</ul>
+<p>Modify the three tasks so that they inherit from the relevant engine families.</p>
+<div class="spoiler warning admonition">
+<p class="admonition-title">Solution</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[a380]]</span>
+    <span class="nv">inherit </span><span class="o">=</span><span class="s"> AIRPLANE, TURBINE_ENGINE</span>
+    <span class="nt">[[[meta]]]</span>
+        <span class="nv">title </span><span class="o">=</span><span class="s"> Airbus A380 Jumbo-Jet.</span>
+<span class="nt">[[r44]]</span>
+    <span class="nv">inherit </span><span class="o">=</span><span class="s"> HELICOPTER, INTERNAL_COMBUSTION_ENGINE</span>
+    <span class="nt">[[[meta]]]</span>
+        <span class="nv">title </span><span class="o">=</span><span class="s"> Robson R44 Helicopter.</span>
+<span class="nt">[[v22]]</span>
+    <span class="nv">inherit </span><span class="o">=</span><span class="s"> AIRPLANE, HELICOPTER, TURBINE_ENGINE</span>
+    <span class="nt">[[[meta]]]</span>
+        <span class="nv">title </span><span class="o">=</span><span class="s"> V-22 Ofsprey Military Aircraft.</span>
+</pre></div>
+</div>
+</div>
+</section>
+<section id="penny-farthing">
+<h3>Penny Farthing<a class="headerlink" href="#penny-farthing" title="Link to this heading"></a></h3>
+<p>Next we want to add a new type of vehicle, an old-fashioned bicycle called a
+penny farthing.</p>
+<a class="reference internal image-reference" href="https://upload.wikimedia.org/wikipedia/commons/a/a7/Ordinary_bicycle01.jpg"><img alt="Penny Farthing Bicycle" class="align-center" src="https://upload.wikimedia.org/wikipedia/commons/a/a7/Ordinary_bicycle01.jpg" style="width: 300px;" /></a>
+<p>To do this we will need to add two new families, <code class="docutils literal notranslate"><span class="pre">LAND_VEICHLE</span></code> and
+<code class="docutils literal notranslate"><span class="pre">BICYCLE</span></code> as well as a new task, <code class="docutils literal notranslate"><span class="pre">penny_farthing</span></code> related in the
+following manner:</p>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-973f7a17b789c0420fc4acc3fa1d4b8e9c03b664.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Example {
+VEHICLE [color=royalblue, fillcolor=powderblue, shape=box, style=filled]
+LAND_VEHICLE [color=royalblue, fillcolor=powderblue, shape=box,
+    style=filled]
+BICYCLE [color=royalblue, fillcolor=powderblue, shape=box, style=filled]
+HUMAN_ENGINE [color=royalblue, fillcolor=powderblue, shape=box,
+    style=filled, margin=&quot;0.3,0.055&quot;]
+penny_farthing [color=royalblue, fillcolor=powderblue, shape=box,
+    style=filled, margin=&quot;0.3,0.055&quot;]
+VEHICLE -&gt; LAND_VEHICLE -&gt; BICYCLE -&gt; penny_farthing
+HUMAN_ENGINE -&gt; penny_farthing
+}</p></object></div>
+</div>
+<p>Add lines to the <code class="docutils literal notranslate"><span class="pre">runtime</span></code> section to represent the two new families and one
+task outlined above.</p>
+<p>Add a description (<code class="docutils literal notranslate"><span class="pre">[meta]description</span></code>) to the <code class="docutils literal notranslate"><span class="pre">LAND_VEHICLE</span></code> and
+<code class="docutils literal notranslate"><span class="pre">BICYCLE</span></code> families and a title (<code class="docutils literal notranslate"><span class="pre">[meta]title</span></code>) to the <code class="docutils literal notranslate"><span class="pre">penny_farthing</span></code>
+task.</p>
+<div class="spoiler warning admonition">
+<p class="admonition-title">Solution</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[LAND_VEHICLE]]</span>
+    <span class="nv">inherit </span><span class="o">=</span><span class="s"> VEHICLE</span>
+    <span class="nt">[[[meta]]]</span>
+        <span class="nv">description </span><span class="o">=</span><span class="s"> A vehicle which can travel over the ground.</span>
+
+<span class="nt">[[BICYCLE]]</span>
+    <span class="nv">inherit </span><span class="o">=</span><span class="s"> LAND_VEHICLE</span>
+    <span class="nt">[[[meta]]]</span>
+        <span class="nv">description </span><span class="o">=</span><span class="s"> A small two-wheeled vehicle.</span>
+
+<span class="nt">[[penny_farthing]]</span>
+    <span class="nv">inherit </span><span class="o">=</span><span class="s"> BICYCLE, HUMAN_ENGINE</span>
+    <span class="nt">[[[meta]]]</span>
+        <span class="nv">title </span><span class="o">=</span><span class="s"> An old-fashioned bicycle.</span>
+</pre></div>
+</div>
+</div>
+<p>Using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code> to inspect the configuration of the <code class="docutils literal notranslate"><span class="pre">penny_farthing</span></code>
+task we can see that it inherits settings from the <code class="docutils literal notranslate"><span class="pre">VEHICLE</span></code>,
+<code class="docutils literal notranslate"><span class="pre">BICYCLE</span></code> and <code class="docutils literal notranslate"><span class="pre">HUMAN_ENGINE</span></code> families.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">inherit </span><span class="o">=</span><span class="s"> BICYCLE, HUMAN_ENGINE</span>
+<span class="nv">init-script </span><span class="o">=</span><span class="s"> echo &#39;Boarding&#39;</span>  <span class="c1"># Inherited from VEHICLE</span>
+<span class="nv">pre-script </span><span class="o">=</span><span class="s"> echo &#39;Departing&#39;</span>  <span class="c1"># Inherited from VEHICLE</span>
+<span class="nv">post-script </span><span class="o">=</span><span class="s"> echo &#39;Arriving&#39;</span>  <span class="c1"># Inherited from VEHICLE</span>
+<span class="nt">[[[environment]]]</span>
+    <span class="nv">FUEL </span><span class="o">=</span><span class="s"> pizza</span>               <span class="c1"># Inherited from HUMAN_ENGINE</span>
+<span class="nt">[[[meta]]]</span>
+    <span class="nv">description </span><span class="o">=</span><span class="s"> A small two-wheeled vehicle.</span>  <span class="c1"># Inherited from LAND_VEHICLE - overwritten by BICYCLE</span>
+    <span class="nv">title </span><span class="o">=</span><span class="s"> An old-fashioned bicycle.</span>           <span class="c1"># Defined in penny_farthing</span>
+</pre></div>
+</div>
+<div class="spoiler hint admonition">
+<p class="admonition-title">Hint</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>config<span class="w"> </span>.<span class="w"> </span>-i<span class="w"> </span><span class="s2">&quot;[runtime]penny_farthing&quot;</span>
+</pre></div>
+</div>
+</div>
+</section>
+<section id="hovercraft">
+<h3>Hovercraft<a class="headerlink" href="#hovercraft" title="Link to this heading"></a></h3>
+<p>We will now add a hovercraft called the Hoverwork BHT130, better known to some
+as the Isle Of Wight Ferry.</p>
+<a class="reference internal image-reference" href="https://upload.wikimedia.org/wikipedia/commons/e/e7/Hovercraft_leaving_Ryde.JPG"><img alt="Hoverwork BHT130 Hovercraft" class="align-center" src="https://upload.wikimedia.org/wikipedia/commons/e/e7/Hovercraft_leaving_Ryde.JPG" style="width: 300px;" /></a>
+<p>Hovercraft can move over both land and water and in some respects can be thought
+of as flying vehicles.</p>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-0bee4c9c9c742616fb232cb9cddb1033b1add029.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Example {
+size = &quot;7,5&quot;
+
+VEHICLE [color=royalblue, fillcolor=powderblue, shape=box, style=filled]
+AIR_VEHICLE [color=royalblue, fillcolor=powderblue, shape=box, style=filled]
+LAND_VEHICLE [color=royalblue, fillcolor=powderblue, shape=box,
+    style=filled]
+WATER_VEHICLE [color=royalblue, fillcolor=powderblue, shape=box,
+    style=filled]
+HOVERCRAFT [color=royalblue, fillcolor=powderblue, shape=box, style=filled]
+bht130 [color=royalblue, fillcolor=powderblue, shape=box, style=filled]
+ENGINE [color=royalblue, fillcolor=powderblue, shape=box, style=filled]
+INTERNAL_COMBUSTION_ENGINE [color=royalblue, fillcolor=powderblue,
+    shape=box, style=filled, margin=&quot;0.3,0.055&quot;]
+VEHICLE -&gt; AIR_VEHICLE -&gt; HOVERCRAFT
+VEHICLE -&gt; LAND_VEHICLE -&gt; HOVERCRAFT
+VEHICLE -&gt; WATER_VEHICLE -&gt; HOVERCRAFT
+HOVERCRAFT -&gt; bht130
+ENGINE -&gt; INTERNAL_COMBUSTION_ENGINE -&gt; bht130
+}</p></object></div>
+</div>
+<p>Write new families and one new task to represent the above structure.</p>
+<p>Add a description (<code class="docutils literal notranslate"><span class="pre">[meta]description</span></code>) to the <code class="docutils literal notranslate"><span class="pre">WATER_VEHICLE</span></code> and
+<code class="docutils literal notranslate"><span class="pre">HOVERCRAFT</span></code> families and a title (<code class="docutils literal notranslate"><span class="pre">[meta]title</span></code>) to the <code class="docutils literal notranslate"><span class="pre">bht130</span></code> task.</p>
+<div class="spoiler warning admonition">
+<p class="admonition-title">Solution</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[WATER_VEHICLE]]</span>
+    <span class="nv">inherit </span><span class="o">=</span><span class="s"> VEHICLE</span>
+    <span class="nt">[[[meta]]]</span>
+        <span class="nv">description </span><span class="o">=</span><span class="s"> A vehicle which can travel over water.</span>
+
+<span class="nt">[[HOVERCRAFT]]</span>
+    <span class="nv">inherit </span><span class="o">=</span><span class="s"> LAND_VEHICLE, AIR_VEHICLE, WATER_VEHICLE</span>
+    <span class="nt">[[[meta]]]</span>
+        <span class="nv">description </span><span class="o">=</span><span class="s"> A vehicle which can travel over ground, water and ice.</span>
+
+<span class="nt">[[bht130]]</span>
+    <span class="nv">inherit </span><span class="o">=</span><span class="s"> HOVERCRAFT, INTERNAL_COMBUSTION_ENGINE</span>
+    <span class="nt">[[[meta]]]</span>
+        <span class="nv">title </span><span class="o">=</span><span class="s"> Griffon Hoverwork BHT130 (Isle Of Whight Ferry).</span>
+</pre></div>
+</div>
+</div>
+</section>
+</section>
+<section id="finished-workflow">
+<h2>Finished Workflow<a class="headerlink" href="#finished-workflow" title="Link to this heading"></a></h2>
+<p>You should now have a workflow with an inheritance hierarchy which looks like
+this:</p>
+<div class="graphviz"><object data="../../_images/graphviz-65d4dbac5a6d4914d2c419d6ab0e28a1fdf0a091.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Example {
+size = &quot;7, 5&quot;
+
+root   [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+ENGINE    [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+root -&gt; ENGINE  [color=royalblue];
+VEHICLE   [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+root -&gt; VEHICLE    [color=royalblue];
+INTERNAL_COMBUSTION_ENGINE  [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled,
+   margin=&quot;0.3,0.055&quot;];
+ENGINE -&gt; INTERNAL_COMBUSTION_ENGINE    [color=royalblue];
+TURBINE_ENGINE  [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled,
+   margin=&quot;0.3,0.055&quot;];
+ENGINE -&gt; TURBINE_ENGINE    [color=royalblue];
+HUMAN_ENGINE    [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled,
+   margin=&quot;0.3,0.055&quot;];
+ENGINE -&gt; HUMAN_ENGINE   [color=royalblue];
+LAND_VEHICLE    [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+VEHICLE -&gt; LAND_VEHICLE  [color=royalblue];
+WATER_VEHICLE   [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+VEHICLE -&gt; WATER_VEHICLE    [color=royalblue];
+AIR_VEHICLE  [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+VEHICLE -&gt; AIR_VEHICLE   [color=royalblue];
+r44    [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+INTERNAL_COMBUSTION_ENGINE -&gt; r44    [color=royalblue];
+bht130    [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+INTERNAL_COMBUSTION_ENGINE -&gt; bht130    [color=royalblue];
+v22    [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+TURBINE_ENGINE -&gt; v22    [color=royalblue];
+a380   [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+TURBINE_ENGINE -&gt; a380   [color=royalblue];
+penny_farthing  [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled,
+   margin=&quot;0.3,0.055&quot;];
+HUMAN_ENGINE -&gt; penny_farthing    [color=royalblue];
+AIRPLANE  [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+AIRPLANE -&gt; v22    [color=royalblue];
+AIRPLANE -&gt; a380   [color=royalblue];
+HELICOPTER   [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+HELICOPTER -&gt; v22  [color=royalblue];
+HELICOPTER -&gt; r44  [color=royalblue];
+HOVERCRAFT   [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+HOVERCRAFT -&gt; bht130  [color=royalblue];
+LAND_VEHICLE -&gt; HOVERCRAFT  [color=royalblue];
+BICYCLE   [color=royalblue,
+   fillcolor=powderblue,
+   shape=box,
+   style=filled];
+LAND_VEHICLE -&gt; BICYCLE  [color=royalblue];
+WATER_VEHICLE -&gt; HOVERCRAFT    [color=royalblue];
+AIR_VEHICLE -&gt; AIRPLANE  [color=royalblue];
+AIR_VEHICLE -&gt; HELICOPTER   [color=royalblue];
+AIR_VEHICLE -&gt; HOVERCRAFT   [color=royalblue];
+BICYCLE -&gt; penny_farthing   [color=royalblue];
+}</p></object></div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="family-triggers.html" class="btn btn-neutral float-left" title="Family Triggers" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="queues.html" class="btn btn-neutral float-right" title="Queues" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/furthertopics/inheritance";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/furthertopics/message-triggers.html b/nightly_8.3/html/tutorial/furthertopics/message-triggers.html
new file mode 100644
index 00000000000..895f67e0489
--- /dev/null
+++ b/nightly_8.3/html/tutorial/furthertopics/message-triggers.html
@@ -0,0 +1,556 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Message Triggers &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="User Guide" href="../../user-guide/index.html" />
+    <link rel="prev" title="Retries" href="retries.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../runtime/index.html">Runtime</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Further Topics</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="clock-triggered-tasks.html">Clock Triggered Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="broadcast.html">Broadcast Tutorial</a></li>
+<li class="toctree-l3"><a class="reference internal" href="family-triggers.html">Family Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="inheritance.html">Inheritance</a></li>
+<li class="toctree-l3"><a class="reference internal" href="queues.html">Queues</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retries.html">Retries</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Message Triggers</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#explanation">Explanation</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#usage">Usage</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#how-to-create-a-message-trigger">How to create a message trigger</a></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Tutorial</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Further Topics</a></li>
+      <li class="breadcrumb-item active">Message Triggers</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/tutorial/furthertopics/message-triggers.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="message-triggers">
+<span id="tutorial-cylc-message-triggers"></span><h1>Message Triggers<a class="headerlink" href="#message-triggers" title="Link to this heading"></a></h1>
+<p><a class="reference internal" href="../../glossary.html#term-message-trigger"><span class="xref std std-term">Message triggers</span></a> allow us to trigger dependent tasks
+before the upstream task has completed.</p>
+<section id="explanation">
+<h2>Explanation<a class="headerlink" href="#explanation" title="Link to this heading"></a></h2>
+<p>We have seen <a class="reference internal" href="../scheduling/further-scheduling.html#tutorial-qualifiers"><span class="std std-ref">before</span></a> that tasks can have
+<a class="reference internal" href="../../glossary.html#term-qualifier"><span class="xref std std-term">qualifiers</span></a> for different
+<a class="reference internal" href="../../glossary.html#term-task-state"><span class="xref std std-term">task states</span></a>.
+<a class="reference internal" href="../../glossary.html#term-message-trigger"><span class="xref std std-term">Message triggers</span></a> are essentially custom qualifiers.
+We can produce a bespoke output while our task is still running.
+This output could be, for example, a report or perhaps another task.</p>
+</section>
+<section id="usage">
+<h2>Usage<a class="headerlink" href="#usage" title="Link to this heading"></a></h2>
+<p><a class="reference internal" href="../../glossary.html#term-message-trigger"><span class="xref std std-term">Message triggers</span></a> are particularly useful if we have
+a long running task and we want to produce multiple tailored outputs whilst
+this task is running, rather than having to wait for the task to
+complete.</p>
+<p>We could also set up <a class="reference internal" href="../../glossary.html#term-message-trigger"><span class="xref std std-term">message triggers</span></a> to, for example,
+send an email to inform us that a submission has failed, making use of Cylc’s
+task event handling system. More information is available on these in the
+<a class="reference external" href="https://cylc.github.io/cylc-doc/latest/html/index.html">Cylc User Guide</a>.</p>
+<p><a class="reference internal" href="../../glossary.html#term-message-trigger"><span class="xref std std-term">Message triggers</span></a> provide a superior solution to
+the problem of file system polling. We could, for example, design our workflow
+such that we check if our task is finished by polling at intervals.
+It is inefficient to ‘spam’ task hosts with polling commands, it is preferable
+to set up a message trigger.</p>
+</section>
+<section id="how-to-create-a-message-trigger">
+<h2>How to create a message trigger<a class="headerlink" href="#how-to-create-a-message-trigger" title="Link to this heading"></a></h2>
+<p>In order to get our workflow to trigger messages, we need to:</p>
+<ul class="simple">
+<li><dl class="simple">
+<dt>specify our custom message in a section called <code class="docutils literal notranslate"><span class="pre">[[outputs]]</span></code> within the</dt><dd><p><code class="docutils literal notranslate"><span class="pre">[runtime]</span></code> section of our workflow,</p>
+</dd>
+</dl>
+</li>
+<li><dl class="simple">
+<dt>add <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">message</span> <span class="pre">--</span> <span class="pre">&quot;${CYLC_WORKFLOW_ID}&quot;</span> <span class="pre">&quot;${CYLC_TASK_JOB}&quot;</span> <span class="pre">&quot;YOUR</span> <span class="pre">CHOSEN</span> <span class="pre">TRIGGER</span> <span class="pre">MESSAGE&quot;</span></code></dt><dd><p>to the <code class="docutils literal notranslate"><span class="pre">script</span></code> section of <code class="docutils literal notranslate"><span class="pre">[runtime]</span></code>, your chosen trigger message
+should be unique and should exactly match the message defined in
+<code class="docutils literal notranslate"><span class="pre">[[outputs]]</span></code>.</p>
+</dd>
+</dl>
+</li>
+<li><p>Refer to these messages in the <code class="docutils literal notranslate"><span class="pre">[dependencies]</span></code> section of our workflow.</p></li>
+</ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The message will be recorded in the workflow’s scheduler log.
+See <a class="reference internal" href="../../user-guide/running-workflows/scheduler-log-files.html#scheduler-logs-cylc-message"><span class="std std-ref">Cylc Message</span></a> for details of how messages appear.</p>
+</div>
+<p>These outputs are then triggered during the running of the task.
+We can use these to manage tasks dependent on partially completed tasks.</p>
+<p>So, a basic example, where we have a task foo, that when partially completed
+triggers another task bar and when fully completed triggers another task, baz.</p>
+<blockquote>
+<div><div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">foo</span><span class="c">:</span><span class="kd">out1</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+            <span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">baz</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            sleep 5</span>
+<span class="s2">            cylc message -- &quot;${CYLC_WORKFLOW_ID}&quot; &quot;${CYLC_TASK_JOB}&quot; &quot;file 1 done&quot;</span>
+<span class="s2">            sleep 10</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+        <span class="nt">[[[outputs]]]</span>
+            <span class="nv">out1 </span><span class="o">=</span><span class="s"> &quot;file 1 done&quot;</span>
+
+    <span class="nt">[[bar, baz]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> sleep 10</span>
+</pre></div>
+</div>
+</div></blockquote>
+<div class="note admonition" id="message-triggers-practical">
+<p class="admonition-title">Practical</p>
+<p class="rubric">In this practical example, we will create a workflow to demonstrate
+<a class="reference internal" href="../../glossary.html#term-message-trigger"><span class="xref std std-term">message triggers</span></a>. We will use message triggers
+to both produce a report and trigger a new task from a partially completed
+task.</p>
+<ol class="arabic">
+<li><p><strong>Create a new directory.</strong></p>
+<p>Within your <code class="docutils literal notranslate"><span class="pre">~/cylc-src</span></code> directory create a new directory called</p>
+<p><code class="docutils literal notranslate"><span class="pre">message-triggers</span></code> and move into it:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>mkdir<span class="w"> </span>~/cylc-src/message-triggers
+<span class="nb">cd</span><span class="w"> </span>~/cylc-src/message-triggers
+</pre></div>
+</div>
+</li>
+<li><p><strong>Install the script needed for our workflow</strong></p>
+<p>The workflow we will be designing requires a bash script, <code class="docutils literal notranslate"><span class="pre">random.sh</span></code>,
+to produce our report. It will simply create a text file <code class="docutils literal notranslate"><span class="pre">report.txt</span></code>
+with some random numbers in it. This will be executed when the associated
+task is run.</p>
+<p>Scripts should be kept in the <code class="docutils literal notranslate"><span class="pre">bin</span></code> sub-directory within the
+<a class="reference internal" href="../../glossary.html#term-run-directory"><span class="xref std std-term">run directory</span></a>. If a <code class="docutils literal notranslate"><span class="pre">/bin</span></code>
+exists in the run directory, it will be prepended $PATH at run
+time.</p>
+<p>Create a <code class="docutils literal notranslate"><span class="pre">/bin</span></code> directory.</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>mkdir<span class="w"> </span>~/cylc-src/message-triggers/bin
+</pre></div>
+</div>
+<p>Create a bash script in the bin directory:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>touch<span class="w"> </span>bin/random.sh
+</pre></div>
+</div>
+<p>We will need to make this script executable.</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>chmod<span class="w"> </span>+x<span class="w"> </span>bin/random.sh
+</pre></div>
+</div>
+<p>Open the file and paste the following basic bash script into it:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/usr/bin/env bash</span>
+<span class="nb">set</span><span class="w"> </span>-eu<span class="w">  </span><span class="c1"># Prevent bash script failing quietly.</span>
+
+<span class="nv">counter</span><span class="o">=</span><span class="m">1</span>
+
+<span class="k">while</span><span class="w"> </span><span class="o">[</span><span class="w"> </span><span class="nv">$counter</span><span class="w"> </span>-le<span class="w"> </span><span class="m">10</span><span class="w"> </span><span class="o">]</span><span class="p">;</span><span class="w"> </span><span class="k">do</span>
+<span class="w">    </span><span class="nv">newrand</span><span class="o">=</span><span class="k">$((</span><span class="w"> </span><span class="o">((</span><span class="w"> </span><span class="nv">RANDOM</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="m">40</span><span class="o">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="m">1</span><span class="w"> </span><span class="o">)</span><span class="w"> </span><span class="k">))</span><span class="p">;</span>
+<span class="w">    </span><span class="nb">echo</span><span class="w"> </span><span class="nv">$newrand</span><span class="w"> </span>&gt;&gt;<span class="w"> </span>report.txt<span class="p">;</span>
+<span class="w">    </span><span class="nv">counter</span><span class="o">=</span><span class="k">$((</span><span class="nv">counter</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="m">1</span><span class="k">))</span><span class="p">;</span>
+<span class="k">done</span>
+</pre></div>
+</div>
+</li>
+<li><p><strong>Create a new workflow.</strong></p>
+<p>Create a <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file and paste the following basic workflow into it:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[meta]</span>
+    <span class="nv">title </span><span class="o">=</span><span class="s"> &quot;test workflow to demo message triggers&quot;</span>
+
+<span class="nt">[scheduler]</span>
+    <span class="nv">UTC mode </span><span class="o">=</span><span class="s"> True</span>
+
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2019-06-27T00Z</span>
+    <span class="nv">final cycle point </span><span class="o">=</span><span class="s"> 2019-10-27T00Z</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P2M </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">long_forecasting_task</span> <span class="o">=&gt;</span>  <span class="kd">another_weather_task</span>
+            <span class="kd">long_forecasting_task</span> <span class="o">=&gt;</span> <span class="kd">different_weather_task</span>
+            <span class="kd">long_forecasting_task</span>[<span class="nb">-P2M</span>] <span class="o">=&gt;</span> <span class="kd">long_forecasting_task</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>This is a basic workflow, currently it does not have any message triggers
+attached to any task.</p>
+</li>
+<li><p><strong>Define our tasks in the runtime section.</strong></p>
+<p>Next we want to create our <code class="docutils literal notranslate"><span class="pre">runtime</span></code> section of our workflow.
+First we define what the tasks do. In this example
+<code class="docutils literal notranslate"><span class="pre">long_forecasting_task</span></code> will sleep, create a file containing some
+random numbers and produce a message.
+(Note that the random number generator bash script has already been
+preloaded into your <code class="docutils literal notranslate"><span class="pre">bin</span></code> directory.)
+<code class="docutils literal notranslate"><span class="pre">another_weather_task</span></code> and <code class="docutils literal notranslate"><span class="pre">different_weather_task</span></code> simply sleep.</p>
+<p>Add the following code to the  <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+
+    <span class="nt">[[long_forecasting_task]]</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            sleep 2</span>
+<span class="s2">            random.sh</span>
+
+<span class="s2">            sleep 2</span>
+<span class="s2">            random.sh</span>
+
+<span class="s2">            sleep 2</span>
+<span class="s2">            random.sh</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+
+    <span class="nt">[[another_weather_task, different_weather_task]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> sleep 1</span>
+</pre></div>
+</div>
+</li>
+<li><p><strong>Create message triggers.</strong></p>
+<p>We now have a workflow with a task, <code class="docutils literal notranslate"><span class="pre">long_forecasting_task</span></code> which, after
+it has fully completed, triggers two more tasks, <code class="docutils literal notranslate"><span class="pre">another_weather_task</span></code>
+and <code class="docutils literal notranslate"><span class="pre">different_weather_task</span></code>.</p>
+<p>Suppose we want <code class="docutils literal notranslate"><span class="pre">another_weather_task</span></code> and <code class="docutils literal notranslate"><span class="pre">different_weather_task</span></code>
+to start before <code class="docutils literal notranslate"><span class="pre">long_forecasting_task</span></code> has fully completed, perhaps
+after some data has become available.</p>
+<p>In this case, we shall trigger <code class="docutils literal notranslate"><span class="pre">another_weather_task</span></code> after one set of
+random numbers has been created
+and <code class="docutils literal notranslate"><span class="pre">different_weather_task</span></code> after a second set of random numbers has
+been created.</p>
+<p>There are three aspects of creating message triggers.
+The first is to create the messages. Within <code class="docutils literal notranslate"><span class="pre">runtime</span></code>, <code class="docutils literal notranslate"><span class="pre">TASK</span></code> in our
+workflow, we need to create a sub-section called <code class="docutils literal notranslate"><span class="pre">outputs</span></code>. Here we create
+our custom outputs.</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="gi">+        [[[outputs]]]</span>
+<span class="gi">+            update1 = &quot;Task partially complete, report ready to view&quot;</span>
+<span class="gi">+            update2 = &quot;Task partially complete, report updated&quot;</span>
+</pre></div>
+</div>
+<p>The second thing we need to do is to create a cylc message in our script.
+This should be placed where you want the message to be called. In our
+case, this is after each of the first two set of random numbers are
+generated.</p>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>Remember that the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">message</span></code> should exactly match the outputs
+stated in our <code class="docutils literal notranslate"><span class="pre">[[[outputs]]]</span></code> section.</p>
+</div>
+<p>Modify the <code class="docutils literal notranslate"><span class="pre">[[long_forecasting_task]]</span></code> script in the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file
+as follows:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span>[runtime]
+
+<span class="w"> </span>   [[long_forecasting_task]]
+<span class="w"> </span>       script = &quot;&quot;&quot;
+<span class="w"> </span>           sleep 2
+<span class="w"> </span>           random.sh
+<span class="gi">+           cylc message -- &quot;${CYLC_WORKFLOW_ID}&quot; &quot;${CYLC_TASK_JOB}&quot; \</span>
+<span class="gi">+                &quot;Task partially complete, report ready to view&quot;</span>
+<span class="w"> </span>           sleep 2
+<span class="w"> </span>           random.sh
+<span class="gi">+           cylc message -- &quot;${CYLC_WORKFLOW_ID}&quot; &quot;${CYLC_TASK_JOB}&quot; \</span>
+<span class="gi">+               &quot;Task partially complete, report updated&quot;</span>
+<span class="w"> </span>           sleep 2
+<span class="w"> </span>           random.sh
+<span class="w"> </span>       &quot;&quot;&quot;
+</pre></div>
+</div>
+<p>Lastly, we need to make reference to the messages in the
+graph section.
+This will ensure your tasks trigger off of the messages correctly.</p>
+<p>Adapt the <code class="docutils literal notranslate"><span class="pre">[[dependencies]]</span></code> section in the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file to read as
+follows:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="w"> </span>        [[[P2M]]]
+<span class="w"> </span>            graph = &quot;&quot;&quot;
+<span class="gd">-               long_forecasting_task =&gt;  another_weather_task</span>
+<span class="gd">-               long_forecasting_task =&gt; different_weather_task</span>
+<span class="gi">+               long_forecasting_task:update1 =&gt;  another_weather_task</span>
+<span class="gi">+               long_forecasting_task:update2 =&gt; different_weather_task</span>
+<span class="w"> </span>               long_forecasting_task[-P2M] =&gt; long_forecasting_task
+<span class="w"> </span>           &quot;&quot;&quot;
+</pre></div>
+</div>
+<p>This completes our <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file.</p>
+<p>Our final workflow should look like this:</p>
+<div class="spoiler warning admonition">
+<p class="admonition-title">Solution</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[meta]</span>
+    <span class="nv">title </span><span class="o">=</span><span class="s"> &quot;test workflow to demo message triggers&quot;</span>
+
+<span class="nt">[scheduler]</span>
+    <span class="nv">UTC mode </span><span class="o">=</span><span class="s"> True</span>
+
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2019-06-27T00Z</span>
+    <span class="nv">final cycle point </span><span class="o">=</span><span class="s"> 2019-10-27T00Z</span>
+
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P2M </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">long_forecasting_task</span><span class="c">:</span><span class="kd">update1</span> <span class="o">=&gt;</span>  <span class="kd">another_weather_task</span>
+            <span class="kd">long_forecasting_task</span><span class="c">:</span><span class="kd">update2</span> <span class="o">=&gt;</span> <span class="kd">different_weather_task</span>
+            <span class="kd">long_forecasting_task</span>[<span class="nb">-P2M</span>] <span class="o">=&gt;</span> <span class="kd">long_forecasting_task</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+
+<span class="nt">[runtime]</span>
+    <span class="nt">[[long_forecasting_task]]</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            sleep 2</span>
+<span class="s2">            random.sh</span>
+<span class="s2">            cylc message -- &quot;${CYLC_WORKFLOW_ID}&quot; &quot;${CYLC_TASK_JOB}&quot; \</span>
+<span class="s2">                &quot;Task partially complete, report ready to view&quot;</span>
+<span class="s2">            sleep 2</span>
+<span class="s2">            random.sh</span>
+<span class="s2">            cylc message -- &quot;${CYLC_WORKFLOW_ID}&quot; &quot;${CYLC_TASK_JOB}&quot; \</span>
+<span class="s2">                &quot;Task partially complete, report updated&quot;</span>
+<span class="s2">            sleep 2</span>
+<span class="s2">            random.sh</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+        <span class="nt">[[[outputs]]]</span>
+            <span class="nv">update1 </span><span class="o">=</span><span class="s"> &quot;Task partially complete, report ready to view&quot;</span>
+            <span class="nv">update2 </span><span class="o">=</span><span class="s"> &quot;Task partially complete, report updated&quot;</span>
+
+    <span class="nt">[[another_weather_task, different_weather_task]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> sleep 1</span>
+</pre></div>
+</div>
+</div>
+</li>
+<li><p><strong>Validate the workflow.</strong></p>
+<p>It is a good idea to check that our <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file does not have any
+configuration issues.</p>
+<p>Run <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">validate</span></code> to check for any errors:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>validate<span class="w"> </span>.
+</pre></div>
+</div>
+</li>
+<li><p><strong>Install and Play the workflow.</strong></p>
+<p>Now we are ready to run our workflow. Validate, install, then open
+the <a class="reference internal" href="../runtime/introduction.html#tutorial-gui"><span class="std std-ref">GUI</span></a> or <a class="reference internal" href="../runtime/introduction.html#tutorial-tui"><span class="std std-ref">TUI</span></a> and play
+the workflow.</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>validate<span class="w"> </span>.
+cylc<span class="w"> </span>install
+cylc<span class="w"> </span>play<span class="w"> </span>message-triggers
+</pre></div>
+</div>
+<p>Your workflow should now run, the tasks should succeed.</p>
+</li>
+<li><p><strong>Inspect the work directory.</strong></p>
+<p>You can now check for your report outputs. These should appear in the
+<a class="reference internal" href="../../glossary.html#term-work-directory"><span class="xref std std-term">work directory</span></a> of the workflow. All being well, our first cycle
+point should produce a test file with some random numbers, and each
+subsequent cycle point file should have more random numbers added.</p>
+</li>
+<li><p><strong>Extension.</strong></p>
+<p>Suppose now we would like to send an email alerting us to the reports
+being ready to view.</p>
+<p>We will need to add to our <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file.</p>
+<p>In the <code class="docutils literal notranslate"><span class="pre">runtime</span></code> section, add a sub-section called <code class="docutils literal notranslate"><span class="pre">[[[events]]]</span></code>.
+Within this section we will make use of the built-in setting
+<code class="docutils literal notranslate"><span class="pre">mail</span> <span class="pre">events</span></code>.
+Here, we specify a list of events for which notifications should be sent.</p>
+<p>The events we are interested in are, in this case, our outputs.</p>
+<p>Add the following code to your <code class="docutils literal notranslate"><span class="pre">[[[events]]]</span></code> section.</p>
+<blockquote>
+<div><div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[[events]]]</span>
+    <span class="nv">mail events </span><span class="o">=</span><span class="s"> update1, update2</span>
+</pre></div>
+</div>
+<p>Our updated workflow should look like this:</p>
+</div></blockquote>
+<div class="spoiler warning admonition">
+<p class="admonition-title">Solution</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">UTC mode </span><span class="o">=</span><span class="s"> True</span>
+<span class="nt">[meta]</span>
+    <span class="nv">title </span><span class="o">=</span><span class="s"> &quot;test workflow to demo message triggers&quot;</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2019-06-27T00Z</span>
+    <span class="nv">final cycle point </span><span class="o">=</span><span class="s"> 2019-10-27T00Z</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P2M </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">long_forecasting_task</span><span class="c">:</span><span class="kd">update1</span> <span class="o">=&gt;</span>  <span class="kd">another_weather_task</span>
+            <span class="kd">long_forecasting_task</span><span class="c">:</span><span class="kd">update2</span> <span class="o">=&gt;</span> <span class="kd">different_weather_task</span>
+            <span class="kd">long_forecasting_task</span>[<span class="nb">-P2M</span>] <span class="o">=&gt;</span> <span class="kd">long_forecasting_task</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[long_forecasting_task]]</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            sleep 2</span>
+<span class="s2">            random.sh</span>
+<span class="s2">            cylc message -- &quot;${CYLC_WORKFLOW_ID}&quot; &quot;${CYLC_TASK_JOB}&quot; \</span>
+<span class="s2">                &quot;Task partially complete, report ready to view&quot;</span>
+<span class="s2">            sleep 2</span>
+<span class="s2">            random.sh</span>
+<span class="s2">            cylc message -- &quot;${CYLC_WORKFLOW_ID}&quot; &quot;${CYLC_TASK_JOB}&quot; \</span>
+<span class="s2">                &quot;Task partially complete, report updated&quot;</span>
+<span class="s2">            sleep 2</span>
+<span class="s2">            random.sh</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+
+        <span class="nt">[[[outputs]]]</span>
+            <span class="nv">update1 </span><span class="o">=</span><span class="s"> &quot;Task partially complete, report ready to view&quot;</span>
+            <span class="nv">update2 </span><span class="o">=</span><span class="s"> &quot;Task partially complete, report updated&quot;</span>
+
+        <span class="nt">[[[events]]]</span>
+            <span class="nv">mail events </span><span class="o">=</span><span class="s"> update1, update2</span>
+
+    <span class="nt">[[another_weather_task, different_weather_task]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> sleep 1</span>
+</pre></div>
+</div>
+</div>
+<p>Save your changes and run your workflow.
+Check your emails and you should have, one email for the first update and,
+a second email alerting you to the subsequent updated reports being ready.</p>
+<p>Note that the second email automatically bundles the messages to prevent
+your inbox from being flooded.</p>
+</li>
+</ol>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="retries.html" class="btn btn-neutral float-left" title="Retries" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../../user-guide/index.html" class="btn btn-neutral float-right" title="User Guide" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/furthertopics/message-triggers";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/furthertopics/queues.html b/nightly_8.3/html/tutorial/furthertopics/queues.html
new file mode 100644
index 00000000000..3d62b9c9a60
--- /dev/null
+++ b/nightly_8.3/html/tutorial/furthertopics/queues.html
@@ -0,0 +1,274 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Queues &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Retries" href="retries.html" />
+    <link rel="prev" title="Inheritance" href="inheritance.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../runtime/index.html">Runtime</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Further Topics</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="clock-triggered-tasks.html">Clock Triggered Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="broadcast.html">Broadcast Tutorial</a></li>
+<li class="toctree-l3"><a class="reference internal" href="family-triggers.html">Family Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="inheritance.html">Inheritance</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Queues</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#further-reading">Further Reading</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="retries.html">Retries</a></li>
+<li class="toctree-l3"><a class="reference internal" href="message-triggers.html">Message Triggers</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Tutorial</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Further Topics</a></li>
+      <li class="breadcrumb-item active">Queues</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/tutorial/furthertopics/queues.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="queues">
+<span id="tutorial-furthertopics-queues"></span><h1>Queues<a class="headerlink" href="#queues" title="Link to this heading"></a></h1>
+<p>Queues are used to put a limit on the number of tasks that will be active at
+any one time, even if their dependencies are satisfied. This avoids swamping
+systems with too many tasks at once.</p>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<p>In this example, our workflow manages a particularly understaffed restaurant.</p>
+<p>Create a new workflow called <code class="docutils literal notranslate"><span class="pre">queues-tutorial</span></code>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">mkdir</span> <span class="o">-</span><span class="n">p</span> <span class="o">~/</span><span class="n">cylc</span><span class="o">-</span><span class="n">src</span><span class="o">/</span><span class="n">queues</span><span class="o">-</span><span class="n">tutorial</span>
+<span class="n">cd</span> <span class="o">~/</span><span class="n">cylc</span><span class="o">-</span><span class="n">src</span><span class="o">/</span><span class="n">queues</span><span class="o">-</span><span class="n">tutorial</span>
+</pre></div>
+</div>
+<p>And paste the following into <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">open_restaurant</span> <span class="o">=&gt;</span> <span class="kd">steak1</span> <span class="o">&amp;</span> <span class="kd">steak2</span> <span class="o">&amp;</span> <span class="kd">pasta1</span> <span class="o">&amp;</span> <span class="kd">pasta2</span> <span class="o">&amp;</span> <span class="kd">pasta3</span> <span class="o">&amp;</span> <span class="c">\</span>
+                               <span class="kd">pizza1</span> <span class="o">&amp;</span> <span class="kd">pizza2</span> <span class="o">&amp;</span> <span class="kd">pizza3</span> <span class="o">&amp;</span> <span class="kd">pizza4</span>
+            <span class="kd">steak1</span> <span class="o">=&gt;</span> <span class="kd">ice_cream1</span>
+            <span class="kd">steak2</span> <span class="o">=&gt;</span> <span class="kd">cheesecake1</span>
+            <span class="kd">pasta1</span> <span class="o">=&gt;</span> <span class="kd">ice_cream2</span>
+            <span class="kd">pasta2</span> <span class="o">=&gt;</span> <span class="kd">sticky_toffee1</span>
+            <span class="kd">pasta3</span> <span class="o">=&gt;</span> <span class="kd">cheesecake2</span>
+            <span class="kd">pizza1</span> <span class="o">=&gt;</span> <span class="kd">ice_cream3</span>
+            <span class="kd">pizza2</span> <span class="o">=&gt;</span> <span class="kd">ice_cream4</span>
+            <span class="kd">pizza3</span> <span class="o">=&gt;</span> <span class="kd">sticky_toffee2</span>
+            <span class="kd">pizza4</span> <span class="o">=&gt;</span> <span class="kd">ice_cream5</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+
+<span class="nt">[runtime]</span>
+    <span class="nt">[[open_restaurant]]</span>
+    <span class="nt">[[MAINS]]</span>
+    <span class="nt">[[DESSERT]]</span>
+    <span class="nt">[[steak1,steak2,pasta1,pasta2,pasta3,pizza1,pizza2,pizza3,pizza4]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> MAINS</span>
+    <span class="nt">[[ice_cream1,ice_cream2,ice_cream3,ice_cream4,ice_cream5]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> DESSERT</span>
+    <span class="nt">[[cheesecake1,cheesecake2,sticky_toffee1,sticky_toffee2]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> DESSERT</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>In graph sections, lines can be split on <code class="docutils literal notranslate"><span class="pre">&amp;</span></code>, i.e. the
+following two examples are equivalent:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">bar</span> <span class="o">&amp;</span>
+       <span class="kd">baz</span>
+</pre></div>
+</div>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">bar</span> <span class="o">&amp;</span> <span class="kd">baz</span>
+</pre></div>
+</div>
+<p><code class="docutils literal notranslate"><span class="pre">|</span></code> (or), and <code class="docutils literal notranslate"><span class="pre">=&gt;</span></code> act in the same way.</p>
+</div>
+<p>Validate, install and play the workflow:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">validate</span> <span class="o">.</span>
+<span class="n">cylc</span> <span class="n">install</span> <span class="o">--</span><span class="n">run</span><span class="o">-</span><span class="n">name</span> <span class="n">without</span><span class="o">-</span><span class="n">queues</span>
+</pre></div>
+</div>
+<p>Look at the workflow with <a class="reference internal" href="../runtime/introduction.html#tutorial-gui"><span class="std std-ref">The Cylc GUI</span></a> or <a class="reference internal" href="../runtime/introduction.html#tutorial-tui"><span class="std std-ref">The Cylc TUI</span></a></p>
+<p>Play the workflow, either from the GUI or the command line:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">play</span> <span class="n">queues</span><span class="o">-</span><span class="n">tutorial</span><span class="o">/</span><span class="n">without</span><span class="o">-</span><span class="n">queues</span>
+</pre></div>
+</div>
+<p>You will see that all the <code class="docutils literal notranslate"><span class="pre">steak</span></code>, <code class="docutils literal notranslate"><span class="pre">pasta</span></code>, and <code class="docutils literal notranslate"><span class="pre">pizza</span></code> tasks are run
+at once, swiftly followed by all the <code class="docutils literal notranslate"><span class="pre">ice_cream</span></code>, <code class="docutils literal notranslate"><span class="pre">cheesecake</span></code>,
+<code class="docutils literal notranslate"><span class="pre">sticky_toffee</span></code> tasks as the customers order from the dessert menu.</p>
+<p>This will overwhelm our restaurant staff! The chef responsible for <code class="docutils literal notranslate"><span class="pre">MAINS</span></code>
+can only handle 3 tasks at any given time, and the <code class="docutils literal notranslate"><span class="pre">DESSERT</span></code> chef can only
+handle 2.</p>
+<p>We need to add some queues. Add a <code class="docutils literal notranslate"><span class="pre">[queues]</span></code> section to the <code class="docutils literal notranslate"><span class="pre">[scheduling]</span></code>
+section like so:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[queues]]</span>
+        <span class="nt">[[[mains_chef_queue]]]</span>
+            <span class="nv">limit </span><span class="o">=</span><span class="s"> 3</span>  <span class="c1"># Only 3 mains dishes at one time.</span>
+            <span class="nv">members </span><span class="o">=</span><span class="s"> MAINS</span>
+        <span class="nt">[[[dessert_chef_queue]]]</span>
+            <span class="nv">limit </span><span class="o">=</span><span class="s"> 2</span>  <span class="c1"># Only 2 dessert dishes at one time.</span>
+            <span class="nv">members </span><span class="o">=</span><span class="s"> DESSERT</span>
+</pre></div>
+</div>
+<p>Install and play the workflow:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">validate</span> <span class="o">.</span>
+<span class="n">cylc</span> <span class="n">install</span> <span class="o">--</span><span class="n">run</span><span class="o">-</span><span class="n">name</span> <span class="n">tutorial</span><span class="o">-</span><span class="k">with</span><span class="o">-</span><span class="n">queues</span>
+</pre></div>
+</div>
+<p>Play the workflow using the <a class="reference internal" href="../runtime/introduction.html#tutorial-gui"><span class="std std-ref">GUI</span></a>
+or <a class="reference internal" href="../runtime/introduction.html#tutorial-tui"><span class="std std-ref">TUI</span></a>.</p>
+<p>You should see that there are now never more than 3 active <code class="docutils literal notranslate"><span class="pre">MAINS</span></code> tasks
+running and never more than 2 active <code class="docutils literal notranslate"><span class="pre">DESSERT</span></code> tasks running.</p>
+<p>The customers will obviously have to wait!</p>
+</section>
+<section id="further-reading">
+<h2>Further Reading<a class="headerlink" href="#further-reading" title="Link to this heading"></a></h2>
+<p>For more information, see the <a class="reference external" href="https://cylc.github.io/cylc-doc/latest/html/index.html">Cylc User Guide</a>.</p>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="inheritance.html" class="btn btn-neutral float-left" title="Inheritance" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="retries.html" class="btn btn-neutral float-right" title="Retries" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/furthertopics/queues";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/furthertopics/retries.html b/nightly_8.3/html/tutorial/furthertopics/retries.html
new file mode 100644
index 00000000000..ef4bafaaee6
--- /dev/null
+++ b/nightly_8.3/html/tutorial/furthertopics/retries.html
@@ -0,0 +1,314 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Retries &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Message Triggers" href="message-triggers.html" />
+    <link rel="prev" title="Queues" href="queues.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../runtime/index.html">Runtime</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Further Topics</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="clock-triggered-tasks.html">Clock Triggered Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="broadcast.html">Broadcast Tutorial</a></li>
+<li class="toctree-l3"><a class="reference internal" href="family-triggers.html">Family Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="inheritance.html">Inheritance</a></li>
+<li class="toctree-l3"><a class="reference internal" href="queues.html">Queues</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Retries</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#purpose">Purpose</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#running-without-retries">Running Without Retries</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#configuring-retries">Configuring Retries</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#running-with-retries">Running With Retries</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#altering-behaviour">Altering Behaviour</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#further-reading">Further Reading</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="message-triggers.html">Message Triggers</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Tutorial</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Further Topics</a></li>
+      <li class="breadcrumb-item active">Retries</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/tutorial/furthertopics/retries.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="retries">
+<h1>Retries<a class="headerlink" href="#retries" title="Link to this heading"></a></h1>
+<p>Retries allow us to automatically re-submit tasks which have failed due to
+failure in submission or execution.</p>
+<section id="purpose">
+<h2>Purpose<a class="headerlink" href="#purpose" title="Link to this heading"></a></h2>
+<p>Retries can be useful for tasks that occasionally fail for known, fixable
+reasons. Cylc can rerun a failing job multiple times, with user-defined delays
+between tries.</p>
+<p>Tasks that fail because of temporary hardware or network outages may succeed if
+simply resubmitted after a delay. Others might succeed if configured differently
+on the retry.</p>
+<p>A job environment variable <code class="docutils literal notranslate"><span class="pre">$CYLC_TASK_TRY_NUMBER</span></code> increments with each try,
+to allow try-dependent behaviour in the task script.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Tasks only enter the <code class="docutils literal notranslate"><span class="pre">submit-failed</span></code> state if job submission fails with no
+retries left. Otherwise they return to the waiting state, to wait on the
+next try.</p>
+<p>Tasks only enter the <code class="docutils literal notranslate"><span class="pre">failed</span></code> state if job execution fails with no retries
+left. Otherwise they return to the waiting state, to wait on the next try.</p>
+</div>
+</section>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<a class="reference internal image-reference" href="https://upload.wikimedia.org/wikipedia/commons/7/73/Double-six-dice.jpg"><img alt="Two dice both showing the number six" class="align-right" src="https://upload.wikimedia.org/wikipedia/commons/7/73/Double-six-dice.jpg" style="width: 200px;" /></a>
+<p>Create a new workflow by running the following commands:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">mkdir</span> <span class="o">-</span><span class="n">p</span> <span class="o">~/</span><span class="n">cylc</span><span class="o">-</span><span class="n">src</span><span class="o">/</span><span class="n">retries</span><span class="o">-</span><span class="n">tutorial</span>
+<span class="n">cd</span> <span class="o">~/</span><span class="n">cylc</span><span class="o">-</span><span class="n">src</span><span class="o">/</span><span class="n">retries</span><span class="o">-</span><span class="n">tutorial</span>
+</pre></div>
+</div>
+<p>And paste the following code into a <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> file. This workflow has a
+<code class="docutils literal notranslate"><span class="pre">roll_doubles</span></code> task that simulates trying to roll doubles using two dice:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">UTC mode </span><span class="o">=</span><span class="s"> True</span> <span class="c1"># Ignore DST</span>
+
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = start =&gt; roll_doubles </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">win</span>
+
+<span class="nt">[runtime]</span>
+    <span class="nt">[[start]]</span>
+    <span class="nt">[[win]]</span>
+    <span class="nt">[[roll_doubles]]</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            sleep 10</span>
+<span class="s2">            RANDOM=$$</span>  <span class="c1"># Seed $RANDOM</span>
+<span class="s2">            DIE_1=$((RANDOM%6 + 1))</span>
+<span class="s2">            DIE_2=$((RANDOM%6 + 1))</span>
+<span class="s2">            echo &quot;Rolled $DIE_1 and $DIE_2...&quot;</span>
+<span class="s2">            if (($DIE_1 == $DIE_2)); then</span>
+<span class="s2">                echo &quot;doubles!&quot;</span>
+<span class="s2">            else</span>
+<span class="s2">                exit 1</span>
+<span class="s2">            fi</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</section>
+<section id="running-without-retries">
+<h2>Running Without Retries<a class="headerlink" href="#running-without-retries" title="Link to this heading"></a></h2>
+<p>Let’s see what happens when we run the workflow as it is.
+Look at the workflow with <a class="reference internal" href="../runtime/introduction.html#tutorial-gui"><span class="std std-ref">The Cylc GUI</span></a> or <a class="reference internal" href="../runtime/introduction.html#tutorial-tui"><span class="std std-ref">The Cylc TUI</span></a></p>
+<p>Then validate install and run the workflow:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">validate</span> <span class="o">.</span>
+<span class="n">cylc</span> <span class="n">install</span>
+<span class="n">cylc</span> <span class="n">play</span> <span class="n">retries</span><span class="o">-</span><span class="n">tutorial</span>
+</pre></div>
+</div>
+<p>Unless you’re lucky, the workflow should fail at the roll_doubles task.</p>
+<p>Stop the workflow:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">stop</span> <span class="n">retries</span><span class="o">-</span><span class="n">tutorial</span>
+</pre></div>
+</div>
+</section>
+<section id="configuring-retries">
+<h2>Configuring Retries<a class="headerlink" href="#configuring-retries" title="Link to this heading"></a></h2>
+<p>We need to tell Cylc to retry it a few times. To do this, add the following
+to the end of the <code class="docutils literal notranslate"><span class="pre">[[roll_doubles]]</span></code> task section in the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">execution retry delays </span><span class="o">=</span><span class="s"> 5*PT6S</span>
+</pre></div>
+</div>
+<p>This means that if the <code class="docutils literal notranslate"><span class="pre">roll_doubles</span></code> task fails, Cylc expects to
+retry running it 5 times before finally failing. Each retry will have
+a delay of 6 seconds.</p>
+<p>We can apply multiple retry periods with the <code class="docutils literal notranslate"><span class="pre">execution</span> <span class="pre">retry</span> <span class="pre">delays</span></code> setting
+by separating them with commas, for example the following line would tell Cylc
+to retry a task four times, once after 15 seconds, then once after 10 minutes,
+then once after one hour then once after three hours.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">execution retry delays </span><span class="o">=</span><span class="s"> PT15S, PT10M, PT1H, PT3H</span>
+</pre></div>
+</div>
+</section>
+<section id="running-with-retries">
+<h2>Running With Retries<a class="headerlink" href="#running-with-retries" title="Link to this heading"></a></h2>
+<p>Look at the workflow with <a class="reference internal" href="../runtime/introduction.html#tutorial-gui"><span class="std std-ref">The Cylc GUI</span></a> or <a class="reference internal" href="../runtime/introduction.html#tutorial-tui"><span class="std std-ref">The Cylc TUI</span></a></p>
+<p>Re-install and run the workflow:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">validate</span> <span class="o">.</span>
+<span class="n">cylc</span> <span class="n">install</span>
+<span class="n">cylc</span> <span class="n">play</span> <span class="n">retries</span><span class="o">-</span><span class="n">tutorial</span>
+</pre></div>
+</div>
+<p>What you should see is Cylc retrying the <code class="docutils literal notranslate"><span class="pre">roll_doubles</span></code> task. Hopefully,
+it will succeed (there is only about a 1 in 3 chance of every task
+failing) and the workflow will continue.</p>
+</section>
+<section id="altering-behaviour">
+<h2>Altering Behaviour<a class="headerlink" href="#altering-behaviour" title="Link to this heading"></a></h2>
+<p>We can alter the behaviour of the task based on the number of retries, using
+<code class="docutils literal notranslate"><span class="pre">$CYLC_TASK_TRY_NUMBER</span></code>.</p>
+<p>Change the <code class="docutils literal notranslate"><span class="pre">script</span></code> setting for the <code class="docutils literal notranslate"><span class="pre">roll_doubles</span></code> task to this:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>sleep 10
+RANDOM=$$  # Seed $RANDOM
+DIE_1=$((RANDOM%6 + 1))
+DIE_2=$((RANDOM%6 + 1))
+echo &quot;Rolled $DIE_1 and $DIE_2...&quot;
+if (($DIE_1 == $DIE_2)); then
+    echo &quot;doubles!&quot;
+elif (($CYLC_TASK_TRY_NUMBER &gt;= 2)); then
+    echo &quot;look over there! ...&quot;
+    echo &quot;doubles!&quot;  # Cheat!
+else
+    exit 1
+fi
+</pre></div>
+</div>
+<p>If your workflow is still running, stop it, then run it again.</p>
+<p>This time, the task should definitely succeed before the third retry.</p>
+</section>
+<section id="further-reading">
+<h2>Further Reading<a class="headerlink" href="#further-reading" title="Link to this heading"></a></h2>
+<p>For more information see the <a class="reference external" href="https://cylc.github.io/cylc-doc/latest/html/index.html">Cylc User Guide</a>.</p>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="queues.html" class="btn btn-neutral float-left" title="Queues" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="message-triggers.html" class="btn btn-neutral float-right" title="Message Triggers" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/furthertopics/retries";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/index.html b/nightly_8.3/html/tutorial/index.html
new file mode 100644
index 00000000000..989cfcc99a4
--- /dev/null
+++ b/nightly_8.3/html/tutorial/index.html
@@ -0,0 +1,196 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Tutorial &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Introduction" href="introduction.html" />
+    <link rel="prev" title="Installation" href="../installation.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Tutorial</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="runtime/index.html">Runtime</a></li>
+<li class="toctree-l2"><a class="reference internal" href="furthertopics/index.html">Further Topics</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">Tutorial</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/tutorial/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="tutorial">
+<span id="cylc-tutorial"></span><h1>Tutorial<a class="headerlink" href="#tutorial" title="Link to this heading"></a></h1>
+<p>This tutorial shows how to write and run basic Cylc workflows.</p>
+<div class="toctree-wrapper compound" id="id1">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="introduction.html#what-is-a-workflow">What Is A Workflow?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="introduction.html#what-is-cylc">What Is Cylc?</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="scheduling/index.html">Scheduling</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="scheduling/graphing.html">The <code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code> File Format</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduling/integer-cycling.html">Basic Cycling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduling/datetime-cycling.html">Datetime Cycling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduling/further-scheduling.html">Further Scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="runtime/index.html">Runtime</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="runtime/introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="runtime/runtime-configuration.html">Runtime Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="runtime/configuration-consolidation/index.html">Consolidating Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="furthertopics/index.html">Further Topics</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="furthertopics/clock-triggered-tasks.html">Clock Triggered Tasks</a></li>
+<li class="toctree-l2"><a class="reference internal" href="furthertopics/broadcast.html">Broadcast Tutorial</a></li>
+<li class="toctree-l2"><a class="reference internal" href="furthertopics/family-triggers.html">Family Triggers</a></li>
+<li class="toctree-l2"><a class="reference internal" href="furthertopics/inheritance.html">Inheritance</a></li>
+<li class="toctree-l2"><a class="reference internal" href="furthertopics/queues.html">Queues</a></li>
+<li class="toctree-l2"><a class="reference internal" href="furthertopics/retries.html">Retries</a></li>
+<li class="toctree-l2"><a class="reference internal" href="furthertopics/message-triggers.html">Message Triggers</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../installation.html" class="btn btn-neutral float-left" title="Installation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="introduction.html" class="btn btn-neutral float-right" title="Introduction" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/introduction.html b/nightly_8.3/html/tutorial/introduction.html
new file mode 100644
index 00000000000..a07100bba5f
--- /dev/null
+++ b/nightly_8.3/html/tutorial/introduction.html
@@ -0,0 +1,224 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Introduction &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Scheduling" href="scheduling/index.html" />
+    <link rel="prev" title="Tutorial" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Introduction</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#what-is-a-workflow">What Is A Workflow?</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#what-is-cylc">What Is Cylc?</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="runtime/index.html">Runtime</a></li>
+<li class="toctree-l2"><a class="reference internal" href="furthertopics/index.html">Further Topics</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="index.html">Tutorial</a></li>
+      <li class="breadcrumb-item active">Introduction</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/tutorial/introduction.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="introduction">
+<span id="cylc-introduction"></span><h1>Introduction<a class="headerlink" href="#introduction" title="Link to this heading"></a></h1>
+<section id="what-is-a-workflow">
+<span id="cylc-what-is-a-workflow"></span><h2>What Is A Workflow?<a class="headerlink" href="#what-is-a-workflow" title="Link to this heading"></a></h2>
+<blockquote class="epigraph">
+<div><p>A workflow consists of an orchestrated and repeatable pattern of business
+activity enabled by the systematic organization of resources into processes
+that transform materials, provide services, or process information.</p>
+<p class="attribution">—Wikipedia</p>
+</div></blockquote>
+<p>In research, business and other fields we may need to repeat processes in
+the course of our work. At its simplest a workflow is a set of steps that
+must be followed in a particular order to achieve some end goal.</p>
+<p>We can represent each “step” in a workflow as a node in a graph, and the
+order with arrows between them.</p>
+<div align="center" class="align-center"><div class="graphviz"><object data="../_images/graphviz-b280465dc5ff0105af7f02b917256ecf1a7e9c85.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph bakery {
+&quot;purchase ingredients&quot; -&gt; &quot;make dough&quot; -&gt; &quot;bake bread&quot; -&gt; &quot;sell bread&quot;
+&quot;bake bread&quot; -&gt; &quot;clean oven&quot;
+&quot;pre-heat oven&quot; -&gt; &quot;bake bread&quot;
+}</p></object></div>
+</div>
+</section>
+<section id="what-is-cylc">
+<span id="cylc-what-is-cylc"></span><h2>What Is Cylc?<a class="headerlink" href="#what-is-cylc" title="Link to this heading"></a></h2>
+<p>Cylc (pronounced silk) is a workflow engine, a system that automatically
+executes tasks according to schedules and dependencies.</p>
+<p>In a Cylc workflow each step is a computational task that runs a script or
+application of some kind. Cylc runs each task as soon as it is appropriate
+to do so.</p>
+<div class="minicylc" style="text-align: center;" data-dependencies=" a => b => c// b => d => f// e => f" data-theme="demo" ><div align="center" class="align-center"><div class="graphviz"><object data="../_images/graphviz-9341f508e988e8fc05cd251fe8b9230eeab9e706.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Mini_Cylc {
+a -&gt; b
+f
+d -&gt; f
+b -&gt; c
+c
+e -&gt; f
+b -&gt; d
+}</p></object></div>
+</div>
+</div><p>Cylc can automatically:</p>
+<ul class="simple">
+<li><p>Submit tasks across computer systems and resource managers.</p></li>
+<li><p>Recover from failures.</p></li>
+<li><p>Repeat workflows.</p></li>
+</ul>
+<p>Cylc was originally developed at NIWA (The National Institute of Water and
+Atmospheric Research, New Zealand) for running their weather forecasting
+workflows. It is now developed by an international partnership including
+NIWA, the Met Office (UK), and members of the Unified Model Consortium.
+Though initially developed for meteorological purposes Cylc is a general
+purpose tool as applicable in business as it is in scientific research.</p>
+<p>Cylc provides a variety of command line and GUI tools for visualising,
+monitoring, and controlling workflows. The Cylc TUI (Terminal
+User Interface), web GUI, and <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">scan</span></code> (bottom left) are shown below.</p>
+<img alt="A screenshot of several Cylc tools." src="../_images/cylc-tools.png" />
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="Tutorial" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="scheduling/index.html" class="btn btn-neutral float-right" title="Scheduling" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/introduction";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/runtime/configuration-consolidation/families.html b/nightly_8.3/html/tutorial/runtime/configuration-consolidation/families.html
new file mode 100644
index 00000000000..817c6566ea4
--- /dev/null
+++ b/nightly_8.3/html/tutorial/runtime/configuration-consolidation/families.html
@@ -0,0 +1,396 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Families &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="Jinja2" href="jinja2.html" />
+    <link rel="prev" title="Consolidating Configuration" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Runtime</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../runtime-configuration.html">Runtime Configuration</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="index.html">Consolidating Configuration</a><ul class="current">
+<li class="toctree-l4 current"><a class="current reference internal" href="#">Families</a></li>
+<li class="toctree-l4"><a class="reference internal" href="jinja2.html">Jinja2</a></li>
+<li class="toctree-l4"><a class="reference internal" href="parameters.html">Parameterized Tasks</a></li>
+<li class="toctree-l4"><a class="reference internal" href="index.html#the-cylc-config-command">The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code> Command</a></li>
+<li class="toctree-l4"><a class="reference internal" href="index.html#the-three-approaches">The Three Approaches</a></li>
+<li class="toctree-l4"><a class="reference internal" href="index.html#which-approach-to-use">Which Approach To Use</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../furthertopics/index.html">Further Topics</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">Tutorial</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Runtime</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Consolidating Configuration</a></li>
+      <li class="breadcrumb-item active">Families</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/tutorial/runtime/configuration-consolidation/families.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="families">
+<span id="tutorial-cylc-families"></span><h1>Families<a class="headerlink" href="#families" title="Link to this heading"></a></h1>
+<p><a class="reference internal" href="../../../glossary.html#term-family"><span class="xref std std-term">Families</span></a> provide a way of grouping tasks together so they can
+be treated as one.</p>
+<section id="runtime">
+<h2>Runtime<a class="headerlink" href="#runtime" title="Link to this heading"></a></h2>
+<p><a class="reference internal" href="../../../glossary.html#term-family"><span class="xref std std-term">Families</span></a> are groups of tasks which share a common
+configuration. In the present example the common configuration is:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">script </span><span class="o">=</span><span class="s"> get-observations</span>
+<span class="nt">[[[environment]]]</span>
+    <span class="nv">API_KEY </span><span class="o">=</span><span class="s"> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+</pre></div>
+</div>
+<p>We define a family as a new task consisting of the common configuration. By
+convention families are named in upper case:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[GET_OBSERVATIONS]]</span>
+    <span class="nv">script </span><span class="o">=</span><span class="s"> get-observations</span>
+    <span class="nt">[[[environment]]]</span>
+        <span class="nv">API_KEY </span><span class="o">=</span><span class="s"> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+</pre></div>
+</div>
+<p>We “add” tasks to a family using the <code class="docutils literal notranslate"><span class="pre">inherit</span></code> setting:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[get_observations_heathrow]]</span>
+    <span class="nv">inherit </span><span class="o">=</span><span class="s"> GET_OBSERVATIONS</span>
+    <span class="nt">[[[environment]]]</span>
+        <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3772</span>
+</pre></div>
+</div>
+<p>When we add a task to a family in this way it <a class="reference internal" href="../../../glossary.html#term-family-inheritance"><span class="xref std std-term">inherits</span></a> the configuration from the family, i.e. the above example is
+equivalent to:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[get_observations_heathrow]]</span>
+    <span class="nv">script </span><span class="o">=</span><span class="s"> get-observations</span>
+    <span class="nt">[[[environment]]]</span>
+        <span class="nv">API_KEY </span><span class="o">=</span><span class="s"> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+        <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3772</span>
+</pre></div>
+</div>
+<p>It is possible to override inherited configuration within the task. For
+example if we wanted the <code class="docutils literal notranslate"><span class="pre">get_observations_heathrow</span></code> task to use a
+different API key we could write:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[get_observations_heathrow]]</span>
+    <span class="nv">inherit </span><span class="o">=</span><span class="s"> GET_OBSERVATIONS</span>
+    <span class="nt">[[[environment]]]</span>
+<span class="hll">        <span class="nv">API_KEY </span><span class="o">=</span><span class="s"> special-api-key</span>
+</span>        <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3772</span>
+</pre></div>
+</div>
+<p>Using families the <code class="docutils literal notranslate"><span class="pre">get_observations</span></code> tasks could be written like so:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[GET_OBSERVATIONS]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> get-observations</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">API_KEY </span><span class="o">=</span><span class="s"> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+
+    <span class="nt">[[get_observations_heathrow]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> GET_OBSERVATIONS</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3772</span>
+    <span class="nt">[[get_observations_camborne]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> GET_OBSERVATIONS</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3808</span>
+    <span class="nt">[[get_observations_shetland]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> GET_OBSERVATIONS</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3005</span>
+    <span class="nt">[[get_observations_aldergrove]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> GET_OBSERVATIONS</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3917</span>
+</pre></div>
+</div>
+</section>
+<section id="graphing">
+<h2>Graphing<a class="headerlink" href="#graphing" title="Link to this heading"></a></h2>
+<p><a class="reference internal" href="../../../glossary.html#term-family"><span class="xref std std-term">Families</span></a> can be used in the workflow’s <a class="reference internal" href="../../../glossary.html#term-graph"><span class="xref std std-term">graph</span></a>, e.g:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">GET_OBSERVATIONS</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">all</span> <span class="o">=&gt;</span> <span class="kd">consolidate_observations</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">:succeed-all</span></code> is a special <a class="reference internal" href="../../../glossary.html#term-qualifier"><span class="xref std std-term">qualifier</span></a> which in this example
+means that the <code class="docutils literal notranslate"><span class="pre">consolidate_observations</span></code> task will run once <em>all</em> of the
+members of the <code class="docutils literal notranslate"><span class="pre">GET_OBSERVATIONS</span></code> family have succeeded. This is
+equivalent to:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">get_observations_heathrow</span> <span class="o">=&gt;</span> <span class="kd">consolidate_observations</span>
+<span class="kd">get_observations_camborne</span> <span class="o">=&gt;</span> <span class="kd">consolidate_observations</span>
+<span class="kd">get_observations_shetland</span> <span class="o">=&gt;</span> <span class="kd">consolidate_observations</span>
+<span class="kd">get_observations_aldergrove</span> <span class="o">=&gt;</span> <span class="kd">consolidate_observations</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">GET_OBSERVATIONS:succeed-all</span></code> part is referred to as a
+<a class="reference internal" href="../../../glossary.html#term-family-trigger"><span class="xref std std-term">family trigger</span></a>. Family triggers use special qualifiers which are
+non-optional. The most commonly used ones are:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">succeed-all</span></code></dt><dd><p>Run if all of the members of the family have succeeded.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">succeed-any</span></code></dt><dd><p>Run as soon as any one family member has succeeded.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">finish-all</span></code></dt><dd><p>Run as soon as all of the family members have completed (i.e. have each
+either succeeded or failed).</p>
+</dd>
+</dl>
+<p>For more information on family triggers see the <a class="reference external" href="https://cylc.github.io/cylc-doc/latest/html/index.html">Cylc User Guide</a>.</p>
+</section>
+<section id="the-root-family">
+<h2>The <code class="docutils literal notranslate"><span class="pre">root</span></code> Family<a class="headerlink" href="#the-root-family" title="Link to this heading"></a></h2>
+<p>There is a special family called <code class="docutils literal notranslate"><span class="pre">root</span></code> (in lowercase) which is used only
+in the runtime to provide configuration which will be inherited by all
+tasks.</p>
+<p>In the following example the task <code class="docutils literal notranslate"><span class="pre">bar</span></code> will inherit the environment
+variable <code class="docutils literal notranslate"><span class="pre">FOO</span></code> from the <code class="docutils literal notranslate"><span class="pre">[root]</span></code> section:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">FOO </span><span class="o">=</span><span class="s"> foo</span>
+    <span class="nt">[[bar]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> echo $FOO</span>
+</pre></div>
+</div>
+<div class="note admonition" id="cylc-tutorial-families-practical">
+<p class="admonition-title">Practical</p>
+<p class="rubric">In this practical we will consolidate the configuration of the
+<a class="reference internal" href="../runtime-configuration.html#tutorial-cylc-runtime-forecasting-workflow"><span class="std std-ref">weather-forecasting workflow</span></a>
+from the previous section.</p>
+<ol class="arabic">
+<li><p><strong>Create A New Workflow.</strong></p>
+<p>To make a new copy of the forecasting workflow run the following commands:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>get-resources<span class="w"> </span>tutorial/consolidation-tutorial
+<span class="nb">cd</span><span class="w"> </span>~/cylc-src/consolidation-tutorial
+</pre></div>
+</div>
+</li>
+<li><p><strong>Move Site-Wide Settings Into The</strong> <code class="docutils literal notranslate"><span class="pre">root</span></code> <strong>Family.</strong></p>
+<p>The following two environment variables are used by multiple tasks:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>RESOLUTION = 0.2
+DOMAIN = -12,48,5,61  # Do not change!
+</pre></div>
+</div>
+<p>Rather than manually adding them to each task individually we could put
+them in the <code class="docutils literal notranslate"><span class="pre">root</span></code> family, making them accessible to all tasks.</p>
+<p>Add a <code class="docutils literal notranslate"><span class="pre">root</span></code> section containing these two environment variables.
+Remove the variables from any other task’s <code class="docutils literal notranslate"><span class="pre">environment</span></code> sections:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="w"> </span>[runtime]
+<span class="gi">+    [[root]]</span>
+<span class="gi">+        [[[environment]]]</span>
+<span class="gi">+            # The dimensions of each grid cell in degrees.</span>
+<span class="gi">+            RESOLUTION = 0.2</span>
+<span class="gi">+            # The area to generate forecasts for (lng1, lat1, lng2, lat2).</span>
+<span class="gi">+            DOMAIN = -12,48,5,61  # Do not change!</span>
+</pre></div>
+</div>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="w"> </span>[[consolidate_observations]]
+<span class="w"> </span>    script = consolidate-observations
+<span class="gd">-    [[[environment]]]</span>
+<span class="gd">-        # The dimensions of each grid cell in degrees.</span>
+<span class="gd">-        RESOLUTION = 0.2</span>
+<span class="gd">-        # The area to generate forecasts for (lng1, lat1, lng2, lat2).</span>
+<span class="gd">-        DOMAIN = -12,48,5,61  # Do not change!</span>
+
+<span class="w"> </span>[[get_rainfall]]
+<span class="w"> </span>    script = get-rainfall
+<span class="w"> </span>    [[[environment]]]
+<span class="w"> </span>        # The key required to get weather data from the DataPoint service.
+<span class="w"> </span>        # To use archived data comment this line out.
+<span class="w"> </span>        API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+<span class="gd">-        # The dimensions of each grid cell in degrees.</span>
+<span class="gd">-        RESOLUTION = 0.2</span>
+<span class="gd">-        # The area to generate forecasts for (lng1, lat1, lng2, lat2).</span>
+<span class="gd">-        DOMAIN = -12,48,5,61  # Do not change!</span>
+
+<span class="w"> </span>[[forecast]]
+<span class="w"> </span>    script = forecast 60 5  # Generate 5 forecasts at 60 minute intervals.
+<span class="w"> </span>    [[[environment]]]
+<span class="gd">-        # The dimensions of each grid cell in degrees.</span>
+<span class="gd">-        RESOLUTION = 0.2</span>
+<span class="gd">-        # The area to generate forecasts for (lng1, lat1, lng2, lat2)</span>
+<span class="gd">-        DOMAIN = -12,48,5,61  # Do not change!</span>
+<span class="w"> </span>        # The path to the files containing wind data (the {variables} will
+<span class="w"> </span>        # get substituted in the forecast script).
+<span class="w"> </span>        WIND_FILE_TEMPLATE = $CYLC_WORKFLOW_WORK_DIR/{cycle}/consolidate_observations/wind_{xy}.csv
+<span class="w"> </span>        # List of cycle points to process wind data from.
+<span class="w"> </span>        WIND_CYCLES = 0, -3, -6
+
+<span class="w"> </span>        # The path to the rainfall file.
+<span class="w"> </span>        RAINFALL_FILE = $CYLC_WORKFLOW_WORK_DIR/$CYLC_TASK_CYCLE_POINT/get_rainfall/rainfall.csv
+<span class="w"> </span>        # Create the html map file in the task&#39;s log directory.
+<span class="w"> </span>        MAP_FILE = &quot;${CYLC_TASK_LOG_ROOT}-map.html&quot;
+<span class="w"> </span>        # The path to the template file used to generate the html map.
+<span class="w"> </span>        MAP_TEMPLATE = &quot;$CYLC_WORKFLOW_RUN_DIR/lib/template/map.html&quot;
+
+<span class="w"> </span>[[post_process_exeter]]
+<span class="w"> </span>    # Generate a forecast for Exeter 60 minutes into the future.
+<span class="w"> </span>    script = post-process exeter 60
+<span class="gd">-    [[[environment]]]</span>
+<span class="gd">-        # The dimensions of each grid cell in degrees.</span>
+<span class="gd">-        RESOLUTION = 0.2</span>
+<span class="gd">-        # The area to generate forecasts for (lng1, lat1, lng2, lat2).</span>
+<span class="gd">-        DOMAIN = -12,48,5,61  # Do not change!</span>
+</pre></div>
+</div>
+<p>To ensure that the environment variables are being inherited correctly
+by the tasks, inspect the <code class="docutils literal notranslate"><span class="pre">[runtime]</span></code> section using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code>
+by running the following command:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>config<span class="w"> </span>.<span class="w"> </span>-i<span class="w"> </span><span class="s2">&quot;[runtime]&quot;</span>
+</pre></div>
+</div>
+<p>You should see the environment variables from the <code class="docutils literal notranslate"><span class="pre">[root]</span></code> section
+in the <code class="docutils literal notranslate"><span class="pre">[environment]</span></code> section for all tasks.</p>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>You may find it easier to open the output of this command in a text
+editor, e.g:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">config</span> <span class="o">.</span> <span class="o">-</span><span class="n">i</span> <span class="s2">&quot;[runtime]&quot;</span> <span class="o">|</span> <span class="n">gvim</span> <span class="o">-</span>
+</pre></div>
+</div>
+</div>
+</li>
+</ol>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="Consolidating Configuration" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="jinja2.html" class="btn btn-neutral float-right" title="Jinja2" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/runtime/configuration-consolidation/families";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/runtime/configuration-consolidation/index.html b/nightly_8.3/html/tutorial/runtime/configuration-consolidation/index.html
new file mode 100644
index 00000000000..b07a6449df2
--- /dev/null
+++ b/nightly_8.3/html/tutorial/runtime/configuration-consolidation/index.html
@@ -0,0 +1,286 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Consolidating Configuration &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="Families" href="families.html" />
+    <link rel="prev" title="Runtime Configuration" href="../runtime-configuration.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Runtime</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../runtime-configuration.html">Runtime Configuration</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Consolidating Configuration</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="families.html">Families</a></li>
+<li class="toctree-l4"><a class="reference internal" href="jinja2.html">Jinja2</a></li>
+<li class="toctree-l4"><a class="reference internal" href="parameters.html">Parameterized Tasks</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#the-cylc-config-command">The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code> Command</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#the-three-approaches">The Three Approaches</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#which-approach-to-use">Which Approach To Use</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../furthertopics/index.html">Further Topics</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">Tutorial</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Runtime</a></li>
+      <li class="breadcrumb-item active">Consolidating Configuration</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/tutorial/runtime/configuration-consolidation/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="consolidating-configuration">
+<span id="tutorial-cylc-consolidating-configuration"></span><h1>Consolidating Configuration<a class="headerlink" href="#consolidating-configuration" title="Link to this heading"></a></h1>
+<p>In the last section we wrote out the following code in the
+<a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file:</p>
+<div class="admonition-weather-forecasting-workflow highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[get_observations_heathrow]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> get-observations</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3772</span>
+            <span class="nv">API_KEY </span><span class="o">=</span><span class="s"> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+    <span class="nt">[[get_observations_camborne]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> get-observations</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3808</span>
+            <span class="nv">API_KEY </span><span class="o">=</span><span class="s"> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+    <span class="nt">[[get_observations_shetland]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> get-observations</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3005</span>
+            <span class="nv">API_KEY </span><span class="o">=</span><span class="s"> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+    <span class="nt">[[get_observations_aldergrove]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> get-observations</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3917</span>
+            <span class="nv">API_KEY </span><span class="o">=</span><span class="s"> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+</pre></div>
+</div>
+<p>In this code the <code class="docutils literal notranslate"><span class="pre">script</span></code> item and the <code class="docutils literal notranslate"><span class="pre">API_KEY</span></code> environment variable have
+been repeated for each task. This is bad practice as it makes the
+configuration lengthy and harder to maintain.</p>
+<p>Likewise the graph relating to the <code class="docutils literal notranslate"><span class="pre">get_observations</span></code> tasks is highly
+repetitive:</p>
+<div class="admonition-weather-forecasting-workflow highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00/PT3H </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">get_observations_aldergrove</span> <span class="o">=&gt;</span> <span class="kd">consolidate_observations</span>
+            <span class="kd">get_observations_camborne</span> <span class="o">=&gt;</span> <span class="kd">consolidate_observations</span>
+            <span class="kd">get_observations_heathrow</span> <span class="o">=&gt;</span> <span class="kd">consolidate_observations</span>
+            <span class="kd">get_observations_shetland</span> <span class="o">=&gt;</span> <span class="kd">consolidate_observations</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>Cylc offers three ways of consolidating configurations to help improve the
+structure of a workflow and avoid duplication.</p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="families.html">Families</a></li>
+<li class="toctree-l1"><a class="reference internal" href="jinja2.html">Jinja2</a></li>
+<li class="toctree-l1"><a class="reference internal" href="parameters.html">Parameterized Tasks</a></li>
+</ul>
+</div>
+<section id="the-cylc-config-command">
+<h2>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code> Command<a class="headerlink" href="#the-cylc-config-command" title="Link to this heading"></a></h2>
+<p>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code> command reads in either the
+<a class="reference internal" href="../../../reference/config/global.html#global.cylc" title="global.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc</span></code></a> file, or a specific workflow’s <a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a>
+file, and it prints the parsed configuration out to the terminal.</p>
+<p>Throughout this section as we introduce methods for consolidating
+the <a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file, the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code> command can be used to
+“expand” the file back to its full form.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>A primary use of <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code> is inspecting the
+<code class="docutils literal notranslate"><span class="pre">[runtime]</span></code> section of a workflow. However, the command does not
+expand <a class="reference internal" href="../../../glossary.html#term-parameterization"><span class="xref std std-term">parameterizations</span></a> and
+<a class="reference internal" href="../../../glossary.html#term-family"><span class="xref std std-term">families</span></a> in the workflow <a class="reference internal" href="../../../glossary.html#term-graph"><span class="xref std std-term">graph</span></a>. To see the
+expanded graph use the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code> command.</p>
+</div>
+<p>Call <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code> with the path of the workflow (or <code class="docutils literal notranslate"><span class="pre">.</span></code> if you are
+already in the <a class="reference internal" href="../../../glossary.html#term-source-directory"><span class="xref std std-term">source directory</span></a> or the <a class="reference internal" href="../../../glossary.html#term-run-directory"><span class="xref std std-term">run directory</span></a>).</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc config <span class="s">&lt;path&gt;</span>
+</pre></div>
+</div>
+<p>To view the configuration of a particular section or setting refer to it by
+name using the <code class="docutils literal notranslate"><span class="pre">-i</span></code> option (see <a class="reference internal" href="../../scheduling/graphing.html#cylc-file-format"><span class="std std-ref">The flow.cylc File Format</span></a> for details), e.g:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="c"># Print the contents of the [scheduling] section.</span>
+cylc config <span class="s">&lt;path&gt;</span> -i &#39;[scheduling]&#39;
+<span class="c"># Print the contents of the get_observations_heathrow task.</span>
+cylc config <span class="s">&lt;path&gt;</span> -i &#39;[runtime][get_observations_heathrow]&#39;
+<span class="c"># Print the value of the script setting in the get_observations_heathrow task</span>
+cylc config <span class="s">&lt;path&gt;</span> -i &#39;[runtime][get_observations_heathrow]script&#39;
+</pre></div>
+</div>
+</section>
+<section id="the-three-approaches">
+<h2>The Three Approaches<a class="headerlink" href="#the-three-approaches" title="Link to this heading"></a></h2>
+<p>The next three sections cover the three consolidation approaches and how we
+could use them to simplify the workflow from the previous tutorial. <em>Work
+through them in order!</em></p>
+<ul class="simple">
+<li><p><a class="reference internal" href="families.html#tutorial-cylc-families"><span class="std std-ref">families</span></a></p></li>
+<li><p><a class="reference internal" href="jinja2.html#tutorial-cylc-jinja2"><span class="std std-ref">jinja2</span></a></p></li>
+<li><p><a class="reference internal" href="parameters.html#tutorial-cylc-parameterization"><span class="std std-ref">parameters</span></a></p></li>
+</ul>
+</section>
+<section id="which-approach-to-use">
+<span id="cylc-tutorial-consolidation-conclusion"></span><h2>Which Approach To Use<a class="headerlink" href="#which-approach-to-use" title="Link to this heading"></a></h2>
+<p>Each approach has its uses. Cylc permits mixing approaches, allowing us to
+use what works best for us. As a rule of thumb:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../../glossary.html#term-family"><span class="xref std std-term">Families</span></a> work best consolidating runtime configuration by
+collecting tasks into broad groups, e.g. groups of tasks which run on a
+particular machine or groups of tasks belonging to a particular system.</p></li>
+<li><p><a class="reference external" href="https://jinja.palletsprojects.com/en/3.0.x/">Jinja2</a> is good at configuring settings which apply to the entire workflow
+rather than just a single task, as we can define variables then use them
+throughout the workflow.</p></li>
+<li><p><a class="reference internal" href="../../../glossary.html#term-parameterization"><span class="xref std std-term">Parameterization</span></a> works best for describing tasks
+which are very similar but which have subtly different configurations
+(e.g. different arguments or environment variables).</p></li>
+</ul>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../runtime-configuration.html" class="btn btn-neutral float-left" title="Runtime Configuration" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="families.html" class="btn btn-neutral float-right" title="Families" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/runtime/configuration-consolidation/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/runtime/configuration-consolidation/jinja2.html b/nightly_8.3/html/tutorial/runtime/configuration-consolidation/jinja2.html
new file mode 100644
index 00000000000..55dbff75e23
--- /dev/null
+++ b/nightly_8.3/html/tutorial/runtime/configuration-consolidation/jinja2.html
@@ -0,0 +1,347 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Jinja2 &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="Parameterized Tasks" href="parameters.html" />
+    <link rel="prev" title="Families" href="families.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Runtime</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../runtime-configuration.html">Runtime Configuration</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="index.html">Consolidating Configuration</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="families.html">Families</a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#">Jinja2</a></li>
+<li class="toctree-l4"><a class="reference internal" href="parameters.html">Parameterized Tasks</a></li>
+<li class="toctree-l4"><a class="reference internal" href="index.html#the-cylc-config-command">The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code> Command</a></li>
+<li class="toctree-l4"><a class="reference internal" href="index.html#the-three-approaches">The Three Approaches</a></li>
+<li class="toctree-l4"><a class="reference internal" href="index.html#which-approach-to-use">Which Approach To Use</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../furthertopics/index.html">Further Topics</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">Tutorial</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Runtime</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Consolidating Configuration</a></li>
+      <li class="breadcrumb-item active">Jinja2</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/tutorial/runtime/configuration-consolidation/jinja2.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="jinja2">
+<span id="tutorial-cylc-jinja2"></span><h1>Jinja2<a class="headerlink" href="#jinja2" title="Link to this heading"></a></h1>
+<p><a class="reference external" href="https://jinja.palletsprojects.com/en/3.0.x/">Jinja2</a> is a templating language often used in web design, with some
+similarities to Python. It can be used to make a workflow definition more
+dynamic.</p>
+<section id="the-jinja2-language">
+<h2>The Jinja2 Language<a class="headerlink" href="#the-jinja2-language" title="Link to this heading"></a></h2>
+<p>In Jinja2 statements are wrapped with <code class="docutils literal notranslate"><span class="pre">{%</span></code> characters, i.e:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>{% ... %}
+</pre></div>
+</div>
+<p>Variables are initialised with the <code class="docutils literal notranslate"><span class="pre">set</span></code> statement, e.g:</p>
+<div class="highlight-css+jinja notranslate"><div class="highlight"><pre><span></span><span class="cp">{%</span> <span class="k">set</span> <span class="nv">foo</span> <span class="o">=</span> <span class="m">3</span> <span class="cp">%}</span>
+</pre></div>
+</div>
+<p>Expressions wrapped with <code class="docutils literal notranslate"><span class="pre">{{</span></code> characters will be replaced with
+the evaluated expression, e.g:</p>
+<div class="highlight-css+jinja notranslate"><div class="highlight"><pre><span></span><span class="nt">There</span><span class="w"> </span><span class="nt">are</span><span class="w"> </span><span class="cp">{{</span> <span class="nv">foo</span> <span class="cp">}}</span><span class="w"> </span><span class="nt">methods</span><span class="w"> </span><span class="nt">for</span><span class="w"> </span><span class="nt">consolidating</span><span class="w"> </span><span class="nt">the</span><span class="w"> </span><span class="nt">flow</span><span class="p">.</span><span class="nc">cylc</span><span class="w"> </span><span class="nt">file</span>
+</pre></div>
+</div>
+<p>Would result in:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">There</span> <span class="n">are</span> <span class="mi">3</span> <span class="n">methods</span> <span class="k">for</span> <span class="n">consolidating</span> <span class="n">the</span> <span class="n">flow</span><span class="o">.</span><span class="n">cylc</span> <span class="n">file</span>
+</pre></div>
+</div>
+<p>Loops are written with <code class="docutils literal notranslate"><span class="pre">for</span></code> statements, e.g:</p>
+<div class="highlight-css+jinja notranslate"><div class="highlight"><pre><span></span><span class="cp">{%</span> <span class="k">for</span> <span class="nv">x</span> <span class="k">in</span> <span class="nv">range</span><span class="o">(</span><span class="nv">foo</span><span class="o">)</span> <span class="cp">%}</span>
+<span class="w">   </span><span class="cp">{{</span> <span class="nv">x</span> <span class="cp">}}</span>
+<span class="cp">{%</span> <span class="k">endfor</span> <span class="cp">%}</span>
+</pre></div>
+</div>
+<p>Would result in:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>0
+1
+2
+</pre></div>
+</div>
+<p>To enable Jinja2 in the <a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file, add the following <a class="reference external" href="https://en.wikipedia.org/wiki/Shebang_(Unix)">shebang</a> to the
+top of the file:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="ch">#!Jinja2</span>
+</pre></div>
+</div>
+<p>For more information see the <a class="reference external" href="https://jinja.palletsprojects.com/en/3.0.x/">Jinja2</a> documentation.</p>
+</section>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<p>To consolidate the configuration for the <code class="docutils literal notranslate"><span class="pre">get_observations</span></code> tasks we could
+define a dictionary of station and ID pairs:</p>
+<div class="highlight-css+jinja notranslate"><div class="highlight"><pre><span></span><span class="cp">{%</span> <span class="k">set</span> <span class="nv">stations</span> <span class="o">=</span> <span class="o">{</span><span class="s1">&#39;aldergrove&#39;</span><span class="o">:</span> <span class="m">3917</span><span class="o">,</span>
+                   <span class="s1">&#39;camborne&#39;</span><span class="o">:</span> <span class="m">3808</span><span class="o">,</span>
+                   <span class="s1">&#39;heathrow&#39;</span><span class="o">:</span> <span class="m">3772</span><span class="o">,</span>
+                   <span class="s1">&#39;shetland&#39;</span><span class="o">:</span> <span class="m">3005</span><span class="o">}</span> <span class="cp">%}</span>
+</pre></div>
+</div>
+<p>We could then loop over the stations like so:</p>
+<div class="highlight-css+jinja notranslate"><div class="highlight"><pre><span></span><span class="cp">{%</span> <span class="k">for</span> <span class="nv">station</span> <span class="k">in</span> <span class="nv">stations</span> <span class="cp">%}</span>
+<span class="w">    </span><span class="cp">{{</span> <span class="nv">station</span> <span class="cp">}}</span>
+<span class="cp">{%</span> <span class="k">endfor</span> <span class="cp">%}</span>
+</pre></div>
+</div>
+<p>After processing, this would result in:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>aldergrove
+camborne
+heathrow
+shetland
+</pre></div>
+</div>
+<p>We could also loop over both the stations and corresponding IDs like so:</p>
+<div class="highlight-css+jinja notranslate"><div class="highlight"><pre><span></span><span class="cp">{%</span> <span class="k">for</span> <span class="nv">station</span><span class="o">,</span> <span class="nv">id</span> <span class="k">in</span> <span class="nv">stations.items</span><span class="o">()</span> <span class="cp">%}</span>
+<span class="w">    </span><span class="cp">{{</span> <span class="nv">station</span> <span class="cp">}}</span><span class="w"> </span><span class="nt">-</span><span class="w"> </span><span class="cp">{{</span> <span class="nv">id</span> <span class="cp">}}</span>
+<span class="cp">{%</span> <span class="k">endfor</span> <span class="cp">%}</span>
+</pre></div>
+</div>
+<p>This would result in:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>aldergrove - 3917
+camborne - 3808
+heathrow - 3772
+shetland - 3005
+</pre></div>
+</div>
+<p>Putting this all together, the <code class="docutils literal notranslate"><span class="pre">get_observations</span></code> configuration could be
+written as follows:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="ch">#!Jinja2</span>
+
+<span class="cp">{% set stations = {&#39;aldergrove&#39;: 3917,</span>
+<span class="cp">                   &#39;camborne&#39;: 3808,</span>
+<span class="cp">                   &#39;heathrow&#39;: 3772,</span>
+<span class="cp">                   &#39;shetland&#39;: 3005} %}</span>
+
+<span class="nt">[scheduler]</span>
+    <span class="nv">allow implicit tasks </span><span class="o">=</span><span class="s"> True</span>
+
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00/PT3H </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="cp">{% for station in stations %}</span>
+            <span class="kd">get_observations_</span><span class="cp">{{station}}</span> <span class="o">=&gt;</span> <span class="kd">consolidate_observations</span>
+<span class="cp">{% endfor %}</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+<span class="cp">{% for station, id in stations.items() %}</span>
+    <span class="nt">[[get_observations_</span><span class="cp">{{station}}</span><span class="nt">]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> get-observations</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> </span><span class="cp">{{ id }}</span>
+            <span class="nv">API_KEY </span><span class="o">=</span><span class="s"> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+
+<span class="cp">{% endfor %}</span>
+</pre></div>
+</div>
+<div class="note admonition" id="cylc-tutorial-jinja2-practical">
+<p class="admonition-title">Practical</p>
+<p class="rubric">This practical continues on from the
+<a class="reference internal" href="families.html#cylc-tutorial-families-practical"><span class="std std-ref">families practical</span></a>.</p>
+<ol class="arabic" start="3">
+<li><p><strong>Use Jinja2 To Avoid Duplication.</strong></p>
+<p>The <code class="docutils literal notranslate"><span class="pre">API_KEY</span></code> environment variable is used by both the
+<code class="docutils literal notranslate"><span class="pre">get_observations</span></code> and <code class="docutils literal notranslate"><span class="pre">get_rainfall</span></code> tasks. Rather than writing it
+out multiple times we will use Jinja2 to centralise this configuration.</p>
+<p>At the top of the <a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file add the Jinja2 shebang line. Then
+copy the value of the <code class="docutils literal notranslate"><span class="pre">API_KEY</span></code> environment variable and use it to
+define an <code class="docutils literal notranslate"><span class="pre">API_KEY</span></code> Jinja2 variable:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="ch">#!Jinja2</span>
+
+<span class="cp">{% set API_KEY = &#39;xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&#39; %}</span>
+</pre></div>
+</div>
+<p>Next replace the key, where it appears in the workflow, with
+<code class="docutils literal notranslate"><span class="pre">{{</span> <span class="pre">API_KEY</span> <span class="pre">}}</span></code>:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="w"> </span>[runtime]
+<span class="w"> </span>    [[get_observations_heathrow]]
+<span class="w"> </span>        script = get-observations
+<span class="w"> </span>        [[[environment]]]
+<span class="w"> </span>            SITE_ID = 3772
+<span class="gd">-            API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+<span class="gi">+            API_KEY = {{ API_KEY }}</span>
+<span class="w"> </span>    [[get_observations_camborne]]
+<span class="w"> </span>        script = get-observations
+<span class="w"> </span>        [[[environment]]]
+<span class="w"> </span>            SITE_ID = 3808
+<span class="gd">-            API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+<span class="gi">+            API_KEY = {{ API_KEY }}</span>
+<span class="w"> </span>    [[get_observations_shetland]]
+<span class="w"> </span>        script = get-observations
+<span class="w"> </span>        [[[environment]]]
+<span class="w"> </span>           SITE_ID = 3005
+<span class="gd">-            API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+<span class="gi">+            API_KEY = {{ API_KEY }}</span>
+<span class="w"> </span>    [[get_observations_aldergrove]]
+<span class="w"> </span>        script = get-observations
+<span class="w"> </span>        [[[environment]]]
+<span class="w"> </span>            SITE_ID = 3917
+<span class="gd">-            API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+<span class="gi">+            API_KEY = {{ API_KEY }}</span>
+<span class="w"> </span>   [[get_rainfall]]
+<span class="w"> </span>       script = get-rainfall
+<span class="w"> </span>       [[[environment]]]
+<span class="w"> </span>           # The key required to get weather data from the DataPoint service.
+<span class="w"> </span>           # To use archived data comment this line out.
+<span class="gd">-            API_KEY = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+<span class="gi">+            API_KEY = {{ API_KEY }}</span>
+</pre></div>
+</div>
+<p>Check the result with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code>. The Jinja2 will be processed
+so you should not see any difference after making these changes.</p>
+</li>
+</ol>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="families.html" class="btn btn-neutral float-left" title="Families" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="parameters.html" class="btn btn-neutral float-right" title="Parameterized Tasks" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/runtime/configuration-consolidation/jinja2";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/runtime/configuration-consolidation/parameters.html b/nightly_8.3/html/tutorial/runtime/configuration-consolidation/parameters.html
new file mode 100644
index 00000000000..2e6bde7f00d
--- /dev/null
+++ b/nightly_8.3/html/tutorial/runtime/configuration-consolidation/parameters.html
@@ -0,0 +1,431 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Parameterized Tasks &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="Further Topics" href="../../furthertopics/index.html" />
+    <link rel="prev" title="Jinja2" href="jinja2.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Runtime</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="../runtime-configuration.html">Runtime Configuration</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="index.html">Consolidating Configuration</a><ul class="current">
+<li class="toctree-l4"><a class="reference internal" href="families.html">Families</a></li>
+<li class="toctree-l4"><a class="reference internal" href="jinja2.html">Jinja2</a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#">Parameterized Tasks</a></li>
+<li class="toctree-l4"><a class="reference internal" href="index.html#the-cylc-config-command">The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code> Command</a></li>
+<li class="toctree-l4"><a class="reference internal" href="index.html#the-three-approaches">The Three Approaches</a></li>
+<li class="toctree-l4"><a class="reference internal" href="index.html#which-approach-to-use">Which Approach To Use</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../furthertopics/index.html">Further Topics</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">Tutorial</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Runtime</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Consolidating Configuration</a></li>
+      <li class="breadcrumb-item active">Parameterized Tasks</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/tutorial/runtime/configuration-consolidation/parameters.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="parameterized-tasks">
+<span id="tutorial-cylc-parameterization"></span><h1>Parameterized Tasks<a class="headerlink" href="#parameterized-tasks" title="Link to this heading"></a></h1>
+<p>Parameterized tasks (see <a class="reference internal" href="../../../glossary.html#term-parameterization"><span class="xref std std-term">parameterization</span></a>) provide a way of implicitly
+looping over tasks without the need for Jinja2.</p>
+<section id="cylc-parameters">
+<h2>Cylc Parameters<a class="headerlink" href="#cylc-parameters" title="Link to this heading"></a></h2>
+<p>Parameters are defined in their own section, e.g:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+    <span class="nv">world </span><span class="o">=</span><span class="s"> Mercury, Venus, Earth</span>
+</pre></div>
+</div>
+<p>They can then be referenced by writing the name of the parameter in angle
+brackets, e.g:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = start =&gt; hello&lt;world&gt; </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">end</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[hello</span>&lt;<span class="nb">world</span>&gt;<span class="nt">]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> echo &#39;Hello World!&#39;</span>
+</pre></div>
+</div>
+<p>When the <a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file is read by Cylc, the parameters will be expanded.
+For example the code above is equivalent to:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">start</span> <span class="o">=&gt;</span> <span class="kd">hello_Mercury</span> <span class="o">=&gt;</span> <span class="kd">end</span>
+            <span class="kd">start</span> <span class="o">=&gt;</span> <span class="kd">hello_Venus</span> <span class="o">=&gt;</span> <span class="kd">end</span>
+            <span class="kd">start</span> <span class="o">=&gt;</span> <span class="kd">hello_Earth</span> <span class="o">=&gt;</span> <span class="kd">end</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[hello_Mercury]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> echo &#39;Hello World!&#39;</span>
+    <span class="nt">[[hello_Venus]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> echo &#39;Hello World!&#39;</span>
+    <span class="nt">[[hello_Earth]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> echo &#39;Hello World!&#39;</span>
+</pre></div>
+</div>
+<p>We can refer to a specific parameter by writing it after an <code class="docutils literal notranslate"><span class="pre">=</span></code> sign:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[hello</span>&lt;<span class="nb">world=Earth</span>&gt;<span class="nt">]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> echo &#39;Greetings Earth!&#39;</span>
+</pre></div>
+</div>
+</section>
+<section id="environment-variables">
+<h2>Environment Variables<a class="headerlink" href="#environment-variables" title="Link to this heading"></a></h2>
+<p>The name of the parameter is provided to the job as an environment variable
+called <code class="docutils literal notranslate"><span class="pre">CYLC_TASK_PARAM_&lt;parameter&gt;</span></code> where <code class="docutils literal notranslate"><span class="pre">&lt;parameter&gt;</span></code> is the name of
+the parameter (in the present case <code class="docutils literal notranslate"><span class="pre">world</span></code>):</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[hello</span>&lt;<span class="nb">world</span>&gt;<span class="nt">]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> echo &quot;Hello ${CYLC_TASK_PARAM_world}!&quot;</span>
+</pre></div>
+</div>
+</section>
+<section id="parameter-types">
+<h2>Parameter Types<a class="headerlink" href="#parameter-types" title="Link to this heading"></a></h2>
+<p>Parameters can be either strings or integers:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+    <span class="nv">foo </span><span class="o">=</span><span class="s"> 1..5</span>
+    <span class="nv">bar </span><span class="o">=</span><span class="s"> 1..5..2</span>
+    <span class="nv">baz </span><span class="o">=</span><span class="s"> pub, qux, bol</span>
+</pre></div>
+</div>
+<div class="admonition hint">
+<p class="admonition-title">Hint</p>
+<p>Remember that by default Cylc automatically inserts an underscore between the task and
+the parameter, e.g. the following lines are equivalent:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">task</span>&lt;<span class="nb">baz=pub</span>&gt;
+<span class="kd">task_pub</span>
+</pre></div>
+</div>
+</div>
+<div class="admonition hint">
+<p class="admonition-title">Hint</p>
+<p>When using integer parameters, to prevent confusion, Cylc prefixes the
+parameter value with the parameter name. For example:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="c1"># task&lt;bar&gt; would result in:</span>
+            <span class="kd">task_bar1</span>
+            <span class="kd">task_bar3</span>
+            <span class="kd">task_bar5</span>
+
+            <span class="c1"># task&lt;baz&gt; would result in:</span>
+            <span class="kd">task_pub</span>
+            <span class="kd">task_qux</span>
+            <span class="kd">task_bol</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</div>
+<p>Using parameters the <code class="docutils literal notranslate"><span class="pre">get_observations</span></code> configuration could be written like
+so:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+   <span class="nt">[[graph]]</span>
+       <span class="nv">T00/PT3H </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+           <span class="kd">get_observations</span>&lt;<span class="nb">station</span>&gt; <span class="o">=&gt;</span> <span class="kd">consolidate_observations</span>
+       <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[get_observations</span>&lt;<span class="nb">station</span>&gt;<span class="nt">]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> get-observations</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">API_KEY </span><span class="o">=</span><span class="s"> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+
+    <span class="nt">[[get_observations</span>&lt;<span class="nb">station=aldergrove</span>&gt;<span class="nt">]]</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3917</span>
+    <span class="nt">[[get_observations</span>&lt;<span class="nb">station=camborne</span>&gt;<span class="nt">]]</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3808</span>
+    <span class="nt">[[get_observations</span>&lt;<span class="nb">station=heathrow</span>&gt;<span class="nt">]]</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3772</span>
+    <span class="nt">[[get_observations</span>&lt;<span class="nb">station=shetland</span>&gt;<span class="nt">]]</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3005</span>
+</pre></div>
+</div>
+<p>For more information see the <a class="reference external" href="https://cylc.github.io/cylc-doc/latest/html/index.html">Cylc User Guide</a>.</p>
+<div class="note admonition" id="cylc-tutorial-parameters-practical">
+<p class="admonition-title">Practical</p>
+<p class="rubric">This practical continues on from the
+<a class="reference internal" href="jinja2.html#cylc-tutorial-jinja2-practical"><span class="std std-ref">Jinja2 practical</span></a>.</p>
+<ol class="arabic" start="4">
+<li><p><strong>Use Parameterization To Consolidate The</strong> <code class="docutils literal notranslate"><span class="pre">get_observations</span></code>
+<strong>Tasks</strong>.</p>
+<p>Next we will parameterize the <code class="docutils literal notranslate"><span class="pre">get_observations</span></code> tasks.</p>
+<p>Add a parameter called <code class="docutils literal notranslate"><span class="pre">station</span></code>:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="gi">+[task parameters]</span>
+<span class="gi">+    station = aldergrove, camborne, heathrow, shetland</span>
+
+<span class="w"> </span>[scheduler]
+<span class="w"> </span>    UTC mode = True
+</pre></div>
+</div>
+<p>Remove the four <code class="docutils literal notranslate"><span class="pre">get_observations</span></code> tasks and insert the following code
+in their place:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[get_observations</span>&lt;<span class="nb">station</span>&gt;<span class="nt">]]</span>
+    <span class="nv">script </span><span class="o">=</span><span class="s"> get-observations</span>
+    <span class="nt">[[[environment]]]</span>
+        <span class="nv">API_KEY </span><span class="o">=</span><span class="s"> </span><span class="cp">{{ API_KEY }}</span>
+</pre></div>
+</div>
+<p>Using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code> you should see that Cylc replaces the
+<code class="docutils literal notranslate"><span class="pre">&lt;station&gt;</span></code> with each of the stations in turn, creating a new task for
+each:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>config<span class="w"> </span>.<span class="w"> </span>-i<span class="w"> </span><span class="s2">&quot;[runtime]&quot;</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">get_observations</span></code> tasks are now missing the <code class="docutils literal notranslate"><span class="pre">SITE_ID</span></code>
+environment variable. Add a new section for each station with a
+<code class="docutils literal notranslate"><span class="pre">SITE_ID</span></code>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[get_observations</span>&lt;<span class="nb">station=heathrow</span>&gt;<span class="nt">]]</span>
+    <span class="nt">[[[environment]]]</span>
+        <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3772</span>
+</pre></div>
+</div>
+<div class="admonition hint">
+<p class="admonition-title">Hint</p>
+<p>The relevant IDs are:</p>
+<ul class="simple">
+<li><p>Aldergrove - <code class="docutils literal notranslate"><span class="pre">3917</span></code></p></li>
+<li><p>Camborne - <code class="docutils literal notranslate"><span class="pre">3808</span></code></p></li>
+<li><p>Heathrow - <code class="docutils literal notranslate"><span class="pre">3772</span></code></p></li>
+<li><p>Shetland - <code class="docutils literal notranslate"><span class="pre">3005</span></code></p></li>
+</ul>
+</div>
+<div class="spoiler warning admonition">
+<p class="admonition-title">Solution</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[get_observations</span>&lt;<span class="nb">station=aldergrove</span>&gt;<span class="nt">]]</span>
+    <span class="nt">[[[environment]]]</span>
+        <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3917</span>
+<span class="nt">[[get_observations</span>&lt;<span class="nb">station=camborne</span>&gt;<span class="nt">]]</span>
+    <span class="nt">[[[environment]]]</span>
+        <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3808</span>
+<span class="nt">[[get_observations</span>&lt;<span class="nb">station=heathrow</span>&gt;<span class="nt">]]</span>
+    <span class="nt">[[[environment]]]</span>
+        <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3772</span>
+<span class="nt">[[get_observations</span>&lt;<span class="nb">station=shetland</span>&gt;<span class="nt">]]</span>
+    <span class="nt">[[[environment]]]</span>
+        <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3005</span>
+</pre></div>
+</div>
+</div>
+<p>Using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code> you should now see four <code class="docutils literal notranslate"><span class="pre">get_observations</span></code>
+tasks, each with a <code class="docutils literal notranslate"><span class="pre">script</span></code>, an <code class="docutils literal notranslate"><span class="pre">API_KEY</span></code> and a <code class="docutils literal notranslate"><span class="pre">SITE_ID</span></code>:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>config<span class="w"> </span>.<span class="w"> </span>-i<span class="w"> </span><span class="s2">&quot;[runtime]&quot;</span>
+</pre></div>
+</div>
+<p>Finally we can use this parameterization to simplify the workflow’s
+graphing. Replace the <code class="docutils literal notranslate"><span class="pre">get_observations</span></code> lines in the graph with
+<code class="docutils literal notranslate"><span class="pre">get_observations&lt;station&gt;</span></code>:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="w"> </span># Repeat every three hours starting at the initial cycle point.
+<span class="w"> </span>PT3H = &quot;&quot;&quot;
+<span class="gd">-    get_observations_aldergrove =&gt; consolidate_observations</span>
+<span class="gd">-    get_observations_camborne =&gt; consolidate_observations</span>
+<span class="gd">-    get_observations_heathrow =&gt; consolidate_observations</span>
+<span class="gd">-    get_observations_shetland =&gt; consolidate_observations</span>
+<span class="gi">+    get_observations&lt;station&gt; =&gt; consolidate_observations</span>
+<span class="w"> </span>&quot;&quot;&quot;
+</pre></div>
+</div>
+<div class="admonition hint">
+<p class="admonition-title">Hint</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code> command does not expand parameters or families
+in the graph so you must use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code> to inspect changes to the
+graphing.</p>
+</div>
+</li>
+<li><p><strong>Use Parameterization To Consolidate The</strong> <code class="docutils literal notranslate"><span class="pre">post_process</span></code> <strong>Tasks</strong>.</p>
+<p>At the moment we only have one <code class="docutils literal notranslate"><span class="pre">post_process</span></code> task
+(<code class="docutils literal notranslate"><span class="pre">post_process_exeter</span></code>), but suppose we wanted to add a second task for
+Edinburgh.</p>
+<p>Create a new parameter called <code class="docutils literal notranslate"><span class="pre">site</span></code> and set it to contain <code class="docutils literal notranslate"><span class="pre">exeter</span></code>
+and <code class="docutils literal notranslate"><span class="pre">edinburgh</span></code>. Parameterize the <code class="docutils literal notranslate"><span class="pre">post_process</span></code> task using this
+parameter.</p>
+<div class="admonition hint">
+<p class="admonition-title">Hint</p>
+<p>The first argument to the <code class="docutils literal notranslate"><span class="pre">post-process</span></code> task is the name of the
+site. We can use the <code class="docutils literal notranslate"><span class="pre">CYLC_TASK_PARAM_site</span></code> environment variable to
+avoid having to write out this section twice.</p>
+</div>
+<div class="spoiler warning admonition">
+<p class="admonition-title">Solution</p>
+<p>First we must create the <code class="docutils literal notranslate"><span class="pre">site</span></code> parameter:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="w"> </span>[scheduler]
+<span class="w"> </span>    UTC mode = True
+<span class="w"> </span>[task parameters]
+<span class="w"> </span>    station = aldergrove, camborne, heathrow, shetland
+<span class="gi">+        site = exeter, edinburgh</span>
+</pre></div>
+</div>
+<p>Next we parameterize the task in the graph:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="gd">-get_rainfall =&gt; forecast =&gt; post_process_exeter</span>
+<span class="gi">+get_rainfall =&gt; forecast =&gt; post_process&lt;site&gt;</span>
+</pre></div>
+</div>
+<p>And also the runtime:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="gd">-[[post_process_exeter]]</span>
+<span class="gi">+[[post_process&lt;site&gt;]]</span>
+<span class="w"> </span>    # Generate a forecast for Exeter 60 minutes in the future.
+<span class="gd">-    script = post-process exeter 60</span>
+<span class="gi">+    script = post-process $CYLC_TASK_PARAM_site 60</span>
+</pre></div>
+</div>
+</div>
+</li>
+</ol>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="jinja2.html" class="btn btn-neutral float-left" title="Jinja2" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../../furthertopics/index.html" class="btn btn-neutral float-right" title="Further Topics" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/runtime/configuration-consolidation/parameters";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/runtime/index.html b/nightly_8.3/html/tutorial/runtime/index.html
new file mode 100644
index 00000000000..8f2652f612e
--- /dev/null
+++ b/nightly_8.3/html/tutorial/runtime/index.html
@@ -0,0 +1,209 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Runtime &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Introduction" href="introduction.html" />
+    <link rel="prev" title="Further Scheduling" href="../scheduling/further-scheduling.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Runtime</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="introduction.html">Introduction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="runtime-configuration.html">Runtime Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="configuration-consolidation/index.html">Consolidating Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../furthertopics/index.html">Further Topics</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Tutorial</a></li>
+      <li class="breadcrumb-item active">Runtime</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/tutorial/runtime/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="runtime">
+<span id="tutorial-runtime"></span><h1>Runtime<a class="headerlink" href="#runtime" title="Link to this heading"></a></h1>
+<p>This section covers:</p>
+<ul class="simple">
+<li><p>Associating workflow tasks with executable applications (scripts and
+programs).</p></li>
+<li><p>Providing executables with runtime configurations, within the workflow.</p></li>
+<li><p>Running Cylc workflows.</p></li>
+</ul>
+<div class="toctree-wrapper compound" id="rug-runtime-toc">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="introduction.html#task-definitions">Task Definitions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="introduction.html#the-script-setting">The <code class="docutils literal notranslate"><span class="pre">script</span></code> Setting</a></li>
+<li class="toctree-l2"><a class="reference internal" href="introduction.html#path-and-pythonpath"><code class="docutils literal notranslate"><span class="pre">PATH</span></code> and <code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHONPATH</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="introduction.html#tasks-and-jobs">Tasks And Jobs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="introduction.html#the-cylc-user-interfaces">The Cylc User Interfaces</a></li>
+<li class="toctree-l2"><a class="reference internal" href="introduction.html#validating-a-workflow">Validating A Workflow</a></li>
+<li class="toctree-l2"><a class="reference internal" href="introduction.html#installing-a-workflow">Installing A Workflow</a></li>
+<li class="toctree-l2"><a class="reference internal" href="introduction.html#running-a-workflow">Running a workflow</a></li>
+<li class="toctree-l2"><a class="reference internal" href="introduction.html#generated-workflow-files">Generated Workflow Files</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="runtime-configuration.html">Runtime Configuration</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="runtime-configuration.html#environment-variables">Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="runtime-configuration.html#job-submission">Job Submission</a></li>
+<li class="toctree-l2"><a class="reference internal" href="runtime-configuration.html#time-limits">Time Limits</a></li>
+<li class="toctree-l2"><a class="reference internal" href="runtime-configuration.html#retries">Retries</a></li>
+<li class="toctree-l2"><a class="reference internal" href="runtime-configuration.html#start-stop-restart">Start, Stop, Restart</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="configuration-consolidation/index.html">Consolidating Configuration</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="configuration-consolidation/families.html">Families</a></li>
+<li class="toctree-l2"><a class="reference internal" href="configuration-consolidation/jinja2.html">Jinja2</a></li>
+<li class="toctree-l2"><a class="reference internal" href="configuration-consolidation/parameters.html">Parameterized Tasks</a></li>
+<li class="toctree-l2"><a class="reference internal" href="configuration-consolidation/index.html#the-cylc-config-command">The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code> Command</a></li>
+<li class="toctree-l2"><a class="reference internal" href="configuration-consolidation/index.html#the-three-approaches">The Three Approaches</a></li>
+<li class="toctree-l2"><a class="reference internal" href="configuration-consolidation/index.html#which-approach-to-use">Which Approach To Use</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../scheduling/further-scheduling.html" class="btn btn-neutral float-left" title="Further Scheduling" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="introduction.html" class="btn btn-neutral float-right" title="Introduction" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/runtime/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/runtime/introduction.html b/nightly_8.3/html/tutorial/runtime/introduction.html
new file mode 100644
index 00000000000..aa41ddde53b
--- /dev/null
+++ b/nightly_8.3/html/tutorial/runtime/introduction.html
@@ -0,0 +1,625 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Introduction &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Runtime Configuration" href="runtime-configuration.html" />
+    <link rel="prev" title="Runtime" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Runtime</a><ul class="current">
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Introduction</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#task-definitions">Task Definitions</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#the-script-setting">The <code class="docutils literal notranslate"><span class="pre">script</span></code> Setting</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#path-and-pythonpath"><code class="docutils literal notranslate"><span class="pre">PATH</span></code> and <code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHONPATH</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#tasks-and-jobs">Tasks And Jobs</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#the-cylc-user-interfaces">The Cylc User Interfaces</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#validating-a-workflow">Validating A Workflow</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#installing-a-workflow">Installing A Workflow</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#running-a-workflow">Running a workflow</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#generated-workflow-files">Generated Workflow Files</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="runtime-configuration.html">Runtime Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="configuration-consolidation/index.html">Consolidating Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../furthertopics/index.html">Further Topics</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Tutorial</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Runtime</a></li>
+      <li class="breadcrumb-item active">Introduction</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/tutorial/runtime/introduction.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="introduction">
+<span id="tutorial-cylc-runtime-introduction"></span><h1>Introduction<a class="headerlink" href="#introduction" title="Link to this heading"></a></h1>
+<p>So far we have worked with the <code class="docutils literal notranslate"><span class="pre">[scheduling]</span></code> section of the <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code>
+file, where workflow <a class="reference internal" href="../../glossary.html#term-task"><span class="xref std std-term">tasks</span></a> and <a class="reference internal" href="../../glossary.html#term-dependency"><span class="xref std std-term">dependencies</span></a> are defined.</p>
+<p>Now, in the <code class="docutils literal notranslate"><span class="pre">[runtime]</span></code> section, we need to associate each task with a
+script or application to run when its dependencies are met.</p>
+<section id="task-definitions">
+<h2>Task Definitions<a class="headerlink" href="#task-definitions" title="Link to this heading"></a></h2>
+<p>The runtime settings for each task are stored in a sub-section of the
+<code class="docutils literal notranslate"><span class="pre">[runtime]</span></code> section. E.g. for a task called <code class="docutils literal notranslate"><span class="pre">hello_world</span></code> we would write
+settings inside the following section:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[hello_world]]</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>A runtime sub-section for each task is normally required, even if it is
+empty. However, in the previous tutorials we disabled this requirement
+with <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler]allow implicit tasks" title="flow.cylc[scheduler]allow implicit tasks"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]allow</span> <span class="pre">implicit</span> <span class="pre">tasks</span></code></a>.
+See <a class="reference internal" href="../../user-guide/writing-workflows/runtime.html#implicittasks"><span class="std std-ref">Implicit Tasks</span></a> for more details.</p>
+</div>
+</section>
+<section id="the-script-setting">
+<h2>The <code class="docutils literal notranslate"><span class="pre">script</span></code> Setting<a class="headerlink" href="#the-script-setting" title="Link to this heading"></a></h2>
+<p>The task <code class="docutils literal notranslate"><span class="pre">script</span></code> setting tells Cylc <em>what</em> to execute when a task is
+ready to run.</p>
+<p>This value of this setting is interpreted as a bash script. The following
+example defines a task called <code class="docutils literal notranslate"><span class="pre">hello_world</span></code> which simply writes <code class="docutils literal notranslate"><span class="pre">Hello</span>
+<span class="pre">World!</span></code> to standard output.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[hello_world]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> echo &#39;Hello World!&#39;</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>A task with no <code class="docutils literal notranslate"><span class="pre">script</span></code> defined will run a job that does nothing but
+communicate its status back to the scheduler before exiting immediately.</p>
+</div>
+<p>We can also call other scripts or executables in this way, e.g:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[hello_world]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> ~/foo/bar/baz/hello_world</span>
+</pre></div>
+</div>
+</section>
+<section id="path-and-pythonpath">
+<h2><code class="docutils literal notranslate"><span class="pre">PATH</span></code> and <span class="target" id="index-0"></span><a class="reference external" href="https://docs.python.org/3/using/cmdline.html#envvar-PYTHONPATH" title="(in Python v3.12)"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHONPATH</span></code></a><a class="headerlink" href="#path-and-pythonpath" title="Link to this heading"></a></h2>
+<p>Keeping task scripts with the workflow, rather than leaving them elsewhere on
+the system, helps isolate the workflow from external changes.</p>
+<p>To help with this, Cylc automatically adds a <code class="docutils literal notranslate"><span class="pre">bin/</span></code> sub-directory of the
+workflow <a class="reference internal" href="../../glossary.html#term-source-directory"><span class="xref std std-term">source directory</span></a> to the executable search path (<code class="docutils literal notranslate"><span class="pre">$PATH</span></code>)
+in task environments.</p>
+<div class="literal-block-wrapper docutils container" id="id1">
+<div class="code-block-caption"><span class="caption-text">bin/hello_world</span><a class="headerlink" href="#id1" title="Link to this code"></a></div>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
+<span class="nb">echo</span><span class="w"> </span><span class="s1">&#39;Hello World!&#39;</span>
+</pre></div>
+</div>
+</div>
+<div class="literal-block-wrapper docutils container" id="id2">
+<div class="code-block-caption"><span class="caption-text">flow.cylc</span><a class="headerlink" href="#id2" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[hello_world]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> hello_world</span>
+</pre></div>
+</div>
+</div>
+<p>Similarly the <code class="docutils literal notranslate"><span class="pre">lib/python/</span></code> directory gets prepended to the
+<span class="target" id="index-1"></span><a class="reference external" href="https://docs.python.org/3/using/cmdline.html#envvar-PYTHONPATH" title="(in Python v3.12)"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">PYTHONPATH</span></code></a> variable.</p>
+<div class="literal-block-wrapper docutils container" id="id3">
+<div class="code-block-caption"><span class="caption-text">lib/python/hello.py</span><a class="headerlink" href="#id3" title="Link to this code"></a></div>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">world</span><span class="p">():</span>
+   <span class="nb">print</span><span class="p">(</span><span class="s1">&#39;Hello World!&#39;</span><span class="p">)</span>
+</pre></div>
+</div>
+</div>
+<div class="literal-block-wrapper docutils container" id="id4">
+<div class="code-block-caption"><span class="caption-text">flow.cylc</span><a class="headerlink" href="#id4" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+   <span class="nt">[[hello_world]]</span>
+      <span class="nv">script </span><span class="o">=</span><span class="s"> python -c &#39;import hello; hello.world()&#39;</span>
+</pre></div>
+</div>
+</div>
+</section>
+<section id="tasks-and-jobs">
+<span id="tutorial-tasks-and-jobs"></span><h2>Tasks And Jobs<a class="headerlink" href="#tasks-and-jobs" title="Link to this heading"></a></h2>
+<p>When a <a class="reference internal" href="../../glossary.html#term-task"><span class="xref std std-term">task</span></a> is ready to run Cylc creates a <a class="reference internal" href="../../glossary.html#term-job-script"><span class="xref std std-term">job script</span></a> for
+it: a bash file containing the scripting defined for the task along with
+other configuration and error trapping code. This is what actually executes
+as the job.</p>
+<p><a class="reference internal" href="../../glossary.html#term-task"><span class="xref std std-term">Tasks</span></a> typically go through the following states as a workflow
+runs:</p>
+<dl class="simple">
+<dt>Waiting</dt><dd><p>Waiting for dependencies to be met.</p>
+</dd>
+<dt>Preparing</dt><dd><p>Dependencies met; preparing the task <a class="reference internal" href="../../glossary.html#term-job-script"><span class="xref std std-term">job script</span></a> for submission.</p>
+</dd>
+<dt>Submitted</dt><dd><p>Job script submitted to the <a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job runner</span></a>; waiting on execution.</p>
+</dd>
+<dt>Running</dt><dd><p>Job script executing.</p>
+</dd>
+<dt>Succeeded</dt><dd><p>Job completed successfully (i.e. exited with 0 return status).</p>
+</dd>
+</dl>
+<p>There are several other task states as well, such as <strong>failed</strong>.</p>
+<p>See the <a class="reference internal" href="runtime-configuration.html#tutorial-job-runner"><span class="std std-ref">next section for more about running jobs</span></a>.</p>
+</section>
+<section id="the-cylc-user-interfaces">
+<h2>The Cylc User Interfaces<a class="headerlink" href="#the-cylc-user-interfaces" title="Link to this heading"></a></h2>
+<p>To help you to keep monitor and control running workflows Cylc has</p>
+<ul class="simple">
+<li><p>A graphical user interface (Cylc GUI).</p></li>
+<li><p>A terminal-based user interface (Cylc TUI).</p></li>
+<li><p>A comprehensive command line interface (Cylc CLI).</p></li>
+</ul>
+<section id="the-cylc-cli">
+<span id="tutorial-cli"></span><h3>The Cylc CLI<a class="headerlink" href="#the-cylc-cli" title="Link to this heading"></a></h3>
+<p>You can start, stop, query, and control workflow, in every possible way,
+from the command line.</p>
+<p>All Cylc commands have built-in help information:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span><span class="nb">help</span>
+cylc<span class="w"> </span>play<span class="w"> </span>--help<span class="w">  </span><span class="c1"># etc.</span>
+</pre></div>
+</div>
+</section>
+<section id="the-cylc-tui">
+<span id="tutorial-tui"></span><h3>The Cylc TUI<a class="headerlink" href="#the-cylc-tui" title="Link to this heading"></a></h3>
+<p>The Cylc TUI (Terminal User Interface) enables you to view and interact
+with your workflows.</p>
+<p>To start the Cylc TUI:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>tui<span class="w"> </span>&lt;workflow_id&gt;
+</pre></div>
+</div>
+</section>
+<section id="the-cylc-gui">
+<span id="tutorial-gui"></span><h3>The Cylc GUI<a class="headerlink" href="#the-cylc-gui" title="Link to this heading"></a></h3>
+<p>The Cylc GUI has different views you can use to examine your workflows,
+including a Cylc scan menu allowing you to switch between workflows.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>You only need to have one instance of the Cylc GUI open - you can
+easily switch between workflows.</p>
+</div>
+<p>To start the Cylc UI, open a new terminal window or tab, then type:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>gui
+</pre></div>
+</div>
+</section>
+<section id="task-job-states">
+<h3>Task &amp; Job States<a class="headerlink" href="#task-job-states" title="Link to this heading"></a></h3>
+<ul class="simple">
+<li><p>Task states have grey icons.</p></li>
+<li><p>Job states have colour coded squares.</p></li>
+</ul>
+<table class="docutils align-left">
+<colgroup>
+<col style="width: 25.0%" />
+<col style="width: 25.0%" />
+<col style="width: 50.0%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>Task Icon</p></th>
+<th class="head"><p>Job Icon</p></th>
+<th class="head"><p>Description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><a class="reference internal" href="../../_images/task-waiting.png"><img alt="task-waiting" class="align-middle" src="../../_images/task-waiting.png" style="height: 18px;" /></a></p></td>
+<td></td>
+<td><p>Task waiting</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="../../_images/task-submitted.png"><img alt="task-submitted" class="align-middle" src="../../_images/task-submitted.png" style="height: 18px;" /></a></p></td>
+<td><p><a class="reference internal" href="../../_images/job-submitted.png"><img alt="job-submitted" class="align-middle" src="../../_images/job-submitted.png" style="height: 18px;" /></a></p></td>
+<td><p>Job submitted</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="../../_images/task-running-25.png"><img alt="task-running" class="align-middle" src="../../_images/task-running-25.png" style="height: 18px;" /></a></p></td>
+<td><p><a class="reference internal" href="../../_images/job-running.png"><img alt="job-running" class="align-middle" src="../../_images/job-running.png" style="height: 18px;" /></a></p></td>
+<td><p>Job running</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="../../_images/task-succeeded.png"><img alt="task-succeeded" class="align-middle" src="../../_images/task-succeeded.png" style="height: 18px;" /></a></p></td>
+<td><p><a class="reference internal" href="../../_images/job-succeeded.png"><img alt="job-succeeded" class="align-middle" src="../../_images/job-succeeded.png" style="height: 18px;" /></a></p></td>
+<td><p>Job ran successfully</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="../../_images/task-failed.png"><img alt="task-failed" class="align-middle" src="../../_images/task-failed.png" style="height: 18px;" /></a></p></td>
+<td><p><a class="reference internal" href="../../_images/job-failed.png"><img alt="job-failed" class="align-middle" src="../../_images/job-failed.png" style="height: 18px;" /></a></p></td>
+<td><p>Job failed</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p>Full list of <a class="reference internal" href="../../user-guide/running-workflows/task-job-states.html#task-job-states"><span class="std std-ref">Task &amp; Job States</span></a>.</p>
+</div>
+<p>This is the “tree” view:</p>
+<figure class="align-center" id="id5" style="width: 75%">
+<img alt="../../_images/cylc-gui-tree-view.png" src="../../_images/cylc-gui-tree-view.png" />
+<figcaption>
+<p><span class="caption-text">Screenshot of the Cylc GUI in “Tree” view mode.</span><a class="headerlink" href="#id5" title="Link to this image"></a></p>
+</figcaption>
+</figure>
+<p>This is the “table” view:</p>
+<figure class="align-center" id="id6" style="width: 75%">
+<img alt="../../_images/cylc-gui-table-view.png" src="../../_images/cylc-gui-table-view.png" />
+<figcaption>
+<p><span class="caption-text">Screenshot of the Cylc GUI in “Table” view mode.</span><a class="headerlink" href="#id6" title="Link to this image"></a></p>
+</figcaption>
+</figure>
+<p>You can navigate between workflows using the list on the left (the
+screenshot shows only one, however).</p>
+<figure class="align-center" id="id7" style="width: 75%">
+<img alt="../../_images/cylc-gui-scan-view.png" src="../../_images/cylc-gui-scan-view.png" />
+<figcaption>
+<p><span class="caption-text">Screenshot of the Cylc GUI “Scan” bar.</span><a class="headerlink" href="#id7" title="Link to this image"></a></p>
+</figcaption>
+</figure>
+</section>
+</section>
+<section id="validating-a-workflow">
+<h2>Validating A Workflow<a class="headerlink" href="#validating-a-workflow" title="Link to this heading"></a></h2>
+<p>We recommend using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">validate</span></code> to check a workflow definition for
+errors before running it.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>validate<span class="w"> </span>~/cylc-src/my_workflow
+</pre></div>
+</div>
+</section>
+<section id="installing-a-workflow">
+<h2>Installing A Workflow<a class="headerlink" href="#installing-a-workflow" title="Link to this heading"></a></h2>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/installing-workflows.html#installing-workflows"><span class="std std-ref">The full guide to Cylc install</span></a>.</p>
+</div>
+<p>To separate the development and running of workflows, use the
+<a class="reference internal" href="../../glossary.html#term-install"><span class="xref std std-term">cylc install</span></a> command.</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>install<span class="w"> </span>my_workflow
+</pre></div>
+</div>
+<p>This will install <code class="docutils literal notranslate"><span class="pre">~/cylc-src/my_workflow</span></code> to <code class="docutils literal notranslate"><span class="pre">~/cylc-run/my_workflow/runN</span></code>.</p>
+</section>
+<section id="running-a-workflow">
+<h2>Running a workflow<a class="headerlink" href="#running-a-workflow" title="Link to this heading"></a></h2>
+<p>Now we have installed the workflow we can run it
+using the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> command:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>play<span class="w"> </span>my_workflow
+</pre></div>
+</div>
+</section>
+<section id="generated-workflow-files">
+<h2>Generated Workflow Files<a class="headerlink" href="#generated-workflow-files" title="Link to this heading"></a></h2>
+<section id="numbered-run-directories">
+<h3>Numbered run directories<a class="headerlink" href="#numbered-run-directories" title="Link to this heading"></a></h3>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../user-guide/installing-workflows.html#installing-workflows"><span class="std std-ref">Installing Workflows</span></a> for a fuller description of Cylc install,
+including the option of naming rather than numbering runs.</p>
+</div>
+<p>By default <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> will create a new numbered run directory each
+time you run it:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>install<span class="w"> </span>my_workflow
+<span class="go">INSTALLED my_workflow/run1 from ...</span>
+<span class="gp">$ </span>cylc<span class="w"> </span>install<span class="w"> </span>my_workflow
+<span class="go">INSTALLED my_workflow/run2 from ...</span>
+
+<span class="gp"># </span>The<span class="w"> </span>most<span class="w"> </span>recent<span class="w"> </span><span class="sb">``</span>runX<span class="sb">``</span><span class="w"> </span>directory<span class="w"> </span>is<span class="w"> </span>symlinked<span class="w"> </span>to<span class="w"> </span><span class="sb">``</span>runN<span class="sb">``</span>
+<span class="gp">$ </span>ls<span class="w"> </span>-l<span class="w"> </span>~/cylc-run/my_workflow/runN
+<span class="go">~/cylc-run/baz/runN -&gt; run2</span>
+</pre></div>
+</div>
+<p>You can run cylc commands using a specific run number, but if you don’t,
+<code class="docutils literal notranslate"><span class="pre">runN</span></code> will be used:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>play<span class="w"> </span>my_workflow
+<span class="gp"># </span>is<span class="w"> </span>the<span class="w"> </span>same<span class="w"> </span>as
+<span class="gp">$ </span>cylc<span class="w"> </span>play<span class="w"> </span>my_workflow/runN
+<span class="gp"># </span>and<span class="w"> </span>the<span class="w"> </span>same<span class="w"> </span>as<span class="w"> </span><span class="o">(</span><span class="k">in</span><span class="w"> </span>this<span class="w"> </span><span class="k">case</span><span class="o">)</span>
+<span class="gp">$ </span>cylc<span class="w"> </span>play<span class="w"> </span>my_workflow/run2
+</pre></div>
+</div>
+</section>
+<section id="files-generated-at-runtime">
+<h3>Files Generated at Runtime<a class="headerlink" href="#files-generated-at-runtime" title="Link to this heading"></a></h3>
+<p>Cylc generates files and directories when it runs a workflow, namely:</p>
+<dl>
+<dt><code class="docutils literal notranslate"><span class="pre">log</span></code></dt><dd><dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">db</span></code></dt><dd><p>The database which Cylc uses to record the state of the workflow;</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">job</span></code></dt><dd><p>The directory where all <a class="reference internal" href="../../glossary.html#term-job-log"><span class="xref std std-term">job log files</span></a> live,
+primarily the job script itself (<code class="docutils literal notranslate"><span class="pre">job</span></code>) and the job output logs
+(<code class="docutils literal notranslate"><span class="pre">job.out</span></code> and <code class="docutils literal notranslate"><span class="pre">job.err</span></code>);</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">scheduler</span></code></dt><dd><p>The directory where <a class="reference internal" href="../../glossary.html#term-scheduler-log"><span class="xref std std-term">scheduler log files</span></a> live.
+These are written as the workflow runs and are useful when troubleshooting.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">config/flow.cylc.processed</span></code></dt><dd><p>A copy of the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file made after any <a class="reference external" href="https://jinja.palletsprojects.com/en/3.0.x/">Jinja2</a> has been
+processed - we will cover this in the
+<a class="reference internal" href="configuration-consolidation/index.html#tutorial-cylc-consolidating-configuration"><span class="std std-ref">Consolidating Configuration</span></a> section.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">remote-install</span></code></dt><dd><p>Information related to <a class="reference internal" href="../../user-guide/running-workflows/scheduler-start-up.html#remoteinit"><span class="std std-ref">Remote Initialization</span></a> file installation can be found
+here. A separate file is created per install target.</p>
+</dd>
+</dl>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">share/</span></code></dt><dd><p>The <a class="reference internal" href="../../glossary.html#term-share-directory"><span class="xref std std-term">share directory</span></a> is where <a class="reference internal" href="../../glossary.html#term-task"><span class="xref std std-term">tasks</span></a> can
+read or write files shared with other tasks.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">work/</span></code></dt><dd><blockquote>
+<div><p>Contains task <a class="reference internal" href="../../glossary.html#term-work-directory"><span class="xref std std-term">work directories</span></a>, i.e. the
+<em>current working directories</em> of running tasks. These are
+removed automatically if empty when a task finishes.</p>
+</div></blockquote>
+<p>The job log directory path ends in <code class="docutils literal notranslate"><span class="pre">&lt;cycle-point&gt;/&lt;task-name&gt;/&lt;job-submission-num&gt;/</span></code>,
+where the <a class="reference internal" href="../../glossary.html#term-job-submission-number"><span class="xref std std-term">job submission number</span></a> starts at 1 and increments each time a
+task re-runs.</p>
+<p>You can use the command line to view scheduler or job logs without
+having to find them yourself on the filesystem:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>cat-log<span class="w"> </span>&lt;workflow-name&gt;
+cylc<span class="w"> </span>cat-log<span class="w"> </span>&lt;workflow-name&gt;//&lt;cycle-point&gt;/&lt;task-name&gt;
+</pre></div>
+</div>
+</dd>
+</dl>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>If you used pip to install Cylc, you will need to run</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pip<span class="w"> </span>install<span class="w"> </span><span class="s1">&#39;cylc-flow[tutorial]&#39;</span>
+</pre></div>
+</div>
+<p>to install extra dependencies needed for running the following
+tutorial workflows.</p>
+</div>
+<div class="note admonition">
+<p class="admonition-title">Practical</p>
+<p class="rubric">In this practical we will add some scripts to, and run, the
+<a class="reference internal" href="../scheduling/datetime-cycling.html#tutorial-datetime-cycling-practical"><span class="std std-ref">weather forecasting workflow</span></a>
+from the <a class="reference internal" href="../scheduling/index.html#tutorial-scheduling"><span class="std std-ref">scheduling tutorial</span></a>.</p>
+<ol class="arabic">
+<li><p><strong>Create A New Workflow.</strong></p>
+<p>The following command will copy some workflow files into
+a new source directory called <code class="docutils literal notranslate"><span class="pre">runtime-introduction</span></code>:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>get-resources<span class="w"> </span>tutorial/runtime-introduction
+<span class="nb">cd</span><span class="w"> </span>~/cylc-src/runtime-introduction
+</pre></div>
+</div>
+<p>This includes the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file from the
+<a class="reference internal" href="../scheduling/datetime-cycling.html#tutorial-datetime-cycling-practical"><span class="std std-ref">weather forecasting workflow</span></a>
+with some runtime configuration added to it.</p>
+<p>There is also a script called <code class="docutils literal notranslate"><span class="pre">get-observations</span></code> located in the bin
+directory.</p>
+<p>Take a look at the <code class="docutils literal notranslate"><span class="pre">[runtime]</span></code> section in the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file.</p>
+</li>
+<li><p><strong>Run The Workflow.</strong></p>
+<p>First validate the workflow by running:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>validate<span class="w"> </span>.
+</pre></div>
+</div>
+<p>Then install the workflow:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>install
+</pre></div>
+</div>
+<p>Open a user interface (<a class="reference internal" href="#tutorial-tui"><span class="std std-ref">The Cylc TUI</span></a> or <a class="reference internal" href="#tutorial-gui"><span class="std std-ref">The Cylc GUI</span></a>) to view
+your workflow.</p>
+<p>Finally run the workflow by executing:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>play<span class="w"> </span>runtime-introduction
+</pre></div>
+</div>
+<p>The tasks will start to run - you should see them going through the
+<em>waiting</em>, <em>running</em> and <em>succeeded</em> states. The <em>preparing</em> and
+<em>submitted</em> states may be too quick to notice.</p>
+<p>When the workflow reaches the final cycle point and all tasks have succeeded
+the scheduler will shutdown automatically.</p>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>You can run a workflow from the Cylc GUI by pressing the “play”
+button at the top.</p>
+</div>
+</li>
+<li><p><strong>Inspect A Job Log.</strong></p>
+<p>Try opening the <code class="docutils literal notranslate"><span class="pre">job.out</span></code> log for one of the
+<code class="docutils literal notranslate"><span class="pre">get_observations</span></code> tasks in a text editor. The file will be
+in the <a class="reference internal" href="../../glossary.html#term-job-log-directory"><span class="xref std std-term">job log directory</span></a>:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cd ~/cylc-run/runtime-introduction/runN
+cat log/job/<span class="s">&lt;cycle-point&gt;</span>/get_observations_heathrow/01/job.out
+</pre></div>
+</div>
+<p>You should see something like this:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>Workflow    : runtime-introduction
+Job : 20000101T0000Z/get_observations_heathrow/01 (try 1)
+User@Host: username@hostname
+
+Guessing Weather Conditions
+Writing Out Wind Data
+
+1970-01-01T00:00:00Z NORMAL - started
+2038-01-19T03:14:08Z NORMAL - succeeded
+</pre></div>
+</div>
+<ul class="simple">
+<li><p>The first three lines are identifying information written by Cylc.</p></li>
+<li><p><em>The lines in the middle are the job stdout.</em></p></li>
+<li><p>The last two lines are written by Cylc, to record job start and finish
+times. The started message would be above the job stdout for a
+longer-running job.</p></li>
+</ul>
+</li>
+<li><p><strong>Inspect A Work Directory.</strong></p>
+<p>The <code class="docutils literal notranslate"><span class="pre">get_rainfall</span></code> task should create a file called <code class="docutils literal notranslate"><span class="pre">rainfall</span></code> in its
+<a class="reference internal" href="../../glossary.html#term-work-directory"><span class="xref std std-term">work directory</span></a>. Try opening this file, recalling that the
+format of the relevant path from within the work directory will be:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>work/<span class="s">&lt;cycle-point&gt;</span>/get_rainfall/rainfall
+</pre></div>
+</div>
+<div class="admonition hint">
+<p class="admonition-title">Hint</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">get_rainfall</span></code> task only runs every third cycle.</p>
+</div>
+</li>
+<li><p><strong>Extension: Explore The Cylc GUI</strong></p>
+<ul>
+<li><p>Try re-installing the workflow and running it from the GUI.</p></li>
+<li><p>Try adding a new view(s).</p>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>You can do this from the “Add View” button (top-right):</p>
+<a class="reference internal image-reference" href="../../_images/cylc-gui-views-button.png"><img alt="../../_images/cylc-gui-views-button.png" class="align-center" src="../../_images/cylc-gui-views-button.png" style="width: 450.0px; height: 225.0px;" /></a>
+</div>
+</li>
+<li><p>Try pressing the “Pause” button which is found in the top left-hand
+corner of the GUI.</p></li>
+<li><p>Try clicking on a task state icon. From the menu you could try:</p>
+<ul class="simple">
+<li><p>“Trigger”</p></li>
+<li><p>“Hold”</p></li>
+<li><p>“Release”</p></li>
+</ul>
+</li>
+</ul>
+</li>
+</ol>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p>See guide to <a class="reference internal" href="../../user-guide/running-workflows/task-job-states.html#task-job-states"><span class="std std-ref">Task &amp; Job States</span></a> for a guide to the icons.</p>
+</div>
+</div>
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="Runtime" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="runtime-configuration.html" class="btn btn-neutral float-right" title="Runtime Configuration" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/runtime/introduction";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/runtime/runtime-configuration.html b/nightly_8.3/html/tutorial/runtime/runtime-configuration.html
new file mode 100644
index 00000000000..2a58d8e5216
--- /dev/null
+++ b/nightly_8.3/html/tutorial/runtime/runtime-configuration.html
@@ -0,0 +1,557 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Runtime Configuration &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Consolidating Configuration" href="configuration-consolidation/index.html" />
+    <link rel="prev" title="Introduction" href="introduction.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../scheduling/index.html">Scheduling</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Runtime</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="introduction.html">Introduction</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Runtime Configuration</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#environment-variables">Environment Variables</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#job-submission">Job Submission</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#time-limits">Time Limits</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#retries">Retries</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#start-stop-restart">Start, Stop, Restart</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="configuration-consolidation/index.html">Consolidating Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../furthertopics/index.html">Further Topics</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Tutorial</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Runtime</a></li>
+      <li class="breadcrumb-item active">Runtime Configuration</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/tutorial/runtime/runtime-configuration.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="runtime-configuration">
+<span id="tutorial-cylc-runtime-configuration"></span><h1>Runtime Configuration<a class="headerlink" href="#runtime-configuration" title="Link to this heading"></a></h1>
+<p>In the last section we associated tasks with scripts and ran a simple workflow. In
+this section we will look at how to configure these tasks.</p>
+<section id="environment-variables">
+<h2>Environment Variables<a class="headerlink" href="#environment-variables" title="Link to this heading"></a></h2>
+<p>We can define environment variables in task <code class="docutils literal notranslate"><span class="pre">[environment]</span></code> sections,
+to be provided to task <a class="reference internal" href="../../glossary.html#term-job"><span class="xref std std-term">jobs</span></a> at runtime.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[countdown]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> seq $START_NUMBER</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">START_NUMBER </span><span class="o">=</span><span class="s"> 5</span>
+</pre></div>
+</div>
+<p>Each job is also provided with some standard environment variables e.g:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">CYLC_WORKFLOW_RUN_DIR</span></code></dt><dd><p>The path to the <a class="reference internal" href="../../glossary.html#term-run-directory"><span class="xref std std-term">run directory</span></a>
+<em>(e.g. ~/cylc-run/workflow)</em>.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">CYLC_TASK_WORK_DIR</span></code></dt><dd><p>The path to the associated task’s <a class="reference internal" href="../../glossary.html#term-work-directory"><span class="xref std std-term">work directory</span></a>
+<em>(e.g. run-directory/work/cycle/task)</em>.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">CYLC_TASK_CYCLE_POINT</span></code></dt><dd><p>The <a class="reference internal" href="../../glossary.html#term-cycle-point"><span class="xref std std-term">cycle point</span></a> for the associated task
+<em>(e.g. 20171009T0950)</em>.</p>
+</dd>
+</dl>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p>There are many more environment variables - see
+<a class="reference internal" href="../../user-guide/writing-workflows/runtime.html#task-job-script-variables"><span class="std std-ref">Job Script Variables</span></a> for more information.</p>
+</div>
+</section>
+<section id="job-submission">
+<span id="tutorial-job-runner"></span><h2>Job Submission<a class="headerlink" href="#job-submission" title="Link to this heading"></a></h2>
+<p>By default Cylc runs <a class="reference internal" href="../../glossary.html#term-job"><span class="xref std std-term">jobs</span></a> on the same machine as
+the scheduler. It can run them on other machines too if we set the
+<a class="reference internal" href="../../glossary.html#term-platform"><span class="xref std std-term">platform</span></a> like this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[hello_computehost]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> echo &quot;Hello Compute Host&quot;</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> powerful_computer</span>
+</pre></div>
+</div>
+<p>By default Cylc also executes jobs as <a class="reference external" href="https://en.wikipedia.org/wiki/Background_process">background processes</a>.
+We often want to submit jobs to a <a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job runner</span></a> instead,
+particularly on shared compute resources. Cylc supports the following
+job runners:</p>
+<ul class="simple">
+<li><p>at</p></li>
+<li><p>loadleveler</p></li>
+<li><p>lsf</p></li>
+<li><p>pbs</p></li>
+<li><p>sge</p></li>
+<li><p>slurm</p></li>
+<li><p>moab</p></li>
+</ul>
+<p><a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">Job runners</span></a> typically require
+<a class="reference internal" href="../../glossary.html#term-directive"><span class="xref std std-term">directives</span></a> in some form, to specify
+job requirements such as memory use and number of CPUs to run on. For
+example:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[big_task]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> big-executable</span>
+
+        <span class="c1"># Submit to the host &quot;big-computer&quot;.</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> slurm_platform</span>
+
+        <span class="c1"># job requires 500MB of RAM &amp; 4 CPUs</span>
+        <span class="nt">[[[directives]]]</span>
+            <span class="nv">--mem </span><span class="o">=</span><span class="s"> 500</span>
+            <span class="nv">--ntasks </span><span class="o">=</span><span class="s"> 4</span>
+</pre></div>
+</div>
+</section>
+<section id="time-limits">
+<h2>Time Limits<a class="headerlink" href="#time-limits" title="Link to this heading"></a></h2>
+<p>We can specify an execution time limit, as an <a class="reference internal" href="../../glossary.html#term-ISO8601-duration"><span class="xref std std-term">ISO8601 duration</span></a>, after
+which a job will be terminated. Cylc automatically translates this to
+the correct <a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job runner</span></a> directives.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[some_task]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> some-executable</span>
+        <span class="nv">execution time limit </span><span class="o">=</span><span class="s"> PT15M</span>  <span class="c1"># 15 minutes.</span>
+</pre></div>
+</div>
+</section>
+<section id="retries">
+<h2>Retries<a class="headerlink" href="#retries" title="Link to this heading"></a></h2>
+<p>Jobs can fail for several reasons:</p>
+<ul class="simple">
+<li><p>Something went wrong with job submission, e.g:</p>
+<ul>
+<li><p>A network problem;</p></li>
+<li><p>The <a class="reference internal" href="../../glossary.html#term-job-host"><span class="xref std std-term">job host</span></a> became unavailable or overloaded;</p></li>
+<li><p>The job runner rejected your job directives.</p></li>
+</ul>
+</li>
+</ul>
+<ul class="simple">
+<li><p>Something went wrong with job execution, e.g:</p>
+<ul>
+<li><p>A bug;</p></li>
+<li><p>A system error;</p></li>
+<li><p>The job hitting the <code class="docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code>.</p></li>
+</ul>
+</li>
+</ul>
+<p>We can configure Cylc to automatically retry tasks that fail,
+by setting <code class="docutils literal notranslate"><span class="pre">submission</span> <span class="pre">retry</span> <span class="pre">delays</span></code> and/or <code class="docutils literal notranslate"><span class="pre">execution</span> <span class="pre">retry</span> <span class="pre">delays</span></code>
+to a list of <a class="reference internal" href="../../glossary.html#term-ISO8601-duration"><span class="xref std std-term">ISO8601 durations</span></a>.
+For example, setting <code class="docutils literal notranslate"><span class="pre">execution</span> <span class="pre">retry</span> <span class="pre">delays</span> <span class="pre">=</span> <span class="pre">PT10M</span></code>
+will cause the job to retry every 10 minutes on execution failure.</p>
+<p>Use a multiplier to limit the number of retries:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+   <span class="nt">[[some-task]]</span>
+      <span class="nv">script </span><span class="o">=</span><span class="s"> some-script</span>
+
+      <span class="c1"># On execution failure</span>
+      <span class="c1">#   retry up to 3 times every 15 minutes.</span>
+      <span class="nv">execution retry delays </span><span class="o">=</span><span class="s"> 3*PT15M</span>
+      <span class="c1"># On submission failure</span>
+      <span class="c1">#   retry up to 2 times every 10 min,</span>
+      <span class="c1">#   then every 30 mins thereafter.</span>
+      <span class="nv">submission retry delays </span><span class="o">=</span><span class="s"> 2*PT10M, PT30M</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Tasks only enter the <code class="docutils literal notranslate"><span class="pre">submit-failed</span></code> state if job submission fails with no
+retries left. Otherwise they return to the waiting state, to wait on the
+next try.</p>
+<p>Tasks only enter the <code class="docutils literal notranslate"><span class="pre">failed</span></code> state if job execution fails with no retries
+left. Otherwise they return to the waiting state, to wait on the next try.</p>
+</div>
+</section>
+<section id="start-stop-restart">
+<span id="tutorial-start-stop-restart"></span><h2>Start, Stop, Restart<a class="headerlink" href="#start-stop-restart" title="Link to this heading"></a></h2>
+<p>We have seen how to start and stop Cylc workflows with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> and
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">stop</span></code>. By default <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">stop</span></code> causes the scheduler to wait
+for running jobs to finish before it shuts down. There are several
+other stop options, however. For example:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">stop</span> <span class="pre">--kill</span></code></dt><dd><p>Kill all running jobs before stopping. (Cylc can kill jobs on remote
+hosts, via the configured <a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job runner</span></a>).</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">stop</span> <span class="pre">--now</span> <span class="pre">--now</span></code></dt><dd><p>stop right now, leaving any jobs running.</p>
+</dd>
+</dl>
+<p>Once a workflow has stopped you can restart it with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code>.
+The scheduler will pick up where it left off, and carry on as normal.</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Run the workflow &quot;name&quot;.</span>
+cylc<span class="w"> </span>play<span class="w"> </span>&lt;id&gt;
+<span class="c1"># Stop the workflow &quot;name&quot;, killing any running tasks.</span>
+cylc<span class="w"> </span>stop<span class="w"> </span>&lt;id&gt;<span class="w"> </span>--kill
+<span class="c1"># Restart the workflow &quot;name&quot;, picking up where it left off.</span>
+cylc<span class="w"> </span>play<span class="w"> </span>&lt;id&gt;
+</pre></div>
+</div>
+<div class="note admonition" id="tutorial-cylc-runtime-forecasting-workflow">
+<p class="admonition-title">Practical</p>
+<p class="rubric">In this practical we will add runtime configuration to the
+<a class="reference internal" href="../scheduling/datetime-cycling.html#tutorial-datetime-cycling-practical"><span class="std std-ref">weather-forecasting workflow</span></a>
+from the <a class="reference internal" href="../scheduling/index.html#tutorial-scheduling"><span class="std std-ref">scheduling tutorial</span></a>.</p>
+<ol class="arabic">
+<li><p><strong>Create A New Workflow.</strong></p>
+<p>Create a new workflow by running the command:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>get-resources<span class="w"> </span>tutorial/runtime-tutorial
+<span class="nb">cd</span><span class="w"> </span>~/cylc-src/runtime-tutorial
+</pre></div>
+</div>
+<p>You will now have a copy of the weather-forecasting workflow along with some
+executables and python modules.</p>
+</li>
+<li><p><strong>Set The Initial And Final Cycle Points.</strong></p>
+<p>We want the workflow to run for 6 hours, starting at least 7 hours ago, on
+the hour.</p>
+<p>We could work out the dates and times manually, or we could let Cylc do
+the maths for us.</p>
+<p>Set the <a class="reference internal" href="../../glossary.html#term-initial-cycle-point"><span class="xref std std-term">initial cycle point</span></a>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> previous(T-00) - PT7H</span>
+</pre></div>
+</div>
+<ul>
+<li><p><code class="docutils literal notranslate"><span class="pre">previous(T-00)</span></code> returns the current time ignoring minutes and
+seconds.</p>
+<p><em>e.g. if the current time is 12:34 this will return 12:00</em></p>
+</li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-PT7H</span></code> subtracts 7 hours from this value.</p></li>
+</ul>
+<p>Set the <a class="reference internal" href="../../glossary.html#term-final-cycle-point"><span class="xref std std-term">final cycle point</span></a>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">final cycle point </span><span class="o">=</span><span class="s"> +PT6H</span>
+</pre></div>
+</div>
+<p>This sets the <a class="reference internal" href="../../glossary.html#term-final-cycle-point"><span class="xref std std-term">final cycle point</span></a> six hours after the
+<a class="reference internal" href="../../glossary.html#term-initial-cycle-point"><span class="xref std std-term">initial cycle point</span></a>.</p>
+<p>Run <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">validate</span></code> to check for any errors:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">validate</span> <span class="o">.</span>
+</pre></div>
+</div>
+</li>
+<li><p><strong>Add Runtime Configuration For The</strong> <code class="docutils literal notranslate"><span class="pre">get_observations</span></code> <strong>Tasks.</strong></p>
+<p>In the <code class="docutils literal notranslate"><span class="pre">bin</span></code> directory is a script called <code class="docutils literal notranslate"><span class="pre">get-observations</span></code>. This
+script gets weather data from the MetOffice <a class="reference external" href="https://www.metoffice.gov.uk/services/data/datapoint">DataPoint</a> service.
+It requires two environment variables:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">SITE_ID</span></code>:</dt><dd><p>A four digit numerical code which is used to identify a
+weather station, e.g. <code class="docutils literal notranslate"><span class="pre">3772</span></code> is Heathrow Airport.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">API_KEY</span></code>:</dt><dd><p>An authentication key required for access to the service.</p>
+</dd>
+</dl>
+<p>Generate a Datapoint API key:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cylc</span> <span class="n">get</span><span class="o">-</span><span class="n">resources</span> <span class="n">api</span><span class="o">-</span><span class="n">key</span>
+</pre></div>
+</div>
+<p>Add the following lines to the bottom of the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file replacing
+<code class="docutils literal notranslate"><span class="pre">xxx...</span></code> with your API key:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[get_observations_heathrow]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> get-observations</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3772</span>
+            <span class="nv">API_KEY </span><span class="o">=</span><span class="s"> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+</pre></div>
+</div>
+<p>Add three more <code class="docutils literal notranslate"><span class="pre">get_observations</span></code> tasks for each of the remaining
+weather stations.</p>
+<p>You will need the codes for the other three weather stations, which are:</p>
+<ul class="simple">
+<li><p>Camborne - <code class="docutils literal notranslate"><span class="pre">3808</span></code></p></li>
+<li><p>Shetland - <code class="docutils literal notranslate"><span class="pre">3005</span></code></p></li>
+<li><p>Aldergrove - <code class="docutils literal notranslate"><span class="pre">3917</span></code></p></li>
+</ul>
+<div class="spoiler warning admonition">
+<p class="admonition-title">Solution</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[get_observations_heathrow]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> get-observations</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3772</span>
+            <span class="nv">API_KEY </span><span class="o">=</span><span class="s"> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+    <span class="nt">[[get_observations_camborne]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> get-observations</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3808</span>
+            <span class="nv">API_KEY </span><span class="o">=</span><span class="s"> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+    <span class="nt">[[get_observations_shetland]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> get-observations</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3005</span>
+            <span class="nv">API_KEY </span><span class="o">=</span><span class="s"> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+    <span class="nt">[[get_observations_aldergrove]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> get-observations</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SITE_ID </span><span class="o">=</span><span class="s"> 3917</span>
+            <span class="nv">API_KEY </span><span class="o">=</span><span class="s"> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</span>
+</pre></div>
+</div>
+</div>
+<p>Check the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file is valid by running the command:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>validate<span class="w"> </span>.
+</pre></div>
+</div>
+</li>
+<li><p><strong>Test the</strong> <code class="docutils literal notranslate"><span class="pre">get_observations</span></code> <strong>tasks.</strong></p>
+<p>Next we will test the <code class="docutils literal notranslate"><span class="pre">get_observations</span></code> tasks.</p>
+<p>Install the workflow:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>install
+</pre></div>
+</div>
+<p>Open a user interface (<a class="reference internal" href="introduction.html#tutorial-tui"><span class="std std-ref">The Cylc TUI</span></a> or <a class="reference internal" href="introduction.html#tutorial-gui"><span class="std std-ref">The Cylc GUI</span></a>) to view
+your workflow.</p>
+<p>Run the workflow either by pressing the play button in the Cylc UI or by
+running the command:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>play<span class="w"> </span>runtime-tutorial
+</pre></div>
+</div>
+<p>If all goes well the workflow will startup and the tasks will run and
+succeed. Note that the tasks which do not have a <code class="docutils literal notranslate"><span class="pre">[runtime]</span></code> section
+will still run though they will not do anything as they do not call any
+scripts.</p>
+<p>Once the workflow has reached the final cycle point and all tasks have
+succeeded the scheduler will shut down automatically.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">get-observations</span></code> script produces a file called <code class="docutils literal notranslate"><span class="pre">wind.csv</span></code> which
+specifies the wind speed and direction. This file is written in the task’s
+<a class="reference internal" href="../../glossary.html#term-work-directory"><span class="xref std std-term">work directory</span></a>.</p>
+<p>Try and open one of the <code class="docutils literal notranslate"><span class="pre">wind.csv</span></code> files. Note that the path to the
+<a class="reference internal" href="../../glossary.html#term-work-directory"><span class="xref std std-term">work directory</span></a> is:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>work/<span class="s">&lt;cycle-point&gt;</span>/<span class="s">&lt;task-name&gt;</span>
+</pre></div>
+</div>
+<p>You should find a file containing four numbers:</p>
+<ul class="simple">
+<li><p>The longitude of the weather station;</p></li>
+<li><p>The latitude of the weather station;</p></li>
+<li><p>The wind direction (<em>the direction the wind is blowing towards</em>)
+in degrees;</p></li>
+<li><p>The wind speed in miles per hour.</p></li>
+</ul>
+<div class="spoiler hint admonition">
+<p class="admonition-title">Hint</p>
+<p>If you run <code class="docutils literal notranslate"><span class="pre">ls</span> <span class="pre">work</span></code> you should see a
+list of cycles. Pick one of them and open the file:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">work</span><span class="o">/&lt;</span><span class="n">cycle</span><span class="o">-</span><span class="n">point</span><span class="o">&gt;/</span><span class="n">get_observations_heathrow</span><span class="o">/</span><span class="n">wind</span><span class="o">.</span><span class="n">csv</span>
+</pre></div>
+</div>
+</div>
+</li>
+<li><p><strong>Add runtime configuration for the other tasks.</strong></p>
+<p>The runtime configuration for the remaining tasks has been written out
+for you in the <code class="docutils literal notranslate"><span class="pre">runtime</span></code> file which you will find in the
+<a class="reference internal" href="../../glossary.html#term-run-directory"><span class="xref std std-term">run directory</span></a>. Copy the code in the <code class="docutils literal notranslate"><span class="pre">runtime</span></code> file to the
+bottom of the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file.</p>
+<p>Check the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file is valid by running the command:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>validate<span class="w"> </span>.
+cylc<span class="w"> </span>install
+</pre></div>
+</div>
+</li>
+<li><p><strong>Run The Workflow.</strong></p>
+<p>Open a user interface (<a class="reference internal" href="introduction.html#tutorial-tui"><span class="std std-ref">The Cylc TUI</span></a> or <a class="reference internal" href="introduction.html#tutorial-gui"><span class="std std-ref">The Cylc GUI</span></a>) to view
+your workflow.</p>
+<div class="spoiler hint admonition">
+<p class="admonition-title">Hint</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>tui<span class="w"> </span>runtime-tutorial
+<span class="c1"># or</span>
+cylc<span class="w"> </span>gui<span class="w">  </span><span class="c1"># If you haven&#39;t already got an instance running.</span>
+</pre></div>
+</div>
+<p>Run the workflow either by:</p>
+<ul class="simple">
+<li><p>Pressing the play button in the Cylc GUI. Then, ensuring that
+“Cold Start” is selected within the dialogue window, pressing the
+“Start” button.</p></li>
+<li><p>Running the command <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span> <span class="pre">runtime-tutorial</span></code>.</p></li>
+</ul>
+</div>
+</li>
+<li><p><strong>View The Forecast Summary.</strong></p>
+<p>The <code class="docutils literal notranslate"><span class="pre">post_process_exeter</span></code> task will produce a one-line summary of the
+weather in Exeter, as forecast two hours ahead of time. This summary can
+be found in the <code class="docutils literal notranslate"><span class="pre">summary.txt</span></code> file in the <a class="reference internal" href="../../glossary.html#term-work-directory"><span class="xref std std-term">work directory</span></a>.</p>
+<p>Try opening the summary file - it will be in the last cycle. The path to
+the <a class="reference internal" href="../../glossary.html#term-work-directory"><span class="xref std std-term">work directory</span></a> is:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>work/<span class="s">&lt;cycle-point&gt;</span>/<span class="s">&lt;task-name&gt;</span>
+</pre></div>
+</div>
+<div class="spoiler hint admonition">
+<p class="admonition-title">Hint</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">cycle-point</span></code> - this will be the last cycle of the workflow,
+i.e. the final cycle point.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">task-name</span></code> - set this to “post_process_exeter”.</p></li>
+</ul>
+</div>
+</li>
+<li><p><strong>View The Rainfall Data.</strong></p>
+<p>The <code class="docutils literal notranslate"><span class="pre">forecast</span></code> task will produce a html page where the rainfall
+data is rendered on a map. This html file is called <code class="docutils literal notranslate"><span class="pre">job-map.html</span></code> and
+is saved alongside the <a class="reference internal" href="../../glossary.html#term-job-log"><span class="xref std std-term">job log</span></a>.</p>
+<p>Try opening this file in a web browser, e.g via:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>firefox <span class="s">&lt;filename&gt;</span> &amp;
+</pre></div>
+</div>
+<p>The path to the <a class="reference internal" href="../../glossary.html#term-job-log-directory"><span class="xref std std-term">job log directory</span></a> is:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>log/job/<span class="s">&lt;cycle-point&gt;</span>/<span class="s">&lt;task-name&gt;</span>/<span class="s">&lt;submission-number&gt;</span>
+</pre></div>
+</div>
+<div class="spoiler hint admonition">
+<p class="admonition-title">Hint</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">cycle-point</span></code> - this will be the last cycle of the workflow,
+i.e. the final cycle point.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">task-name</span></code> - set this to “forecast”.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">submission-number</span></code> - set this to “01”.</p></li>
+</ul>
+</div>
+</li>
+</ol>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="introduction.html" class="btn btn-neutral float-left" title="Introduction" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="configuration-consolidation/index.html" class="btn btn-neutral float-right" title="Consolidating Configuration" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/runtime/runtime-configuration";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/scheduling/datetime-cycling.html b/nightly_8.3/html/tutorial/scheduling/datetime-cycling.html
new file mode 100644
index 00000000000..c1df0c7e99a
--- /dev/null
+++ b/nightly_8.3/html/tutorial/scheduling/datetime-cycling.html
@@ -0,0 +1,671 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Datetime Cycling &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Further Scheduling" href="further-scheduling.html" />
+    <link rel="prev" title="Basic Cycling" href="integer-cycling.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Scheduling</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="graphing.html">The <code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code> File Format</a></li>
+<li class="toctree-l3"><a class="reference internal" href="integer-cycling.html">Basic Cycling</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Datetime Cycling</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#iso8601">ISO8601</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#datetime-recurrences">Datetime Recurrences</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#utc-mode">UTC Mode</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#putting-it-all-together">Putting It All Together</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="further-scheduling.html">Further Scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../runtime/index.html">Runtime</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../furthertopics/index.html">Further Topics</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Tutorial</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Scheduling</a></li>
+      <li class="breadcrumb-item active">Datetime Cycling</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/tutorial/scheduling/datetime-cycling.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="datetime-cycling">
+<span id="tutorial-datetime-cycling"></span><h1>Datetime Cycling<a class="headerlink" href="#datetime-cycling" title="Link to this heading"></a></h1>
+<div class="aims admonition">
+<p class="admonition-title">Aims</p>
+<div class="line-block">
+<div class="line">You should be able to:</div>
+<div class="line">✅ Write workflows  with datetime cycle points.</div>
+</div>
+</div>
+<p>In the last section we created an <a class="reference internal" href="../../glossary.html#term-integer-cycling"><span class="xref std std-term">integer cycling</span></a> workflow
+with numbered <a class="reference internal" href="../../glossary.html#term-cycle-point"><span class="xref std std-term">cycle points</span></a>.</p>
+<p>Workflows may need to be repeated at a regular time intervals, say every day
+or every few hours. To support this Cylc can generate datetime sequences
+as <a class="reference internal" href="../../glossary.html#term-cycle-point"><span class="xref std std-term">cycle points</span></a> instead of integers.</p>
+<div class="tip admonition">
+<p class="admonition-title">Reminder</p>
+<p>In Cylc, <a class="reference internal" href="../../glossary.html#term-cycle-point"><span class="xref std std-term">cycle points</span></a> are task labels that anchor the
+dependencies between individual tasks: this task depends on that task in
+that cycle. Tasks can run as soon as their individual dependencies are met,
+so cycles do not necessarily run in order, or at the real world time
+corresponding to the cycle point value (to do that, see
+<a class="reference internal" href="further-scheduling.html#tutorial-clock-triggers"><span class="std std-ref">Clock Triggers</span></a>).</p>
+</div>
+<section id="iso8601">
+<span id="tutorial-iso8601"></span><h2>ISO8601<a class="headerlink" href="#iso8601" title="Link to this heading"></a></h2>
+<p>Cylc uses the <a class="reference internal" href="../../glossary.html#term-ISO8601"><span class="xref std std-term">ISO8601</span></a> datetime standard to represent datetimes and durations.</p>
+<section id="iso8601-datetimes">
+<span id="tutorial-iso8601-datetimes"></span><h3>ISO8601 Datetimes<a class="headerlink" href="#iso8601-datetimes" title="Link to this heading"></a></h3>
+<p>ISO8601 datetimes are written from the largest unit to the smallest
+(year, month, day, hour, minute, second) with a <code class="docutils literal notranslate"><span class="pre">T</span></code> separating the date
+and time components. For example, midnight on the 1st of January 2000 is
+written <code class="docutils literal notranslate"><span class="pre">20000101T000000</span></code>.</p>
+<p>For brevity we can omit seconds (or minutes) from the time:
+<code class="docutils literal notranslate"><span class="pre">20000101T0000</span></code> (or <code class="docutils literal notranslate"><span class="pre">20000101T00</span></code>).</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The smallest interval for a datetime cycling sequence in Cylc is 1 minute.</p>
+</div>
+<p>For readability we can add hyphens (<code class="docutils literal notranslate"><span class="pre">-</span></code>) between the date components
+and colons (<code class="docutils literal notranslate"><span class="pre">:</span></code>) between the time components.
+This is optional, but if you do it you must use both hyphens <em>and</em> colons.</p>
+<p>Time-zone information can be added onto the end. UTC is written <code class="docutils literal notranslate"><span class="pre">Z</span></code>,
+UTC+1 is written <code class="docutils literal notranslate"><span class="pre">+01</span></code>, etc. E.G: <code class="docutils literal notranslate"><span class="pre">2000-01-01T00:00Z</span></code>.</p>
+<a class="reference internal image-reference" href="../../_images/iso8601-dates.svg"><img alt="../../_images/iso8601-dates.svg" class="align-center" src="../../_images/iso8601-dates.svg" width="75%" /></a>
+</section>
+<section id="iso8601-durations">
+<span id="tutorial-iso8601-durations"></span><h3>ISO8601 Durations<a class="headerlink" href="#iso8601-durations" title="Link to this heading"></a></h3>
+<p>ISO8601 durations are prefixed with a <code class="docutils literal notranslate"><span class="pre">P</span></code> (for “period”) and
+special characters following each unit:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">Y</span></code> for year.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">M</span></code> for month.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">D</span></code> for day.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">W</span></code> for week.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">H</span></code> for hour.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">M</span></code> for minute.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">S</span></code> for second.</p></li>
+</ul>
+<p>As for datetimes, duration components are written in order from largest to
+smallest, and the date and time components are separated by a <code class="docutils literal notranslate"><span class="pre">T</span></code>:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">P1D</span></code>: one day.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">PT1H</span></code>: one hour.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">P1DT1H</span></code>: one day and one hour.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">PT1H30M</span></code>: one and a half hours.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">P1Y1M1DT1H1M1S</span></code>: a year and a month and a day and an hour and a
+minute and a second.</p></li>
+</ul>
+</section>
+</section>
+<section id="datetime-recurrences">
+<h2>Datetime Recurrences<a class="headerlink" href="#datetime-recurrences" title="Link to this heading"></a></h2>
+<p>In <a class="reference internal" href="../../glossary.html#term-integer-cycling"><span class="xref std std-term">integer cycling</span></a>, workflows, recurrences are written <code class="docutils literal notranslate"><span class="pre">P1</span></code>, <code class="docutils literal notranslate"><span class="pre">P2</span></code>,
+etc.</p>
+<p>In <a class="reference internal" href="../../glossary.html#term-datetime-cycling"><span class="xref std std-term">datetime cycling</span></a> workflows, there are two ways to
+write recurrences:</p>
+<ol class="arabic simple">
+<li><p>Using ISO8601 durations (e.g. <code class="docutils literal notranslate"><span class="pre">P1D</span></code>, <code class="docutils literal notranslate"><span class="pre">PT1H</span></code>).</p></li>
+<li><p>Using ISO8601 datetimes with inferred recurrence.</p></li>
+</ol>
+<section id="inferred-recurrence">
+<span id="tutorial-inferred-recurrence"></span><h3>Inferred Recurrence<a class="headerlink" href="#inferred-recurrence" title="Link to this heading"></a></h3>
+<p>Recurrence can be inferred from a datetime by omitting  components from the
+front. For example, if the year is omitted then the recurrence can be
+inferred to be annual. E.g.:</p>
+<table class="docutils align-left">
+<colgroup>
+<col style="width: 30.0%" />
+<col style="width: 70.0%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>Recurrence</p></th>
+<th class="head"><p>Description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">2000-01-01T00</span></code></p></td>
+<td><p>Midnight on the 1st of January 2000</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">01-01T00</span></code></p></td>
+<td><p>Every year on the 1st of January</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">01T00</span></code></p></td>
+<td><p>Every month on the first of the month</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">T00</span></code></p></td>
+<td><p>Every day at midnight</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">T-00</span></code></p></td>
+<td><p>Every hour at zero minutes past (i.e. every hour on the hour)</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>To omit hours from a date time, place a <code class="docutils literal notranslate"><span class="pre">-</span></code> after the <code class="docutils literal notranslate"><span class="pre">T</span></code> character.</p>
+</div>
+</section>
+<section id="recurrence-formats">
+<h3>Recurrence Formats<a class="headerlink" href="#recurrence-formats" title="Link to this heading"></a></h3>
+<p>As with integer cycling, recurrences start at the <a class="reference internal" href="../../glossary.html#term-initial-cycle-point"><span class="xref std std-term">initial cycle
+point</span></a> by default. We can override this in two ways:</p>
+<p class="rubric">By giving an arbitrary start cycle point (<code class="docutils literal notranslate"><span class="pre">datetime/recurrence</span></code>):</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">2000/P4Y</span></code></dt><dd><p>Every fourth year, starting with the year 2000.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">2000-01-01T00/P1D</span></code></dt><dd><p>Every day at midnight, starting on the 1st of January 2000.</p>
+</dd>
+</dl>
+<p class="rubric" id="tutorial-cylc-datetime-offset-icp">By offset, relative to the initial cycle point (<code class="docutils literal notranslate"><span class="pre">offset/recurrence</span></code>).</p>
+<p>The offset must be an ISO8601 duration preceded by a plus character:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">+PT1H/PT1H</span></code></dt><dd><p>Every hour starting one hour after the initial cycle point.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">+P1Y/P1Y</span></code></dt><dd><p>Every year starting one year after the initial cycle point.</p>
+</dd>
+</dl>
+</section>
+<section id="durations-and-the-initial-cycle-point">
+<h3>Durations and the Initial Cycle Point<a class="headerlink" href="#durations-and-the-initial-cycle-point" title="Link to this heading"></a></h3>
+<p>When using durations, beware that a change in the initial cycle point
+might produce different results for the recurrences.</p>
+<table class="grid-table docutils align-default" style="width: 50%">
+<tbody>
+<tr class="row-odd"><td><div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> \</span>
+<span class="hll"><span class="s">        2000-01-01T00</span>
+</span>    <span class="nt">[[graph]]</span>
+        <span class="nv">P1D = foo[-P1D] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">foo</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> \</span>
+<span class="hll"><span class="s">        2000-01-01T12</span>
+</span>    <span class="nt">[[graph]]</span>
+        <span class="nv">P1D = foo[-P1D] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">foo</span>
+</pre></div>
+</div>
+</td>
+</tr>
+<tr class="row-even"><td><div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-a02e167fd91d9a135d2030f0136dc13a230eb00f.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Example {
+size = &quot;3,3&quot;
+
+&quot;1/foo&quot; [label=&quot;foo\n2000-01-01T00&quot;]
+&quot;2/foo&quot; [label=&quot;foo\n2000-01-02T00&quot;]
+&quot;3/foo&quot; [label=&quot;foo\n2000-01-03T00&quot;]
+
+&quot;1/foo&quot; -&gt; &quot;2/foo&quot; -&gt; &quot;3/foo&quot;
+}</p></object></div>
+</div>
+</td>
+<td><div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-6437cd2c62395d4695c4220027574b1021f6efbb.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Example {
+size = &quot;3,3&quot;
+
+&quot;1/foo&quot; [label=&quot;foo\n2000-01-01T12&quot;]
+&quot;2/foo&quot; [label=&quot;foo\n2000-01-02T12&quot;]
+&quot;3/foo&quot; [label=&quot;foo\n2000-01-03T12&quot;]
+
+&quot;1/foo&quot; -&gt; &quot;2/foo&quot; -&gt; &quot;3/foo&quot;
+}</p></object></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+<p>We could write the recurrence “every midnight” independent of the initial
+cycle point by:</p>
+<ul class="simple">
+<li><p>Using an <a class="reference internal" href="#inferred-recurrence">inferred recurrence</a> instead (i.e. <code class="docutils literal notranslate"><span class="pre">T00</span></code>).</p></li>
+<li><p>Overriding the recurrence start point (i.e. <code class="docutils literal notranslate"><span class="pre">T00/P1D</span></code>)</p></li>
+<li><p>Using <code class="docutils literal notranslate"><span class="pre">[scheduling]initial</span> <span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">constraints</span></code> to
+constrain the initial cycle point (e.g. to a particular time of day). See
+the <a class="reference external" href="https://cylc.github.io/cylc-doc/latest/html/index.html">Cylc User Guide</a> for details.</p></li>
+</ul>
+</section>
+<section id="the-initial-and-final-cycle-points">
+<h3>The Initial and Final Cycle Points<a class="headerlink" href="#the-initial-and-final-cycle-points" title="Link to this heading"></a></h3>
+<p>There are two special recurrences for the initial and final cycle points:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">R1</span></code>: run once at the initial cycle point.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">R1/P0Y</span></code>: run once at the final cycle point.</p></li>
+</ul>
+</section>
+<section id="intercycle-dependencies">
+<h3>Intercycle Dependencies<a class="headerlink" href="#intercycle-dependencies" title="Link to this heading"></a></h3>
+<p>Intercycle dependencies are written as ISO8601 durations, e.g:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">foo[-P1D]</span></code>: the task <code class="docutils literal notranslate"><span class="pre">foo</span></code> from the cycle one day before.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">bar[-PT1H30M]</span></code>: the task <code class="docutils literal notranslate"><span class="pre">bar</span></code> from the cycle 1 hour 30 minutes before.</p></li>
+</ul>
+<p>The initial cycle point can be referenced using a caret character <code class="docutils literal notranslate"><span class="pre">^</span></code>, e.g:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">baz[^]</span></code>: the task <code class="docutils literal notranslate"><span class="pre">baz</span></code> from the initial cycle point.</p></li>
+</ul>
+</section>
+</section>
+<section id="utc-mode">
+<span id="tutorial-cylc-datetime-utc"></span><h2>UTC Mode<a class="headerlink" href="#utc-mode" title="Link to this heading"></a></h2>
+<p>Cylc can generate datetime cycle points in any time zone, but “daylight saving”
+boundaries can cause problems so we typically use UTC, i.e. the <code class="docutils literal notranslate"><span class="pre">+00</span></code> time
+zone:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">UTC mode </span><span class="o">=</span><span class="s"> True</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>UTC is sometimes also labelled <code class="docutils literal notranslate"><span class="pre">Z</span></code> (“Zulu” from the NATO phonetic alphabet)
+according to the
+<a class="reference external" href="https://en.wikipedia.org/wiki/List_of_military_time_zones">military time zone convention</a>.</p>
+</div>
+</section>
+<section id="putting-it-all-together">
+<span id="tutorial-datetime-cycling-practical"></span><h2>Putting It All Together<a class="headerlink" href="#putting-it-all-together" title="Link to this heading"></a></h2>
+<p>Cylc was originally developed for running operational weather forecasting. In
+this section we will outline how to implement a basic weather-forecasting workflow.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Technically this example is a <a class="reference external" href="https://en.wikipedia.org/wiki/Nowcasting_(meteorology)">nowcasting</a> workflow,
+but the distinction doesn’t matter here.</p>
+</div>
+<p>A basic weather forecasting workflow has three main steps:</p>
+<section id="gathering-observations">
+<h3>1. Gathering Observations<a class="headerlink" href="#gathering-observations" title="Link to this heading"></a></h3>
+<p>We gather observations from different weather stations to build a picture of
+the current weather. Our dummy weather forecast will get wind observations
+from four weather stations:</p>
+<ul class="simple">
+<li><p>Aldergrove (Near Belfast in NW of the UK)</p></li>
+<li><p>Camborne (In Cornwall, the far SW of England)</p></li>
+<li><p>Heathrow (Near London in the SE)</p></li>
+<li><p>Shetland (The northernmost part of the UK)</p></li>
+</ul>
+<p>The tasks that retrieve observation data will be called
+<code class="docutils literal notranslate"><span class="pre">get_observations_&lt;site&gt;</span></code> where <code class="docutils literal notranslate"><span class="pre">site</span></code> is the name of the weather
+station.</p>
+<p>Next we need to consolidate the observations so that our forecasting
+system can work with them. To do this we have a
+<code class="docutils literal notranslate"><span class="pre">consolidate_observations</span></code> task.</p>
+<p>We will fetch wind observations <strong>every three hours, starting from the
+initial cycle point</strong>.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">consolidate_observations</span></code> task must run after the
+<code class="docutils literal notranslate"><span class="pre">get_observations&lt;site&gt;</span></code> tasks.</p>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-5bcc0ec6c89032b0219d6542b92a01a9ebb98158.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph example {
+size = &quot;7,4&quot;
+
+get_observations_aldergrove -&gt; consolidate_observations
+get_observations_camborne -&gt; consolidate_observations
+get_observations_heathrow -&gt; consolidate_observations
+get_observations_shetland -&gt; consolidate_observations
+
+hidden [style=&quot;invis&quot;]
+get_observations_aldergrove -&gt; hidden [style=&quot;invis&quot;]
+get_observations_camborne -&gt; hidden [style=&quot;invis&quot;]
+hidden -&gt; consolidate_observations [style=&quot;invis&quot;]
+}</p></object></div>
+</div>
+<p>We will also use the UK radar network to get rainfall data with a task
+called <code class="docutils literal notranslate"><span class="pre">get_rainfall</span></code>.</p>
+<p>We will fetch rainfall data <em>every six hours, from six hours after the
+initial cycle point</em>.</p>
+</section>
+<section id="running-computer-models-to-generate-forecast-data">
+<h3>2. Running Computer Models to Generate Forecast Data<a class="headerlink" href="#running-computer-models-to-generate-forecast-data" title="Link to this heading"></a></h3>
+<p>We will do this with a task called <code class="docutils literal notranslate"><span class="pre">forecast</span></code> that runs
+<em>every six hours, from six hours after the initial cycle point</em>.
+The <code class="docutils literal notranslate"><span class="pre">forecast</span></code> task will depend on:</p>
+<ul class="simple">
+<li><p>The <code class="docutils literal notranslate"><span class="pre">consolidate_observations</span></code> task from the previous two cycles and
+the present cycle.</p></li>
+<li><p>The <code class="docutils literal notranslate"><span class="pre">get_rainfall</span></code> task from the present cycle.</p></li>
+</ul>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-fd21ff6d92366e729e6e7bc9abd416eee88993a1.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph example {
+size = &quot;7,4&quot;
+
+subgraph cluster_T00 {
+    label=&quot;+PT0H&quot;
+    style=&quot;dashed&quot;
+    &quot;observations.t00&quot; [label=&quot;consolidate observations\n+PT0H&quot;]
+}
+
+subgraph cluster_T03 {
+    label=&quot;+PT3H&quot;
+    style=&quot;dashed&quot;
+    &quot;observations.t03&quot; [label=&quot;consolidate observations\n+PT3H&quot;]
+}
+
+subgraph cluster_T06 {
+    label=&quot;+PT6H&quot;
+    style=&quot;dashed&quot;
+    &quot;forecast.t06&quot; [label=&quot;forecast\n+PT6H&quot;]
+    &quot;get_rainfall.t06&quot; [label=&quot;get_rainfall\n+PT6H&quot;]
+    &quot;observations.t06&quot; [label=&quot;consolidate observations\n+PT6H&quot;]
+}
+
+&quot;observations.t00&quot; -&gt; &quot;forecast.t06&quot;
+&quot;observations.t03&quot; -&gt; &quot;forecast.t06&quot;
+&quot;observations.t06&quot; -&gt; &quot;forecast.t06&quot;
+&quot;get_rainfall.t06&quot; -&gt; &quot;forecast.t06&quot;
+}</p></object></div>
+</div>
+</section>
+<section id="processing-the-data-output-to-produce-user-friendly-forecasts">
+<h3>3. Processing the data output to produce user-friendly forecasts<a class="headerlink" href="#processing-the-data-output-to-produce-user-friendly-forecasts" title="Link to this heading"></a></h3>
+<p>This will be done with a task called <code class="docutils literal notranslate"><span class="pre">post_process_&lt;location&gt;</span></code> where
+<code class="docutils literal notranslate"><span class="pre">location</span></code> is the place we want to generate the forecast for. For
+the moment we will use Exeter.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">post_process_exeter</span></code> task will run <em>every six hours starting six
+hours after the initial cycle point</em> and will be dependent on the
+<code class="docutils literal notranslate"><span class="pre">forecast</span></code> task.</p>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-f6aacb832331612a9543a5f40d8dc8da04c9400d.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph example {
+size = &quot;2.5,2&quot;
+
+&quot;forecast&quot; -&gt; &quot;post_process_exeter&quot;
+}</p></object></div>
+</div>
+<div class="note admonition" id="datetime-cycling-practical">
+<p class="admonition-title">Practical</p>
+<p class="rubric">In this practical we will create a dummy forecasting workflow
+using datetime cycling.</p>
+<ol class="arabic">
+<li><p><strong>Create A New Workflow.</strong></p>
+<p>Create a new source directory <code class="docutils literal notranslate"><span class="pre">datetime-cycling</span></code> under <code class="docutils literal notranslate"><span class="pre">~/cylc-src</span></code>,
+and move into it:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>mkdir<span class="w"> </span>~/cylc-src/datetime-cycling
+<span class="nb">cd</span><span class="w"> </span>~/cylc-src/datetime-cycling
+</pre></div>
+</div>
+<p>Create a <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file and paste the following code into it:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">UTC mode </span><span class="o">=</span><span class="s"> True</span>
+    <span class="nv">allow implicit tasks </span><span class="o">=</span><span class="s"> True</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 20000101T00Z</span>
+    <span class="nt">[[graph]]</span>
+</pre></div>
+</div>
+</li>
+<li><p><strong>Add The Recurrences.</strong></p>
+<p>The weather-forecasting workflow will require two
+recurrences. Add these under the <code class="docutils literal notranslate"><span class="pre">graph</span></code> section
+based on the information given above.</p>
+<div class="admonition hint">
+<p class="admonition-title">Hint</p>
+<p>See <a class="reference internal" href="#tutorial-cylc-datetime-offset-icp"><span class="std std-ref">Datetime Recurrences</span></a>.</p>
+</div>
+<div class="spoiler warning admonition">
+<p class="admonition-title">Solution</p>
+<p>The two recurrences you need are</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">PT3H</span></code>: repeat every three hours starting from the initial cycle
+point.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">+PT6H/PT6H</span></code>: repeat every six hours starting six hours after the
+initial cycle point.</p></li>
+</ul>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="w"> </span>[scheduler]
+<span class="w"> </span>    UTC mode = True
+<span class="w"> </span>    allow implicit tasks = True
+<span class="w"> </span>[scheduling]
+<span class="w"> </span>    initial cycle point = 20000101T00Z
+<span class="w"> </span>    [[graph]]
+<span class="gi">+        PT3H =</span>
+<span class="gi">+        +PT6H/PT6H =</span>
+</pre></div>
+</div>
+</div>
+</li>
+<li><p><strong>Write The Graph.</strong></p>
+<p>With the help of the the information above add the tasks and dependencies to
+to implement the weather-forecasting workflow.</p>
+<p>You will need to consider the intercycle dependencies between tasks as well.</p>
+<p>Use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code> to inspect your work.</p>
+<div class="spoiler hint admonition">
+<p class="admonition-title">Hint</p>
+<p>The dependencies you will need to formulate are as follows:</p>
+<ul class="simple">
+<li><p>The <code class="docutils literal notranslate"><span class="pre">consolidate_observations</span></code> task depends on <code class="docutils literal notranslate"><span class="pre">get_observations_&lt;site&gt;</span></code>.</p></li>
+<li><p>The <code class="docutils literal notranslate"><span class="pre">forecast</span></code> task depends on:</p>
+<ul>
+<li><p>the <code class="docutils literal notranslate"><span class="pre">get_rainfall</span></code> task;</p></li>
+<li><p>the <code class="docutils literal notranslate"><span class="pre">consolidate_observations</span></code> tasks from:</p>
+<ul>
+<li><p>the same cycle;</p></li>
+<li><p>the cycle 3 hours before (<code class="docutils literal notranslate"><span class="pre">-PT3H</span></code>);</p></li>
+<li><p>the cycle 6 hours before (<code class="docutils literal notranslate"><span class="pre">-PT6H</span></code>).</p></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><p>The <code class="docutils literal notranslate"><span class="pre">post_process_exeter</span></code> task depends on the <code class="docutils literal notranslate"><span class="pre">forecast</span></code>
+task.</p></li>
+</ul>
+<p>To visualise your workflow run the command:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>cylc graph <span class="s">&lt;path/to/flow.cylc&gt;</span>
+</pre></div>
+</div>
+</div>
+<div class="spoiler warning admonition">
+<p class="admonition-title">Solution</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">UTC mode </span><span class="o">=</span><span class="s"> True</span>
+    <span class="nv">allow implicit tasks </span><span class="o">=</span><span class="s"> True</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 20000101T00Z</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">PT3H </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">get_observations_aldergrove</span> <span class="o">=&gt;</span> <span class="kd">consolidate_observations</span>
+            <span class="kd">get_observations_camborne</span> <span class="o">=&gt;</span> <span class="kd">consolidate_observations</span>
+            <span class="kd">get_observations_heathrow</span> <span class="o">=&gt;</span> <span class="kd">consolidate_observations</span>
+            <span class="kd">get_observations_shetland</span> <span class="o">=&gt;</span> <span class="kd">consolidate_observations</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+        <span class="nv">+PT6H/PT6H </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">consolidate_observations</span> <span class="o">=&gt;</span> <span class="kd">forecast</span>
+            <span class="kd">consolidate_observations</span>[<span class="nb">-PT3H</span>] <span class="o">=&gt;</span> <span class="kd">forecast</span>
+            <span class="kd">consolidate_observations</span>[<span class="nb">-PT6H</span>] <span class="o">=&gt;</span> <span class="kd">forecast</span>
+            <span class="kd">get_rainfall</span> <span class="o">=&gt;</span> <span class="kd">forecast</span> <span class="o">=&gt;</span> <span class="kd">post_process_exeter</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</div>
+</li>
+<li><p><strong>Intercycle Offsets.</strong></p>
+<p>To ensure the <code class="docutils literal notranslate"><span class="pre">forecast</span></code> tasks run in the right order (one cycle
+after another) they each need to depend on their own previous run:</p>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-9726db191ee25dce5b92484f57f89135b5e17b75.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph example {
+size = &quot;4,1.5&quot;
+rankdir=LR
+
+subgraph cluster_T06 {
+    label=&quot;T06&quot;
+    style=&quot;dashed&quot;
+    &quot;forecast.t06&quot; [label=&quot;forecast\nT06&quot;]
+}
+
+subgraph cluster_T12 {
+    label=&quot;T12&quot;
+    style=&quot;dashed&quot;
+    &quot;forecast.t12&quot; [label=&quot;forecast\nT12&quot;]
+}
+
+subgraph cluster_T18 {
+    label=&quot;T18&quot;
+    style=&quot;dashed&quot;
+    &quot;forecast.t18&quot; [label=&quot;forecast\nT18&quot;]
+}
+
+&quot;forecast.t06&quot; -&gt; &quot;forecast.t12&quot; -&gt; &quot;forecast.t18&quot;
+}</p></object></div>
+</div>
+<p>We can express this dependency as <code class="docutils literal notranslate"><span class="pre">forecast[-PT6H]</span> <span class="pre">=&gt;</span> <span class="pre">forecast</span></code>.</p>
+<p>However, the forecast task runs every six hours
+<em>starting 6 hours after the initial cycle point</em>, so the
+dependency is only valid from 12:00 onwards. To fix the problem we
+must add a new dependency section which repeats every six hours
+<em>starting 12 hours after the initial cycle point</em>:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="w"> </span>          +PT6H/PT6H = &quot;&quot;&quot;
+<span class="w"> </span>              ...
+<span class="gd">-              forecast[-PT6H] =&gt; forecast</span>
+<span class="w"> </span>          &quot;&quot;&quot;
+<span class="gi">+          +PT12H/PT6H = &quot;&quot;&quot;</span>
+<span class="gi">+              forecast[-PT6H] =&gt; forecast</span>
+<span class="gi">+          &quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</li>
+</ol>
+</div>
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="integer-cycling.html" class="btn btn-neutral float-left" title="Basic Cycling" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="further-scheduling.html" class="btn btn-neutral float-right" title="Further Scheduling" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/scheduling/datetime-cycling";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/scheduling/further-scheduling.html b/nightly_8.3/html/tutorial/scheduling/further-scheduling.html
new file mode 100644
index 00000000000..a82b10b98cc
--- /dev/null
+++ b/nightly_8.3/html/tutorial/scheduling/further-scheduling.html
@@ -0,0 +1,249 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Further Scheduling &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Runtime" href="../runtime/index.html" />
+    <link rel="prev" title="Datetime Cycling" href="datetime-cycling.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Scheduling</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="graphing.html">The <code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code> File Format</a></li>
+<li class="toctree-l3"><a class="reference internal" href="integer-cycling.html">Basic Cycling</a></li>
+<li class="toctree-l3"><a class="reference internal" href="datetime-cycling.html">Datetime Cycling</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Further Scheduling</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#qualifiers">Qualifiers</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#clock-triggers">Clock Triggers</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#alternative-calendars">Alternative Calendars</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../runtime/index.html">Runtime</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../furthertopics/index.html">Further Topics</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Tutorial</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Scheduling</a></li>
+      <li class="breadcrumb-item active">Further Scheduling</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/tutorial/scheduling/further-scheduling.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="further-scheduling">
+<span id="tutorial-cylc-further-scheduling"></span><h1>Further Scheduling<a class="headerlink" href="#further-scheduling" title="Link to this heading"></a></h1>
+<div class="aims admonition">
+<p class="admonition-title">Aims</p>
+<div class="line-block">
+<div class="line">You should be aware of some more advanced scheduling features:</div>
+<div class="line">✅ Task state qualifiers.</div>
+<div class="line">✅ Clock triggers.</div>
+<div class="line">✅ Alternative calendars.</div>
+</div>
+</div>
+<section id="qualifiers">
+<span id="tutorial-qualifiers"></span><h2>Qualifiers<a class="headerlink" href="#qualifiers" title="Link to this heading"></a></h2>
+<p>So far we have written dependencies like <code class="docutils literal notranslate"><span class="pre">foo</span> <span class="pre">=&gt;</span> <span class="pre">bar</span></code>. This is, in fact,
+shorthand for <code class="docutils literal notranslate"><span class="pre">foo:succeed</span> <span class="pre">=&gt;</span> <span class="pre">bar</span></code>. It means that the task <code class="docutils literal notranslate"><span class="pre">bar</span></code> will run
+once <code class="docutils literal notranslate"><span class="pre">foo</span></code> has finished successfully. If <code class="docutils literal notranslate"><span class="pre">foo</span></code> were to fail then <code class="docutils literal notranslate"><span class="pre">bar</span></code>
+would not run. We will talk more about these <a class="reference internal" href="../../glossary.html#term-task-state"><span class="xref std std-term">task states</span></a>
+in the <a class="reference internal" href="../runtime/introduction.html#tutorial-tasks-and-jobs"><span class="std std-ref">Runtime Section</span></a>.</p>
+<p>We refer to the <code class="docutils literal notranslate"><span class="pre">:succeed</span></code> descriptor as a <a class="reference internal" href="../../glossary.html#term-qualifier"><span class="xref std std-term">qualifier</span></a>.
+There are qualifiers for different <a class="reference internal" href="../../glossary.html#term-task-state"><span class="xref std std-term">task states</span></a> e.g:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">:start</span></code></dt><dd><p>When the task has started running.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">:fail</span></code></dt><dd><p>When the task finishes if it fails (produces non-zero return code).</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">:finish</span></code></dt><dd><p>When the task has completed (either succeeded or failed).</p>
+</dd>
+</dl>
+<p>It is also possible to create your own <a class="reference internal" href="../../glossary.html#term-qualifier"><span class="xref std std-term">qualifiers</span></a>
+to handle events within your code (custom outputs).</p>
+<p><em>For more information see the</em> <a class="reference external" href="https://cylc.github.io/cylc-doc/latest/html/index.html">Cylc User Guide</a>.</p>
+</section>
+<section id="clock-triggers">
+<span id="tutorial-clock-triggers"></span><h2>Clock Triggers<a class="headerlink" href="#clock-triggers" title="Link to this heading"></a></h2>
+<p>In Cylc, <a class="reference internal" href="../../glossary.html#term-cycle-point"><span class="xref std std-term">cycle points</span></a> are just task labels. Tasks are
+triggered when their dependencies are met, regardless of cycle point.
+But <em>clock triggers</em> can be used to force tasks to wait for a particular
+real time, relative to their cycle point, before running.
+This is necessary for certain operational and monitoring systems, e.g. for
+tasks that process real-time data.</p>
+<p>For example in the following workflow the cycle <code class="docutils literal notranslate"><span class="pre">2000-01-01T12Z</span></code> will wait
+until 11:00 on the 1st of January 2000 before running:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2000-01-01T00Z</span>
+    <span class="nt">[[xtriggers]]</span>
+        <span class="nv">PT1H_trigger </span><span class="o">=</span><span class="s"> wall_clock(offset=-PT1H):PT30S</span>
+    <span class="nt">[[graph]]</span>
+        <span class="c1"># &quot;daily&quot; will run, at the earliest, one hour before midday.</span>
+        <span class="nv">T12 = @PT1H_trigger </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">daily</span>
+</pre></div>
+</div>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>See the <a class="reference internal" href="../furthertopics/clock-triggered-tasks.html#tutorial-cylc-clock-trigger"><span class="std std-ref">Clock Triggered Tasks</span></a> tutorial for more information.</p>
+</div>
+</section>
+<section id="alternative-calendars">
+<h2>Alternative Calendars<a class="headerlink" href="#alternative-calendars" title="Link to this heading"></a></h2>
+<p>By default Cylc uses the Gregorian calendar for <a class="reference internal" href="../../glossary.html#term-datetime-cycling"><span class="xref std std-term">datetime cycling</span></a>,
+but it also supports:</p>
+<ul class="simple">
+<li><p>Integer cycling.</p></li>
+<li><p>360-day calendar (12 months of 30 days each in a year).</p></li>
+<li><p>365-day calendar (never a leap year).</p></li>
+<li><p>366-day calendar (always a leap year).</p></li>
+</ul>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">cycling mode </span><span class="o">=</span><span class="s"> 360day</span>
+</pre></div>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduling]cycling mode" title="flow.cylc[scheduling]cycling mode"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling]cycling</span> <span class="pre">mode</span></code></a></p>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="datetime-cycling.html" class="btn btn-neutral float-left" title="Datetime Cycling" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../runtime/index.html" class="btn btn-neutral float-right" title="Runtime" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/scheduling/further-scheduling";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/scheduling/graphing.html b/nightly_8.3/html/tutorial/scheduling/graphing.html
new file mode 100644
index 00000000000..f4788fa6824
--- /dev/null
+++ b/nightly_8.3/html/tutorial/scheduling/graphing.html
@@ -0,0 +1,542 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>The flow.cylc File Format &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Basic Cycling" href="integer-cycling.html" />
+    <link rel="prev" title="Scheduling" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Scheduling</a><ul class="current">
+<li class="toctree-l3 current"><a class="current reference internal" href="#">The <code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code> File Format</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#example">Example</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#shorthand">Shorthand</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#duplicate-items">Duplicate Items</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#indentation">Indentation</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#the-dependency-graph">The Dependency Graph</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="integer-cycling.html">Basic Cycling</a></li>
+<li class="toctree-l3"><a class="reference internal" href="datetime-cycling.html">Datetime Cycling</a></li>
+<li class="toctree-l3"><a class="reference internal" href="further-scheduling.html">Further Scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../runtime/index.html">Runtime</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../furthertopics/index.html">Further Topics</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Tutorial</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Scheduling</a></li>
+      <li class="breadcrumb-item active">The <code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code> File Format</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/tutorial/scheduling/graphing.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="the-flow-cylc-file-format">
+<span id="cylc-file-format"></span><h1>The <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> File Format<a class="headerlink" href="#the-flow-cylc-file-format" title="Link to this heading"></a></h1>
+<div class="aims admonition">
+<p class="admonition-title">Aims</p>
+<div class="line-block">
+<div class="line">You will be able to:</div>
+<div class="line">✅ Recognise the <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> file format.</div>
+<div class="line">✅ Write simple chains of dependencies.</div>
+</div>
+</div>
+<p>A <a class="reference internal" href="../../glossary.html#term-cylc-workflow"><span class="xref std std-term">Cylc workflow</span></a> is defined by a <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> configuration
+file, which uses a nested <a class="reference external" href="https://en.wikipedia.org/wiki/INI_file">INI</a> format:</p>
+<ul class="simple">
+<li><p>Comments start with a <code class="docutils literal notranslate"><span class="pre">#</span></code> character.</p></li>
+<li><p>Settings are written as <code class="docutils literal notranslate"><span class="pre">key</span> <span class="pre">=</span> <span class="pre">value</span></code> pairs.</p></li>
+<li><p>Settings can be contained within sections.</p></li>
+<li><p>Sections are written inside square brackets i.e. <code class="docutils literal notranslate"><span class="pre">[section-name]</span></code>.</p></li>
+<li><p>Sections can be nested, by adding an extra square bracket with each level,
+so a sub-section would be written <code class="docutils literal notranslate"><span class="pre">[[sub-section]]</span></code>, a sub-sub-section
+<code class="docutils literal notranslate"><span class="pre">[[[sub-sub-section]]]</span></code>, and so on.</p></li>
+</ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Prior to Cylc 8, <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> was named <code class="docutils literal notranslate"><span class="pre">suite.rc</span></code>,
+but that name is now deprecated.</p>
+<p>See <a class="reference internal" href="../../7-to-8/major-changes/compatibility-mode.html#cylc-7-compat-mode"><span class="std std-ref">Cylc 7 Compatibility Mode</span></a> for information on compatibility with
+existing Cylc 7 <code class="docutils literal notranslate"><span class="pre">suite.rc</span></code> files.</p>
+</div>
+<section id="example">
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># Comment</span>
+<span class="nt">[section]</span>
+    <span class="nv">key </span><span class="o">=</span><span class="s"> value</span>
+    <span class="nt">[[sub-section]]</span>
+        <span class="nv">another-key </span><span class="o">=</span><span class="s"> another-value</span>  <span class="c1"># Inline comment</span>
+        <span class="nv">yet-another-key </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            A</span>
+<span class="s2">            Multi-line</span>
+<span class="s2">            String</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</section>
+<section id="shorthand">
+<h2>Shorthand<a class="headerlink" href="#shorthand" title="Link to this heading"></a></h2>
+<p>We often use a compact single-line notation to refer to nested config items:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">[section]</span></code></dt><dd><p>An entire section.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">[section]setting</span></code></dt><dd><p>A setting within a section.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">[section]setting=value</span></code></dt><dd><p>The value of a setting within a section.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">[section][sub-section]another-setting</span></code></dt><dd><p>A setting within a sub-section.</p>
+</dd>
+</dl>
+<p>In the file, however, section headings need additional brackets at each level.</p>
+</section>
+<section id="duplicate-items">
+<h2>Duplicate Items<a class="headerlink" href="#duplicate-items" title="Link to this heading"></a></h2>
+<p>Duplicate sections get merged:</p>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td><div class="literal-block-wrapper docutils container" id="id1">
+<div class="code-block-caption"><span class="caption-text">input</span><a class="headerlink" href="#id1" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[a]</span>
+   <span class="nv">c </span><span class="o">=</span><span class="s"> C</span>
+<span class="nt">[b]</span>
+   <span class="nv">d </span><span class="o">=</span><span class="s"> D</span>
+<span class="nt">[a]</span>  <span class="c1"># duplicate</span>
+   <span class="nv">e </span><span class="o">=</span><span class="s"> E</span>
+</pre></div>
+</div>
+</div>
+</td>
+<td><div class="literal-block-wrapper docutils container" id="id2">
+<div class="code-block-caption"><span class="caption-text">result</span><a class="headerlink" href="#id2" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[a]</span>
+   <span class="nv">c </span><span class="o">=</span><span class="s"> C</span>
+   <span class="nv">e </span><span class="o">=</span><span class="s"> E</span>
+<span class="nt">[b]</span>
+   <span class="nv">d </span><span class="o">=</span><span class="s"> D</span>
+</pre></div>
+</div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+<p>Duplicate settings get overwritten:</p>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td><div class="literal-block-wrapper docutils container" id="id3">
+<div class="code-block-caption"><span class="caption-text">input</span><a class="headerlink" href="#id3" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">a </span><span class="o">=</span><span class="s"> foo</span>
+<span class="nv">a </span><span class="o">=</span><span class="s"> bar</span>  <span class="c1"># duplicate</span>
+</pre></div>
+</div>
+</div>
+</td>
+<td><div class="literal-block-wrapper docutils container" id="id4">
+<div class="code-block-caption"><span class="caption-text">result</span><a class="headerlink" href="#id4" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">a </span><span class="o">=</span><span class="s"> bar</span>
+</pre></div>
+</div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+<p>Except for duplicate graph string items, which get merged:</p>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td><div class="literal-block-wrapper docutils container" id="id5">
+<div class="code-block-caption"><span class="caption-text">input</span><a class="headerlink" href="#id5" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;foo =&gt; bar&quot;</span>
+<span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;foo =&gt; baz&quot;</span>
+</pre></div>
+</div>
+</div>
+</td>
+<td><div class="literal-block-wrapper docutils container" id="id6">
+<div class="code-block-caption"><span class="caption-text">result</span><a class="headerlink" href="#id6" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;foo =&gt; bar &amp; baz&quot;</span>
+</pre></div>
+</div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="indentation">
+<h2>Indentation<a class="headerlink" href="#indentation" title="Link to this heading"></a></h2>
+<p>It is a good idea to indent <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> files for readability.</p>
+<p>However, Cylc ignores indentation, so the following examples are equivalent:</p>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td><div class="literal-block-wrapper docutils container" id="id7">
+<div class="code-block-caption"><span class="caption-text">input</span><a class="headerlink" href="#id7" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[section]</span>
+    <span class="nv">a </span><span class="o">=</span><span class="s"> A</span>
+    <span class="nt">[[sub-section]]</span>
+        <span class="nv">b </span><span class="o">=</span><span class="s"> B</span>
+    <span class="nv">b </span><span class="o">=</span><span class="s"> C</span>
+    <span class="c1"># this setting is still</span>
+    <span class="c1"># in [[sub-section]]</span>
+</pre></div>
+</div>
+</div>
+</td>
+<td><div class="literal-block-wrapper docutils container" id="id8">
+<div class="code-block-caption"><span class="caption-text">result</span><a class="headerlink" href="#id8" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[section]</span>
+    <span class="nv">a </span><span class="o">=</span><span class="s"> A</span>
+    <span class="nt">[[sub-section]]</span>
+        <span class="nv">b </span><span class="o">=</span><span class="s"> C</span>
+</pre></div>
+</div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="the-dependency-graph">
+<span id="tutorial-cylc-graphing"></span><h2>The Dependency Graph<a class="headerlink" href="#the-dependency-graph" title="Link to this heading"></a></h2>
+<section id="graph-strings">
+<h3>Graph Strings<a class="headerlink" href="#graph-strings" title="Link to this heading"></a></h3>
+<p>Cylc workflows are defined in terms of <a class="reference internal" href="../../glossary.html#term-task"><span class="xref std std-term">tasks</span></a> and
+<a class="reference internal" href="../../glossary.html#term-dependency"><span class="xref std std-term">dependencies</span></a>.</p>
+<p>Task have names, and dependencies are represented by arrows
+(<code class="docutils literal notranslate"><span class="pre">=&gt;</span></code>) between them. For example, here’s a task <code class="docutils literal notranslate"><span class="pre">make_dough</span></code> that should
+run after another task <code class="docutils literal notranslate"><span class="pre">buy_ingredients</span></code> has succeeded:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">buy_ingredients</span> <span class="o">=&gt;</span> <span class="kd">make_dough</span>
+</pre></div>
+</div>
+<div class="minicylc" style="text-align: center;" data-dependencies="buy_ingredients => make_dough" data-theme="demo" ><div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-ef2dddb2d1e236bd5f1ad509bb4a2ff37c434c50.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Mini_Cylc {
+buy_ingredients -&gt; make_dough
+make_dough
+}</p></object></div>
+</div>
+</div><p>These <a class="reference internal" href="../../glossary.html#term-dependency"><span class="xref std std-term">dependencies</span></a> can be chained together in
+<a class="reference internal" href="../../glossary.html#term-graph-string"><span class="xref std std-term">graph strings</span></a>:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">buy_ingredients</span> <span class="o">=&gt;</span> <span class="kd">make_dough</span> <span class="o">=&gt;</span> <span class="kd">bake_bread</span> <span class="o">=&gt;</span> <span class="kd">sell_bread</span>
+</pre></div>
+</div>
+<div class="minicylc" style="text-align: center;" data-dependencies="buy_ingredients => make_dough => bake_bread => sell_bread" data-theme="demo" ><div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-332bf30dd2cc29606af50d672fc7cc6cfd261b6c.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Mini_Cylc {
+buy_ingredients -&gt; make_dough
+sell_bread
+make_dough -&gt; bake_bread
+bake_bread -&gt; sell_bread
+}</p></object></div>
+</div>
+</div><p>Graph strings can be combined to form more complex graphs:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">buy_ingredients</span> <span class="o">=&gt;</span> <span class="kd">make_dough</span> <span class="o">=&gt;</span> <span class="kd">bake_bread</span> <span class="o">=&gt;</span> <span class="kd">sell_bread</span>
+<span class="kd">pre_heat_oven</span> <span class="o">=&gt;</span> <span class="kd">bake_bread</span>
+<span class="kd">bake_bread</span> <span class="o">=&gt;</span> <span class="kd">clean_oven</span>
+</pre></div>
+</div>
+<div class="minicylc" style="text-align: center;" data-dependencies="buy_ingredients => make_dough => bake_bread => sell_bread//pre_heat_oven => bake_bread//bake_bread => clean_oven" data-theme="demo" ><div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-bc0de543ed60720973573bca7beb8d5bcdc4001c.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Mini_Cylc {
+make_dough -&gt; bake_bread
+bake_bread
+sell_bread
+bake_bread -&gt; clean_oven
+bake_bread -&gt; sell_bread
+clean_oven
+buy_ingredients -&gt; make_dough
+pre_heat_oven -&gt; bake_bread
+}</p></object></div>
+</div>
+</div><p>Graphs can also contain logical operators <code class="docutils literal notranslate"><span class="pre">&amp;</span></code> (<em>and</em>) and <code class="docutils literal notranslate"><span class="pre">|</span></code> (<em>or</em>).
+For example, the following lines are equivalent to those just above:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">buy_ingredients</span> <span class="o">=&gt;</span> <span class="kd">make_dough</span>
+<span class="kd">pre_heat_oven</span> <span class="o">&amp;</span> <span class="kd">make_dough</span> <span class="o">=&gt;</span> <span class="kd">bake_bread</span> <span class="o">=&gt;</span> <span class="kd">sell_bread</span> <span class="o">&amp;</span> <span class="kd">clean_oven</span>
+</pre></div>
+</div>
+<p>Collectively, all the graph strings make up the workflow dependency <a class="reference internal" href="../../glossary.html#term-graph"><span class="xref std std-term">graph</span></a>.</p>
+<div class="tip admonition">
+<p class="admonition-title">Note</p>
+<p>The order of lines in the graph doesn’t matter, so
+the following examples are equivalent:</p>
+<table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td><div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+<span class="kd">bar</span> <span class="o">=&gt;</span> <span class="kd">baz</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">bar</span> <span class="o">=&gt;</span> <span class="kd">baz</span>
+<span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+</pre></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</section>
+<section id="cylc-graphs">
+<h3>Cylc Graphs<a class="headerlink" href="#cylc-graphs" title="Link to this heading"></a></h3>
+<p>A <em>non-cycling</em> <a class="reference internal" href="../../glossary.html#term-graph"><span class="xref std std-term">graph</span></a> can be defined with <code class="docutils literal notranslate"><span class="pre">[scheduling][graph]R1</span></code>,
+where <code class="docutils literal notranslate"><span class="pre">R1</span></code> means <em>run once</em>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">buy_ingredients</span> <span class="o">=&gt;</span> <span class="kd">make_dough</span>
+            <span class="kd">pre_heat_oven</span> <span class="o">&amp;</span> <span class="kd">make_dough</span> <span class="o">=&gt;</span> <span class="kd">bake_bread</span>
+            <span class="kd">bake_bread</span> <span class="o">=&gt;</span> <span class="kd">sell_bread</span> <span class="o">&amp;</span> <span class="kd">clean_oven</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>This is a minimal <a class="reference internal" href="../../glossary.html#term-cylc-workflow"><span class="xref std std-term">Cylc workflow</span></a> that defines a <a class="reference internal" href="../../glossary.html#term-graph"><span class="xref std std-term">graph</span></a> of
+tasks to run, but does not yet say what scripts or applications to run
+for each task. We will cover that later in the <a class="reference internal" href="../runtime/index.html#tutorial-runtime"><span class="std std-ref">runtime tutorial</span></a>.</p>
+<p>Cylc provides a command line utility
+for visualising <a class="reference internal" href="../../glossary.html#term-graph"><span class="xref std std-term">graphs</span></a>, <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span> <span class="pre">&lt;path&gt;</span></code>, where
+<code class="docutils literal notranslate"><span class="pre">path</span></code> is the location of the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file.
+It generates diagrams similar to the ones you have seen so far. The number
+<code class="docutils literal notranslate"><span class="pre">1</span></code> below each task is the <a class="reference internal" href="../../glossary.html#term-cycle-point"><span class="xref std std-term">cycle point</span></a>. We will explain what this
+means in the next section.</p>
+<img alt="../../_images/cylc-graph.png" class="align-center" src="../../_images/cylc-graph.png" />
+<div class="admonition hint">
+<p class="admonition-title">Hint</p>
+<p>A graph can be drawn in multiple ways, for instance the following two
+examples are equivalent:</p>
+<img alt="../../_images/cylc-graph-reversible.svg" class="align-center" src="../../_images/cylc-graph-reversible.svg" /><p>Graphs drawn by <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code> may vary slightly from one run to
+another, but the tasks and dependencies will always be the same.</p>
+</div>
+<div class="note admonition">
+<p class="admonition-title">Practical</p>
+<p class="rubric">In this practical we will create a new Cylc workflow and write a
+graph of tasks for it to run.</p>
+<ol class="arabic">
+<li><p><strong>Create a Cylc workflow.</strong></p>
+<p>A <a class="reference internal" href="../../glossary.html#term-cylc-workflow"><span class="xref std std-term">Cylc workflow</span></a> is defined by a <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file.</p>
+<p>If you don’t have one already, create a <code class="docutils literal notranslate"><span class="pre">cylc-src</span></code> directory in your
+user space:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">mkdir</span> <span class="o">~/</span><span class="n">cylc</span><span class="o">-</span><span class="n">src</span>
+</pre></div>
+</div>
+<p>Now create a new workflow <a class="reference internal" href="../../glossary.html#term-source-directory"><span class="xref std std-term">source directory</span></a> called
+<code class="docutils literal notranslate"><span class="pre">graph-introduction</span></code> under <code class="docutils literal notranslate"><span class="pre">cylc-src</span></code> and move into it:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>mkdir<span class="w"> </span>~/cylc-src/graph-introduction
+<span class="nb">cd</span><span class="w"> </span>~/cylc-src/graph-introduction
+</pre></div>
+</div>
+<p>In your new source directory create a <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a>
+file and paste the following text into it:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">allow implicit tasks </span><span class="o">=</span><span class="s"> True</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="c1"># Write graph strings here!</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</li>
+<li><p><strong>Write a graph.</strong></p>
+<p>We now have a blank Cylc workflow. Next we need to define a graph.</p>
+<p>Edit your <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file to add graph strings representing the
+following graph:</p>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-d5181c18b29b889a1db79d16a30c45bed288b3d9.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph graph_tutorial {
+a -&gt; b -&gt; d -&gt; e
+c -&gt; b -&gt; f
+}</p></object></div>
+</div>
+</li>
+<li><p><strong>Visualise the workflow.</strong></p>
+<p>Once you have written some graph strings try using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code> to
+display the workflow. Run the following command:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>graph<span class="w"> </span>.
+</pre></div>
+</div>
+<div class="hint admonition">
+<p class="admonition-title">Note</p>
+<p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code> takes the path to the workflow as an argument. Inside
+the <a class="reference internal" href="../../glossary.html#term-source-directory"><span class="xref std std-term">source directory</span></a> we can just run <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span> <span class="pre">.</span></code>.</p>
+</div>
+<p>If the results don’t match the diagram above try to correct the graph
+in your <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file.</p>
+<div class="spoiler warning admonition">
+<p class="admonition-title">Solution</p>
+<p>There are multiple correct ways to write this graph. So long as what
+you see from <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code> matches the above diagram then you have a
+correct solution.</p>
+<p>Two valid examples:</p>
+<blockquote>
+<div><table class="grid-table docutils align-default">
+<tbody>
+<tr class="row-odd"><td><div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">a</span> <span class="o">&amp;</span> <span class="kd">c</span> <span class="o">=&gt;</span> <span class="kd">b</span> <span class="o">=&gt;</span> <span class="kd">d</span> <span class="o">&amp;</span> <span class="kd">f</span>
+<span class="kd">d</span> <span class="o">=&gt;</span> <span class="kd">e</span>
+</pre></div>
+</div>
+</td>
+<td><div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">a</span> <span class="o">=&gt;</span> <span class="kd">b</span> <span class="o">=&gt;</span> <span class="kd">d</span> <span class="o">=&gt;</span> <span class="kd">e</span>
+<span class="kd">c</span> <span class="o">=&gt;</span> <span class="kd">b</span> <span class="o">=&gt;</span> <span class="kd">f</span>
+</pre></div>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+</div></blockquote>
+<p>The whole workflow should look something like this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">allow implicit tasks </span><span class="o">=</span><span class="s"> True</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">a</span> <span class="o">&amp;</span> <span class="kd">c</span> <span class="o">=&gt;</span> <span class="kd">b</span> <span class="o">=&gt;</span> <span class="kd">d</span> <span class="o">&amp;</span> <span class="kd">f</span>
+            <span class="kd">d</span> <span class="o">=&gt;</span> <span class="kd">e</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</div>
+</li>
+</ol>
+</div>
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="Scheduling" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="integer-cycling.html" class="btn btn-neutral float-right" title="Basic Cycling" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/scheduling/graphing";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/scheduling/index.html b/nightly_8.3/html/tutorial/scheduling/index.html
new file mode 100644
index 00000000000..821c8b2b7bb
--- /dev/null
+++ b/nightly_8.3/html/tutorial/scheduling/index.html
@@ -0,0 +1,202 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Scheduling &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="The flow.cylc File Format" href="graphing.html" />
+    <link rel="prev" title="Introduction" href="../introduction.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Scheduling</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="graphing.html">The <code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code> File Format</a></li>
+<li class="toctree-l3"><a class="reference internal" href="integer-cycling.html">Basic Cycling</a></li>
+<li class="toctree-l3"><a class="reference internal" href="datetime-cycling.html">Datetime Cycling</a></li>
+<li class="toctree-l3"><a class="reference internal" href="further-scheduling.html">Further Scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../runtime/index.html">Runtime</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../furthertopics/index.html">Further Topics</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Tutorial</a></li>
+      <li class="breadcrumb-item active">Scheduling</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/tutorial/scheduling/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="scheduling">
+<span id="tutorial-scheduling"></span><h1>Scheduling<a class="headerlink" href="#scheduling" title="Link to this heading"></a></h1>
+<p>This section shows how to create basic Cylc workflows.</p>
+<div class="toctree-wrapper compound" id="rug-scheduling-toc">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="graphing.html">The <code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code> File Format</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="graphing.html#example">Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="graphing.html#shorthand">Shorthand</a></li>
+<li class="toctree-l2"><a class="reference internal" href="graphing.html#duplicate-items">Duplicate Items</a></li>
+<li class="toctree-l2"><a class="reference internal" href="graphing.html#indentation">Indentation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="graphing.html#the-dependency-graph">The Dependency Graph</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="integer-cycling.html">Basic Cycling</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="integer-cycling.html#repeating-workflows">Repeating Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="integer-cycling.html#intercycle-dependencies">Intercycle Dependencies</a></li>
+<li class="toctree-l2"><a class="reference internal" href="integer-cycling.html#recurrence-sections">Recurrence Sections</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="datetime-cycling.html">Datetime Cycling</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="datetime-cycling.html#iso8601">ISO8601</a></li>
+<li class="toctree-l2"><a class="reference internal" href="datetime-cycling.html#datetime-recurrences">Datetime Recurrences</a></li>
+<li class="toctree-l2"><a class="reference internal" href="datetime-cycling.html#utc-mode">UTC Mode</a></li>
+<li class="toctree-l2"><a class="reference internal" href="datetime-cycling.html#putting-it-all-together">Putting It All Together</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="further-scheduling.html">Further Scheduling</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="further-scheduling.html#qualifiers">Qualifiers</a></li>
+<li class="toctree-l2"><a class="reference internal" href="further-scheduling.html#clock-triggers">Clock Triggers</a></li>
+<li class="toctree-l2"><a class="reference internal" href="further-scheduling.html#alternative-calendars">Alternative Calendars</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../introduction.html" class="btn btn-neutral float-left" title="Introduction" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="graphing.html" class="btn btn-neutral float-right" title="The flow.cylc File Format" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/scheduling/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/tutorial/scheduling/integer-cycling.html b/nightly_8.3/html/tutorial/scheduling/integer-cycling.html
new file mode 100644
index 00000000000..8255bf060c5
--- /dev/null
+++ b/nightly_8.3/html/tutorial/scheduling/integer-cycling.html
@@ -0,0 +1,653 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Basic Cycling &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Datetime Cycling" href="datetime-cycling.html" />
+    <link rel="prev" title="The flow.cylc File Format" href="graphing.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Tutorial</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Scheduling</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="graphing.html">The <code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code> File Format</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Basic Cycling</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#repeating-workflows">Repeating Workflows</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#intercycle-dependencies">Intercycle Dependencies</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#recurrence-sections">Recurrence Sections</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="datetime-cycling.html">Datetime Cycling</a></li>
+<li class="toctree-l3"><a class="reference internal" href="further-scheduling.html">Further Scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../runtime/index.html">Runtime</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../furthertopics/index.html">Further Topics</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Tutorial</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Scheduling</a></li>
+      <li class="breadcrumb-item active">Basic Cycling</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/tutorial/scheduling/integer-cycling.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="basic-cycling">
+<span id="tutorial-integer-cycling"></span><h1>Basic Cycling<a class="headerlink" href="#basic-cycling" title="Link to this heading"></a></h1>
+<div class="aims admonition">
+<p class="admonition-title">Aims</p>
+<div class="line-block">
+<div class="line">You will be able to:</div>
+<div class="line">✅ Write simple <a class="reference internal" href="../../glossary.html#term-cycling"><span class="xref std std-term">cycling</span></a> (repeating) workflows.</div>
+</div>
+</div>
+<section id="repeating-workflows">
+<h2>Repeating Workflows<a class="headerlink" href="#repeating-workflows" title="Link to this heading"></a></h2>
+<p>You may want to repeat the same workflow multiple times. In Cylc this
+is called <a class="reference internal" href="../../glossary.html#term-cycling"><span class="xref std std-term">cycling</span></a>, and each repetition is called a <a class="reference internal" href="../../glossary.html#term-cycle"><span class="xref std std-term">cycle</span></a>.</p>
+<p>Each <a class="reference internal" href="../../glossary.html#term-cycle"><span class="xref std std-term">cycle</span></a> is given a unique label, called a
+<a class="reference internal" href="../../glossary.html#term-cycle-point"><span class="xref std std-term">cycle point</span></a>. For now these will be integers, but <em>they can also be
+datetimes</em> as we will see in the next section.</p>
+<p>To make a workflow repeat we must tell Cylc three things:</p>
+<dl class="simple">
+<dt>The <a class="reference internal" href="../../glossary.html#term-recurrence"><span class="xref std std-term">recurrence</span></a>.</dt><dd><p>How often to repeat the workflow (or part of it).</p>
+</dd>
+<dt>The <a class="reference internal" href="../../glossary.html#term-initial-cycle-point"><span class="xref std std-term">initial cycle point</span></a>.</dt><dd><p>The cycle point to start from.</p>
+</dd>
+<dt>The <a class="reference internal" href="../../glossary.html#term-final-cycle-point"><span class="xref std std-term">final cycle point</span></a> (optional).</dt><dd><p>We can also tell Cylc where to stop the workflow.</p>
+</dd>
+</dl>
+<p>Let’s take the bakery example from the previous section. Bread is
+baked in batches so the bakery will repeat this workflow for each
+batch. We can make the workflow repeat by adding three lines:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="w"> </span>[scheduling]
+<span class="gi">+    cycling mode = integer</span>
+<span class="gi">+    initial cycle point = 1</span>
+<span class="w"> </span>    [[graph]]
+<span class="gd">-        R1 = &quot;&quot;&quot;</span>
+<span class="gi">+        P1 = &quot;&quot;&quot;</span>
+<span class="w"> </span>            buy_ingredients =&gt; make_dough
+<span class="w"> </span>            pre_heat_oven &amp; make_dough =&gt; bake_bread
+<span class="w"> </span>            bake_bread =&gt; sell_bread &amp; clean_oven
+<span class="w"> </span>        &quot;&quot;&quot;
+</pre></div>
+</div>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">cycling</span> <span class="pre">mode</span> <span class="pre">=</span> <span class="pre">integer</span></code> tells Cylc to give our <a class="reference internal" href="../../glossary.html#term-cycle-point"><span class="xref std std-term">cycle points</span></a> integer labels.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">initial</span> <span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">=</span> <span class="pre">1</span></code> tells Cylc to start counting cycle points
+from 1.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">P1</span></code> is the <a class="reference internal" href="../../glossary.html#term-recurrence"><span class="xref std std-term">recurrence</span></a>; a <code class="docutils literal notranslate"><span class="pre">P1</span></code> <a class="reference internal" href="../../glossary.html#term-graph-string"><span class="xref std std-term">graph string</span></a>
+repeats at every integer <a class="reference internal" href="../../glossary.html#term-cycle-point"><span class="xref std std-term">cycle point</span></a>.</p></li>
+</ul>
+<p>The first three <a class="reference internal" href="../../glossary.html#term-cycle"><span class="xref std std-term">cycles</span></a> look like this, with the entire
+workflow repeated at each cycle point:</p>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-01cdfbbf3d7a8a7da6b86824adc2682acb58bc7c.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph example {
+size = &quot;7,15&quot;
+
+subgraph cluster_1 {
+    label = 1
+    style = dashed
+    &quot;1/pur&quot; [label=&quot;buy_ingredients\n1&quot;]
+    &quot;1/mak&quot; [label=&quot;make_dough\n1&quot;]
+    &quot;1/bak&quot; [label=&quot;bake_bread\n1&quot;]
+    &quot;1/sel&quot; [label=&quot;sell_bread\n1&quot;]
+    &quot;1/cle&quot; [label=&quot;clean_oven\n1&quot;]
+    &quot;1/pre&quot; [label=&quot;pre_heat_oven\n1&quot;]
+}
+
+subgraph cluster_2 {
+    label = 2
+    style = dashed
+    &quot;2/pur&quot; [label=&quot;buy_ingredients\n2&quot;]
+    &quot;2/mak&quot; [label=&quot;make_dough\n2&quot;]
+    &quot;2/bak&quot; [label=&quot;bake_bread\n2&quot;]
+    &quot;2/sel&quot; [label=&quot;sell_bread\n2&quot;]
+    &quot;2/cle&quot; [label=&quot;clean_oven\n2&quot;]
+    &quot;2/pre&quot; [label=&quot;pre_heat_oven\n2&quot;]
+}
+
+subgraph cluster_3 {
+    label = 3
+    style = dashed
+    &quot;3/pur&quot; [label=&quot;buy_ingredients\n3&quot;]
+    &quot;3/mak&quot; [label=&quot;make_dough\n3&quot;]
+    &quot;3/bak&quot; [label=&quot;bake_bread\n3&quot;]
+    &quot;3/sel&quot; [label=&quot;sell_bread\n3&quot;]
+    &quot;3/cle&quot; [label=&quot;clean_oven\n3&quot;]
+    &quot;3/pre&quot; [label=&quot;pre_heat_oven\n3&quot;]
+}
+
+&quot;1/pur&quot; -&gt; &quot;1/mak&quot; -&gt; &quot;1/bak&quot; -&gt; &quot;1/sel&quot;
+&quot;1/pre&quot; -&gt; &quot;1/bak&quot; -&gt; &quot;1/cle&quot;
+&quot;2/pur&quot; -&gt; &quot;2/mak&quot; -&gt; &quot;2/bak&quot; -&gt; &quot;2/sel&quot;
+&quot;2/pre&quot; -&gt; &quot;2/bak&quot; -&gt; &quot;2/cle&quot;
+&quot;3/pur&quot; -&gt; &quot;3/mak&quot; -&gt; &quot;3/bak&quot; -&gt; &quot;3/sel&quot;
+&quot;3/pre&quot; -&gt; &quot;3/bak&quot; -&gt; &quot;3/cle&quot;
+}</p></object></div>
+</div>
+<p>The number under each task shows which <a class="reference internal" href="../../glossary.html#term-cycle-point"><span class="xref std std-term">cycle point</span></a> it belongs to.</p>
+</section>
+<section id="intercycle-dependencies">
+<h2>Intercycle Dependencies<a class="headerlink" href="#intercycle-dependencies" title="Link to this heading"></a></h2>
+<p>We’ve just seen how to write a workflow that repeats every <a class="reference internal" href="../../glossary.html#term-cycle"><span class="xref std std-term">cycle</span></a>.</p>
+<p>Cylc runs tasks as soon as their dependencies are met, regardless of cycle
+point, so cycles will not necessarily run in order. This can be efficient,
+but it could also cause problems. For instance we could find ourselves
+pre-heating the oven in one cycle while still cleaning it in another.</p>
+<p>To resolve this we can add <a class="reference internal" href="../../glossary.html#term-dependency"><span class="xref std std-term">dependencies</span></a> <em>between</em>
+cycles, to the graph. To ensure that <code class="docutils literal notranslate"><span class="pre">clean_oven</span></code> completes before
+<code class="docutils literal notranslate"><span class="pre">pre_heat_oven</span></code> starts in the next cycle, we can write this:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">clean_oven</span>[<span class="nb">-P1</span>] <span class="o">=&gt;</span> <span class="kd">pre_heat_oven</span>
+</pre></div>
+</div>
+<p>In a <code class="docutils literal notranslate"><span class="pre">P1</span></code> recurrence, the suffix <code class="docutils literal notranslate"><span class="pre">[-P1]</span></code> means <em>the previous cycle point</em>,
+Similarly, <code class="docutils literal notranslate"><span class="pre">[-P2]</span></code> refers back two cycles. The new dependency can be added
+to the workflow graph like this:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="w"> </span>[scheduling]
+<span class="w"> </span>    cycling mode = integer
+<span class="w"> </span>    initial cycle point = 1
+<span class="w"> </span>    [[graph]]
+<span class="w"> </span>        P1 = &quot;&quot;&quot;
+<span class="w"> </span>            buy_ingredients =&gt; make_dough
+<span class="w"> </span>            pre_heat_oven &amp; make_dough =&gt; bake_bread
+<span class="w"> </span>            bake_bread =&gt; sell_bread &amp; clean_oven
+<span class="gi">+            clean_oven[-P1] =&gt; pre_heat_oven</span>
+<span class="w"> </span>        &quot;&quot;&quot;
+</pre></div>
+</div>
+<p>And the resulting workflow looks like this:</p>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-67061a0cb1a093d3d29cd2a417dc12c16a2e0b16.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph example {
+size = &quot;7,15&quot;
+
+subgraph cluster_1 {
+    label = 1
+    style = dashed
+    &quot;1/pur&quot; [label=&quot;buy_ingredients\n1&quot;]
+    &quot;1/mak&quot; [label=&quot;make_dough\n1&quot;]
+    &quot;1/bak&quot; [label=&quot;bake_bread\n1&quot;]
+    &quot;1/sel&quot; [label=&quot;sell_bread\n1&quot;]
+    &quot;1/cle&quot; [label=&quot;clean_oven\n1&quot;]
+    &quot;1/pre&quot; [label=&quot;pre_heat_oven\n1&quot;]
+}
+
+subgraph cluster_2 {
+    label = 2
+    style = dashed
+    &quot;2/pur&quot; [label=&quot;buy_ingredients\n2&quot;]
+    &quot;2/mak&quot; [label=&quot;make_dough\n2&quot;]
+    &quot;2/bak&quot; [label=&quot;bake_bread\n2&quot;]
+    &quot;2/sel&quot; [label=&quot;sell_bread\n2&quot;]
+    &quot;2/cle&quot; [label=&quot;clean_oven\n2&quot;]
+    &quot;2/pre&quot; [label=&quot;pre_heat_oven\n2&quot;]
+}
+
+subgraph cluster_3 {
+    label = 3
+    style = dashed
+    &quot;3/pur&quot; [label=&quot;buy_ingredients\n3&quot;]
+    &quot;3/mak&quot; [label=&quot;make_dough\n3&quot;]
+    &quot;3/bak&quot; [label=&quot;bake_bread\n3&quot;]
+    &quot;3/sel&quot; [label=&quot;sell_bread\n3&quot;]
+    &quot;3/cle&quot; [label=&quot;clean_oven\n3&quot;]
+    &quot;3/pre&quot; [label=&quot;pre_heat_oven\n3&quot;]
+}
+
+&quot;1/pur&quot; -&gt; &quot;1/mak&quot; -&gt; &quot;1/bak&quot; -&gt; &quot;1/sel&quot;
+&quot;1/pre&quot; -&gt; &quot;1/bak&quot; -&gt; &quot;1/cle&quot;
+&quot;1/cle&quot; -&gt; &quot;2/pre&quot;
+&quot;2/pur&quot; -&gt; &quot;2/mak&quot; -&gt; &quot;2/bak&quot; -&gt; &quot;2/sel&quot;
+&quot;2/pre&quot; -&gt; &quot;2/bak&quot; -&gt; &quot;2/cle&quot;
+&quot;2/cle&quot; -&gt; &quot;3/pre&quot;
+&quot;3/pur&quot; -&gt; &quot;3/mak&quot; -&gt; &quot;3/bak&quot; -&gt; &quot;3/sel&quot;
+&quot;3/pre&quot; -&gt; &quot;3/bak&quot; -&gt; &quot;3/cle&quot;
+}</p></object></div>
+</div>
+<p>The <a class="reference internal" href="../../glossary.html#term-intercycle-dependency"><span class="xref std std-term">intercycle dependency</span></a> forces the connected tasks, in
+different cycle points, to run in order.</p>
+<p>Note that the <code class="docutils literal notranslate"><span class="pre">buy_ingredients</span></code> task has no arrows pointing at it.
+This means it has no <em>parent tasks</em> to wait on, upstream in the graph.
+Consequently all <code class="docutils literal notranslate"><span class="pre">buy_ingredients</span></code> tasks (out to a configurable
+<a class="reference internal" href="../../glossary.html#term-runahead-limit"><span class="xref std std-term">runahead limit</span></a>) want to run straight away.
+This could cause our bakery to run into cash-flow problems by purchasing
+ingredients too far in advance of using them.</p>
+<p>To solve this problem without running out of ingredients, the bakery wants
+to purchase ingredients two batches ahead. This can be achieved by adding
+the following dependency:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="w"> </span>[scheduling]
+<span class="w"> </span>    cycling mode = integer
+<span class="w"> </span>    initial cycle point = 1
+<span class="w"> </span>    [[graph]]
+<span class="w"> </span>        P1 = &quot;&quot;&quot;
+<span class="w"> </span>            buy_ingredients =&gt; make_dough
+<span class="w"> </span>            pre_heat_oven &amp; make_dough =&gt; bake_bread
+<span class="w"> </span>            bake_bread =&gt; sell_bread &amp; clean_oven
+<span class="w"> </span>            clean_oven[-P1] =&gt; pre_heat_oven
+<span class="gi">+            sell_bread[-P2] =&gt; buy_ingredients</span>
+<span class="w"> </span>        &quot;&quot;&quot;
+</pre></div>
+</div>
+<p>This means that <code class="docutils literal notranslate"><span class="pre">buy_ingredients</span></code> will run after the <code class="docutils literal notranslate"><span class="pre">sell_bread</span></code> task
+two cycles earlier.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">[-P2]</span></code> suffix references a task two cycles back. For the first two
+cycles this doesn’t make sense, so those dependencies (and indeed any before
+the initial cycle point) will be ignored.</p>
+</div>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-e0054d6b31d1071b99e7fe278d0ac5efbadd46a8.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph example {
+size = &quot;4.5,15&quot;
+
+subgraph cluster_1 {
+    label = 1
+    style = dashed
+    &quot;1/pur&quot; [label=&quot;buy_ingredients\n1&quot;]
+    &quot;1/mak&quot; [label=&quot;make_dough\n1&quot;]
+    &quot;1/bak&quot; [label=&quot;bake_bread\n1&quot;]
+    &quot;1/sel&quot; [label=&quot;sell_bread\n1&quot;]
+    &quot;1/cle&quot; [label=&quot;clean_oven\n1&quot;]
+    &quot;1/pre&quot; [label=&quot;pre_heat_oven\n1&quot;]
+}
+
+subgraph cluster_2 {
+    label = 2
+    style = dashed
+    &quot;2/pur&quot; [label=&quot;buy_ingredients\n2&quot;]
+    &quot;2/mak&quot; [label=&quot;make_dough\n2&quot;]
+    &quot;2/bak&quot; [label=&quot;bake_bread\n2&quot;]
+    &quot;2/sel&quot; [label=&quot;sell_bread\n2&quot;]
+    &quot;2/cle&quot; [label=&quot;clean_oven\n2&quot;]
+    &quot;2/pre&quot; [label=&quot;pre_heat_oven\n2&quot;]
+}
+
+subgraph cluster_3 {
+    label = 3
+    style = dashed
+    &quot;3/pur&quot; [label=&quot;buy_ingredients\n3&quot;]
+    &quot;3/mak&quot; [label=&quot;make_dough\n3&quot;]
+    &quot;3/bak&quot; [label=&quot;bake_bread\n3&quot;]
+    &quot;3/sel&quot; [label=&quot;sell_bread\n3&quot;]
+    &quot;3/cle&quot; [label=&quot;clean_oven\n3&quot;]
+    &quot;3/pre&quot; [label=&quot;pre_heat_oven\n3&quot;]
+}
+
+subgraph cluster_4 {
+    label = 4
+    style = dashed
+    &quot;4/pur&quot; [label=&quot;buy_ingredients\n4&quot;]
+    &quot;4/mak&quot; [label=&quot;make_dough\n4&quot;]
+    &quot;4/bak&quot; [label=&quot;bake_bread\n4&quot;]
+    &quot;4/sel&quot; [label=&quot;sell_bread\n4&quot;]
+    &quot;4/cle&quot; [label=&quot;clean_oven\n4&quot;]
+    &quot;4/pre&quot; [label=&quot;pre_heat_oven\n4&quot;]
+}
+
+&quot;1/pur&quot; -&gt; &quot;1/mak&quot; -&gt; &quot;1/bak&quot; -&gt; &quot;1/sel&quot;
+&quot;1/pre&quot; -&gt; &quot;1/bak&quot; -&gt; &quot;1/cle&quot;
+&quot;1/cle&quot; -&gt; &quot;2/pre&quot;
+&quot;1/sel&quot; -&gt; &quot;3/pur&quot;
+&quot;2/pur&quot; -&gt; &quot;2/mak&quot; -&gt; &quot;2/bak&quot; -&gt; &quot;2/sel&quot;
+&quot;2/pre&quot; -&gt; &quot;2/bak&quot; -&gt; &quot;2/cle&quot;
+&quot;2/cle&quot; -&gt; &quot;3/pre&quot;
+&quot;2/sel&quot; -&gt; &quot;4/pur&quot;
+&quot;3/pur&quot; -&gt; &quot;3/mak&quot; -&gt; &quot;3/bak&quot; -&gt; &quot;3/sel&quot;
+&quot;3/pre&quot; -&gt; &quot;3/bak&quot; -&gt; &quot;3/cle&quot;
+&quot;3/cle&quot; -&gt; &quot;4/pre&quot;
+&quot;4/pur&quot; -&gt; &quot;4/mak&quot; -&gt; &quot;4/bak&quot; -&gt; &quot;4/sel&quot;
+&quot;4/pre&quot; -&gt; &quot;4/bak&quot; -&gt; &quot;4/cle&quot;
+}</p></object></div>
+</div>
+</section>
+<section id="recurrence-sections">
+<h2>Recurrence Sections<a class="headerlink" href="#recurrence-sections" title="Link to this heading"></a></h2>
+<p>In the previous examples we used a
+<code class="docutils literal notranslate"><span class="pre">P1</span></code><a class="reference internal" href="../../glossary.html#term-recurrence"><span class="xref std std-term">recurrence</span></a> to make the workflow repeat at successive integer
+cycle points. Similarly <code class="docutils literal notranslate"><span class="pre">P2</span></code> means repeat every <em>other</em> cycle, and so
+on. We can use multiple recurrences to build more complex workflows:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+   <span class="nv">cycling mode </span><span class="o">=</span><span class="s"> integer</span>
+   <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 1</span>
+   <span class="nt">[[graph]]</span>
+      <span class="c1"># Repeat every cycle.</span>
+      <span class="nv">P1 </span><span class="o">=</span> <span class="kd">foo</span>
+      <span class="c1"># Repeat every second cycle.</span>
+      <span class="nv">P2 </span><span class="o">=</span> <span class="kd">bar</span>
+      <span class="c1"># Repeat every third cycle.</span>
+      <span class="nv">P3 </span><span class="o">=</span> <span class="kd">baz</span>
+</pre></div>
+</div>
+<img alt="../../_images/recurrence-sections.svg" class="align-center" src="../../_images/recurrence-sections.svg" /><p>We can also tell Cylc where to start a recurrence sequence.</p>
+<dl class="simple">
+<dt>From the initial cycle point:</dt><dd><p>By default, recurrences start at the: <a class="reference internal" href="../../glossary.html#term-initial-cycle-point"><span class="xref std std-term">initial cycle point</span></a>.</p>
+</dd>
+<dt>From an arbitrary cycle point:</dt><dd><p>We can give a different start point like this:
+<code class="docutils literal notranslate"><span class="pre">5/P3</span></code> means repeat every third cycle, starting from cycle number 5.
+To run a graph at every other cycle point, use <code class="docutils literal notranslate"><span class="pre">2/P2</span></code>.</p>
+</dd>
+<dt>Offset from the initial cycle point:</dt><dd><p>The start point of a recurrence can also be defined as an offset from the
+<a class="reference internal" href="../../glossary.html#term-initial-cycle-point"><span class="xref std std-term">initial cycle point</span></a> For example, <code class="docutils literal notranslate"><span class="pre">+P5/P3</span></code> means repeat every
+third cycle from 5 cycles <em>after</em> the initial cycle point.</p>
+</dd>
+</dl>
+<div class="note admonition" id="basic-cycling-practical">
+<p class="admonition-title">Practical</p>
+<p class="rubric">In this practical we will turn the <a class="reference internal" href="../../glossary.html#term-workflow"><span class="xref std std-term">workflow</span></a>
+of the previous section into a <a class="reference internal" href="../../glossary.html#term-cycling"><span class="xref std std-term">cycling workflow</span></a>.</p>
+<p>If you have not completed the previous practical use the following code for
+your <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">allow implicit tasks </span><span class="o">=</span><span class="s"> True</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">a</span> <span class="o">&amp;</span> <span class="kd">c</span> <span class="o">=&gt;</span> <span class="kd">b</span> <span class="o">=&gt;</span> <span class="kd">d</span> <span class="o">&amp;</span> <span class="kd">f</span>
+            <span class="kd">d</span> <span class="o">=&gt;</span> <span class="kd">e</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<ol class="arabic">
+<li><p><strong>Create a new workflow.</strong></p>
+<p>Create a new source directory <code class="docutils literal notranslate"><span class="pre">integer-cycling</span></code> under <code class="docutils literal notranslate"><span class="pre">~/cylc-src/</span></code>,
+and move into it:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>mkdir<span class="w"> </span>-p<span class="w"> </span>~/cylc-src/integer-cycling
+<span class="nb">cd</span><span class="w"> </span>~/cylc-src/integer-cycling
+</pre></div>
+</div>
+<p>Copy the above code into a <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file in that directory.</p>
+</li>
+<li><p><strong>Make the workflow cycle.</strong></p>
+<p>Add the following lines to your <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> file:</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="w"> </span>[scheduling]
+<span class="gi">+    cycling mode = integer</span>
+<span class="gi">+    initial cycle point = 1</span>
+<span class="w"> </span>    [[graph]]
+<span class="gd">-        R1 = &quot;&quot;&quot;</span>
+<span class="gi">+        P1 = &quot;&quot;&quot;</span>
+<span class="w"> </span>            a &amp; c =&gt; b =&gt; d &amp; f
+<span class="w"> </span>            d =&gt; e
+<span class="w"> </span>        &quot;&quot;&quot;
+</pre></div>
+</div>
+</li>
+<li><p><strong>Visualise the workflow.</strong></p>
+<p>Try visualising your workflow using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code>.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>cylc graph .
+</pre></div>
+</div>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>You can use the <code class="docutils literal notranslate"><span class="pre">-c</span></code> (<code class="docutils literal notranslate"><span class="pre">--cycles</span></code>) option
+to draw a box around each cycle:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>cylc graph -c .
+</pre></div>
+</div>
+</div>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>By default <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code> displays the first three cycles of the graph,
+but you can specify the range of cycles on the command line.
+Here’s how to display cycles <code class="docutils literal notranslate"><span class="pre">1</span></code> through <code class="docutils literal notranslate"><span class="pre">5</span></code>:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>cylc graph . 1 5
+</pre></div>
+</div>
+</div>
+</li>
+<li><p><strong>Add another recurrence.</strong></p>
+<p>Suppose we wanted the <code class="docutils literal notranslate"><span class="pre">e</span></code> task to run every <em>other</em> cycle
+as opposed to every cycle. We can do this by adding another
+recurrence.</p>
+<p>Make the following changes to your <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file.</p>
+<div class="highlight-diff notranslate"><div class="highlight"><pre><span></span><span class="w"> </span>[scheduling]
+<span class="w"> </span>    cycling mode = integer
+<span class="w"> </span>    initial cycle point = 1
+<span class="w"> </span>    [[graph]]
+<span class="w"> </span>        P1 = &quot;&quot;&quot;
+<span class="w"> </span>            a &amp; c =&gt; b =&gt; d &amp; f
+<span class="gd">-            d =&gt; e</span>
+<span class="w"> </span>        &quot;&quot;&quot;
+<span class="gi">+        P2 = &quot;&quot;&quot;</span>
+<span class="gi">+            d =&gt; e</span>
+<span class="gi">+        &quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>Use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code> to see the effect this has on the workflow.</p>
+</li>
+<li><p><strong>intercycle dependencies.</strong></p>
+<p>Now we will add
+three intercycle dependencies:</p>
+<ol class="arabic simple">
+<li><p>Between <code class="docutils literal notranslate"><span class="pre">f</span></code> from the previous cycle and <code class="docutils literal notranslate"><span class="pre">c</span></code>.</p></li>
+<li><p>Between <code class="docutils literal notranslate"><span class="pre">d</span></code> from the previous cycle and <code class="docutils literal notranslate"><span class="pre">a</span></code>
+<em>every odd cycle</em> (e.g. 2/d =&gt; 3/a).</p></li>
+<li><p>Between <code class="docutils literal notranslate"><span class="pre">e</span></code> from the previous cycle and <code class="docutils literal notranslate"><span class="pre">a</span></code>
+<em>every even cycle</em> (e.g. 1/e =&gt; 2/a).</p></li>
+</ol>
+<p>Try adding these to your <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file to
+make your workflow match the diagram below.</p>
+<div class="admonition hint">
+<p class="admonition-title">Hint</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">P2</span></code> means every other cycle, from the initial cycle point.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">2/P2</span></code> means every other cycle, from cycle point 2.</p></li>
+</ul>
+</div>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-aca8d285197e57a400e199c11a8dce9f5229b6a0.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph example {
+ size = &quot;4.5,7&quot;
+
+ subgraph cluster_1 {
+     label = 1
+     style = dashed
+     &quot;1/a&quot; [label=&quot;a\n1&quot;]
+     &quot;1/b&quot; [label=&quot;b\n1&quot;]
+     &quot;1/d&quot; [label=&quot;d\n1&quot;]
+     &quot;1/f&quot; [label=&quot;f\n1&quot;]
+     &quot;1/c&quot; [label=&quot;c\n1&quot;]
+     &quot;1/e&quot; [label=&quot;e\n1&quot;]
+ }
+
+ subgraph cluster_2 {
+     label = 2
+     style = dashed
+     &quot;2/a&quot; [label=&quot;a\n2&quot;]
+     &quot;2/b&quot; [label=&quot;b\n2&quot;]
+     &quot;2/d&quot; [label=&quot;d\n2&quot;]
+     &quot;2/f&quot; [label=&quot;f\n2&quot;]
+     &quot;2/c&quot; [label=&quot;c\n2&quot;]
+ }
+
+ subgraph cluster_3 {
+     label = 3
+     style = dashed
+     &quot;3/a&quot; [label=&quot;a\n3&quot;]
+     &quot;3/b&quot; [label=&quot;b\n3&quot;]
+     &quot;3/d&quot; [label=&quot;d\n3&quot;]
+     &quot;3/f&quot; [label=&quot;f\n3&quot;]
+     &quot;3/c&quot; [label=&quot;c\n3&quot;]
+     &quot;3/e&quot; [label=&quot;e\n3&quot;]
+ }
+
+ &quot;1/a&quot; -&gt; &quot;1/b&quot; -&gt; &quot;1/f&quot;
+ &quot;1/b&quot; -&gt; &quot;1/d&quot;
+ &quot;1/c&quot; -&gt; &quot;1/b&quot;
+ &quot;2/a&quot; -&gt; &quot;2/b&quot; -&gt; &quot;2/f&quot;
+ &quot;2/b&quot; -&gt; &quot;2/d&quot;
+ &quot;2/c&quot; -&gt; &quot;2/b&quot;
+ &quot;3/a&quot; -&gt; &quot;3/b&quot; -&gt; &quot;3/f&quot;
+ &quot;3/b&quot; -&gt; &quot;3/d&quot;
+ &quot;3/c&quot; -&gt; &quot;3/b&quot;
+ &quot;1/d&quot; -&gt; &quot;1/e&quot; -&gt; &quot;2/a&quot;
+ &quot;3/d&quot; -&gt; &quot;3/e&quot;
+ &quot;2/d&quot; -&gt; &quot;3/a&quot;
+ &quot;1/f&quot; -&gt; &quot;2/c&quot;
+ &quot;2/f&quot; -&gt; &quot;3/c&quot;
+}</p></object></div>
+</div>
+<div class="spoiler warning admonition">
+<p class="admonition-title">Solution</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">allow implicit tasks </span><span class="o">=</span><span class="s"> True</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">cycling mode </span><span class="o">=</span><span class="s"> integer</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 1</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">a</span> <span class="o">&amp;</span> <span class="kd">c</span> <span class="o">=&gt;</span> <span class="kd">b</span> <span class="o">=&gt;</span> <span class="kd">d</span> <span class="o">&amp;</span> <span class="kd">f</span>
+            <span class="kd">f</span>[<span class="nb">-P1</span>] <span class="o">=&gt;</span> <span class="kd">c</span>  <span class="c1"># (1)</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+        <span class="nv">P2 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">d</span> <span class="o">=&gt;</span> <span class="kd">e</span>
+            <span class="kd">d</span>[<span class="nb">-P1</span>] <span class="o">=&gt;</span> <span class="kd">a</span>  <span class="c1"># (2)</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+        <span class="nv">2/P2 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">e</span>[<span class="nb">-P1</span>] <span class="o">=&gt;</span> <span class="kd">a</span>  <span class="c1"># (3)</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</div>
+</li>
+</ol>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="graphing.html" class="btn btn-neutral float-left" title="The flow.cylc File Format" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="datetime-cycling.html" class="btn btn-neutral float-right" title="Datetime Cycling" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "tutorial/scheduling/integer-cycling";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/compound-commands.html b/nightly_8.3/html/user-guide/compound-commands.html
new file mode 100644
index 00000000000..522179bf90b
--- /dev/null
+++ b/nightly_8.3/html/user-guide/compound-commands.html
@@ -0,0 +1,207 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Compound Commands &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Plugins" href="../plugins/index.html" />
+    <link rel="prev" title="Authorizing Others to Access Your Workflows" href="sharing-access-to-workflows.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Compound Commands</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-vip-validate-install-and-play"><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">vip</span></code> (Validate, Install and Play)</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-vr-validate-reinstall-and-reload-or-play"><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">vr</span></code> (Validate, Reinstall and Reload or Play)</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="index.html">User Guide</a></li>
+      <li class="breadcrumb-item active">Compound Commands</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/user-guide/compound-commands.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="compound-commands">
+<span id="compoundcommands"></span><h1>Compound Commands<a class="headerlink" href="#compound-commands" title="Link to this heading"></a></h1>
+<p>Cylc provides compound commands which carry out more than one
+workflow action. For example Cylc provides a command to validate,
+install and play a workflow.</p>
+<p>Compound commands make common ways of working easier.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">command</span> <span class="pre">--help</span></code> to get help for each compound command,
+including a full list of available options.</p>
+</div>
+<section id="cylc-vip-validate-install-and-play">
+<h2><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">vip</span></code> (Validate, Install and Play)<a class="headerlink" href="#cylc-vip-validate-install-and-play" title="Link to this heading"></a></h2>
+<p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">vip</span> <span class="pre">/home/me/cylc-src/my-workflow</span></code> is the same as running:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span>cylc<span class="w"> </span>validate<span class="w"> </span>/home/me/cylc-src/my-workflow
+$<span class="w"> </span>cylc<span class="w"> </span>install<span class="w"> </span>/home/me/cylc-src/my-workflow
+INSTALLED<span class="w"> </span>my-workflow/run1<span class="w"> </span>from<span class="w"> </span>/home/me/cylc-src/my-workflow
+$<span class="w"> </span>cylc<span class="w"> </span>play<span class="w"> </span>my-workflow
+</pre></div>
+</div>
+</section>
+<section id="cylc-vr-validate-reinstall-and-reload-or-play">
+<h2><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">vr</span></code> (Validate, Reinstall and Reload or Play)<a class="headerlink" href="#cylc-vr-validate-reinstall-and-reload-or-play" title="Link to this heading"></a></h2>
+<p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">vr</span> <span class="pre">my-workflow</span></code> is the same as running:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># Check that the changes you want to</span>
+<span class="c1"># make will be valid after installation:</span>
+$<span class="w"> </span>cylc<span class="w"> </span>validate<span class="w"> </span>my-workflow<span class="w"> </span>--against-source
+$<span class="w"> </span>cylc<span class="w"> </span>reinstall<span class="w"> </span>my-workflow
+
+<span class="c1"># If workflow is running:</span>
+$<span class="w"> </span>cylc<span class="w"> </span>reload<span class="w"> </span>my-workflow
+
+<span class="c1"># If workflow is stopped:</span>
+$<span class="w"> </span>cylc<span class="w"> </span>play<span class="w"> </span>my-workflow
+</pre></div>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="sharing-access-to-workflows.html" class="btn btn-neutral float-left" title="Authorizing Others to Access Your Workflows" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../plugins/index.html" class="btn btn-neutral float-right" title="Plugins" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/compound-commands";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/index.html b/nightly_8.3/html/user-guide/index.html
new file mode 100644
index 00000000000..71e1fc13043
--- /dev/null
+++ b/nightly_8.3/html/user-guide/index.html
@@ -0,0 +1,243 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>User Guide &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Introduction" href="introduction.html" />
+    <link rel="prev" title="Message Triggers" href="../tutorial/furthertopics/message-triggers.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">User Guide</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">User Guide</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/user-guide/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="user-guide">
+<h1>User Guide<a class="headerlink" href="#user-guide" title="Link to this heading"></a></h1>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="introduction.html">Introduction</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="introduction.html#what-is-a-workflow">What is a Workflow?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="introduction.html#what-is-cylc">What is Cylc?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="introduction.html#cylc-and-cycling-workflows">Cylc and Cycling Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="introduction.html#how-to-run-user-guide-examples">How to Run User Guide Examples</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="writing-workflows/index.html">Writing Workflows</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="writing-workflows/configuration.html">Workflow Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="writing-workflows/scheduling.html">Scheduling Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="writing-workflows/runtime.html">Task Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="writing-workflows/parameterized-tasks.html">Task Parameters</a></li>
+<li class="toctree-l2"><a class="reference internal" href="writing-workflows/jinja2.html">Jinja2</a></li>
+<li class="toctree-l2"><a class="reference internal" href="writing-workflows/empy.html">EmPy</a></li>
+<li class="toctree-l2"><a class="reference internal" href="writing-workflows/external-triggers.html">External Triggers</a></li>
+<li class="toctree-l2"><a class="reference internal" href="writing-workflows/suicide-triggers.html">Suicide Triggers</a></li>
+<li class="toctree-l2"><a class="reference internal" href="writing-workflows/scheduler.html">Scheduler Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="installing-workflows.html">Installing Workflows</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="installing-workflows.html#the-cylc-install-command">The Cylc Install Command</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installing-workflows.html#using-cylc-install">Using Cylc Install</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installing-workflows.html#the-cylc-install-process">The Cylc Install Process</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installing-workflows.html#automatically-generated-directories-and-files">Automatically Generated Directories and Files</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installing-workflows.html#reinstalling-a-workflow">Reinstalling a Workflow</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installing-workflows.html#expected-errors">Expected Errors</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="running-workflows/index.html">Running Workflows</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/scheduler-start-up.html">Start, Restart, Reload</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/task-job-states.html">Task &amp; Job States</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/tasks-jobs-ui.html">Tasks in the UI</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/retrying-tasks.html">Retrying Tasks</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/tracking-task-state.html">Tracking Job Status</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/workflow-completion.html">Workflow Completion</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/workflow-completion.html#scheduler-stall">Scheduler Stall</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/reflow.html">Concurrent Flows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/simulation-modes.html">Simulation Modes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/scheduler-log-files.html">Scheduler Logs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/dynamic-behaviour.html">Cylc Broadcast</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/authentication-files.html">Client-Server Interaction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/authentication-files.html#authentication-files">Authentication Files</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/workflow-databases.html">Workflow Run Databases</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/handling-job-preemption.html">Handling Job Preemption</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="task-implementation/index.html">Task Implementation</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="task-implementation/job-scripts.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="task-implementation/job-submission.html">Job Submission and Management</a></li>
+<li class="toctree-l2"><a class="reference internal" href="task-implementation/ssh-job-management.html">Remote Job Management</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="removing-workflows.html">Removing Workflows</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="removing-workflows.html#cleaning-on-remote-install-targets">Cleaning on remote install targets</a></li>
+<li class="toctree-l2"><a class="reference internal" href="removing-workflows.html#cleaning-specific-subdirectories-or-files">Cleaning specific subdirectories or files</a></li>
+<li class="toctree-l2"><a class="reference internal" href="removing-workflows.html#a-note-on-symlink-directories">A note on symlink directories</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="sharing-access-to-workflows.html#jupyter-hub-authorisation">Jupyter Hub Authorisation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sharing-access-to-workflows.html#jupyter-server-authorisation">Jupyter Server Authorisation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sharing-access-to-workflows.html#cylc-user-authorisation">Cylc User Authorisation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sharing-access-to-workflows.html#cylc-site-configuration">Cylc Site Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sharing-access-to-workflows.html#interacting-with-others-workflows">Interacting with Others’ Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sharing-access-to-workflows.html#troubleshooting-authorization">Troubleshooting Authorization</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="compound-commands.html">Compound Commands</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="compound-commands.html#cylc-vip-validate-install-and-play"><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">vip</span></code> (Validate, Install and Play)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="compound-commands.html#cylc-vr-validate-reinstall-and-reload-or-play"><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">vr</span></code> (Validate, Reinstall and Reload or Play)</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../tutorial/furthertopics/message-triggers.html" class="btn btn-neutral float-left" title="Message Triggers" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="introduction.html" class="btn btn-neutral float-right" title="Introduction" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/installing-workflows.html b/nightly_8.3/html/user-guide/installing-workflows.html
new file mode 100644
index 00000000000..b57230a560b
--- /dev/null
+++ b/nightly_8.3/html/user-guide/installing-workflows.html
@@ -0,0 +1,580 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Installing Workflows &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Running Workflows" href="running-workflows/index.html" />
+    <link rel="prev" title="Scheduler Configuration" href="writing-workflows/scheduler.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Installing Workflows</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#the-cylc-install-command">The Cylc Install Command</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#using-cylc-install">Using Cylc Install</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#options">Options</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#configurable-source-directories">Configurable Source Directories</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#numbered-runs">Numbered Runs</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#named-runs">Named Runs</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#symlink-directories">Symlink Directories</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#the-cylc-install-process">The Cylc Install Process</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#file-installation">1. File Installation</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#symlinking-of-directories">2. Symlinking of Directories</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#automatically-generated-directories-and-files">Automatically Generated Directories and Files</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#reinstalling-a-workflow">Reinstalling a Workflow</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#expected-errors">Expected Errors</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.flow.unicode_rules.WorkflowNameValidator"><code class="docutils literal notranslate"><span class="pre">WorkflowNameValidator</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="index.html">User Guide</a></li>
+      <li class="breadcrumb-item active">Installing Workflows</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/user-guide/installing-workflows.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="installing-workflows">
+<span id="id1"></span><h1>Installing Workflows<a class="headerlink" href="#installing-workflows" title="Link to this heading"></a></h1>
+<p>Cylc commands identify workflows via their names, which are relative path names
+under the <a class="reference internal" href="../glossary.html#term-cylc-run-directory"><span class="xref std std-term">cylc-run directory</span></a>, <code class="docutils literal notranslate"><span class="pre">~/cylc-run/</span></code> by default.</p>
+<p>Workflows can be grouped together under sub-directories. E.g. there are three
+workflows in the example below: <code class="docutils literal notranslate"><span class="pre">nwp/oper/region1</span></code>, <code class="docutils literal notranslate"><span class="pre">nwp/oper/region2</span></code> and
+<code class="docutils literal notranslate"><span class="pre">nwp/test/region1</span></code>.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>scan<span class="w"> </span>--state<span class="o">=</span>all<span class="w"> </span>--name<span class="w"> </span>nwp<span class="w"> </span>--format<span class="o">=</span>tree
+<span class="go">nwp</span>
+<span class="go">├─oper</span>
+<span class="go">│ ├─ region1</span>
+<span class="go">│ └─ region2</span>
+<span class="go">└─test</span>
+<span class="go">   └─ region1</span>
+</pre></div>
+</div>
+<p>This chapter will demonstrate how to install a workflow from an arbitrary
+location, called a <a class="reference internal" href="../glossary.html#term-source-directory"><span class="xref std std-term">source directory</span></a>.
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> will create a new run directory in the <a class="reference internal" href="../glossary.html#term-cylc-run-directory"><span class="xref std std-term">cylc-run directory</span></a>
+for each installation of a workflow.</p>
+<section id="the-cylc-install-command">
+<span id="install-workflow"></span><h2>The Cylc Install Command<a class="headerlink" href="#the-cylc-install-command" title="Link to this heading"></a></h2>
+<p>Workflows can be installed with the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> command, which creates
+the <a class="reference internal" href="../glossary.html#term-run-directory"><span class="xref std std-term">run directory</span></a> structure and some service files underneath it.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>It is possible to run a workflow without installation by writing it
+directly in the run directory.
+However, we recommend that you write your workflow in a source
+directory and use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> to create a fresh run directory.</p>
+</div>
+</section>
+<section id="using-cylc-install">
+<span id="id2"></span><h2>Using Cylc Install<a class="headerlink" href="#using-cylc-install" title="Link to this heading"></a></h2>
+<p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> accepts as its only argument either:</p>
+<ul class="simple">
+<li><p>a workflow source name (see <a class="reference internal" href="#configurable-source-dirs"><span class="std std-ref">Configurable Source Directories</span></a> below) e.g.
+<code class="docutils literal notranslate"><span class="pre">foo/bar</span></code></p></li>
+<li><p>a path to the source directory e.g. <code class="docutils literal notranslate"><span class="pre">./foo/bar</span></code> or <code class="docutils literal notranslate"><span class="pre">/path/to/foo/bar</span></code>
+(note that relative paths must begin with <code class="docutils literal notranslate"><span class="pre">./</span></code> to distinguish them from
+workflow source names)</p></li>
+</ul>
+<p>If no argument is supplied, the current working directory is used as the
+source directory.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>To avoid confusion, <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> does not permit any of the following
+reserved directory names: <code class="docutils literal notranslate"><span class="pre">work</span></code>, <code class="docutils literal notranslate"><span class="pre">suite.rc</span></code>, <code class="docutils literal notranslate"><span class="pre">runN</span></code>, <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code>, <code class="docutils literal notranslate"><span class="pre">log</span></code>, <code class="docutils literal notranslate"><span class="pre">.service</span></code>, <code class="docutils literal notranslate"><span class="pre">share</span></code>, <code class="docutils literal notranslate"><span class="pre">_cylc-install</span></code></p>
+</div>
+<section id="options">
+<h3>Options<a class="headerlink" href="#options" title="Link to this heading"></a></h3>
+<p>The table below illustrates several command line options that control naming
+of run directories for installed workflows (the current working directory in
+these examples is <code class="docutils literal notranslate"><span class="pre">~/cylc-src/my-flow</span></code>):</p>
+<table class="docutils align-left">
+<thead>
+<tr class="row-odd"><th class="head"><p>Command</p></th>
+<th class="head"><p>Results in Installation in Directory</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">~/cylc-run/my-flow/run1</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span> <span class="pre">--no-run-name</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">~/cylc-run/my-flow</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span> <span class="pre">--run-name=new-run</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">~/cylc-run/my-flow/new-run</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span> <span class="pre">--workflow-name=new-name</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">~/cylc-run/new-name/run1</span></code></p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="configurable-source-directories">
+<span id="configurable-source-dirs"></span><h3>Configurable Source Directories<a class="headerlink" href="#configurable-source-directories" title="Link to this heading"></a></h3>
+<p>You can configure a list of directories that <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span> <span class="pre">SOURCE_NAME</span></code>
+and the GUI will search for source directories inside, using
+<a class="reference internal" href="../reference/config/global.html#global.cylc[install]source dirs" title="global.cylc[install]source dirs"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[install]source</span> <span class="pre">dirs</span></code></a>. For example, if you have</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># global.cylc</span>
+<span class="nt">[install]</span>
+    <span class="nv">source dirs </span><span class="o">=</span><span class="s"> ~/cylc-src, ~/roses</span>
+</pre></div>
+</div>
+<p>then <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span> <span class="pre">dogs/fido</span></code> will search for a workflow source directory
+<code class="docutils literal notranslate"><span class="pre">~/cylc-src/dogs/fido</span></code>, or, failing that, <code class="docutils literal notranslate"><span class="pre">~/roses/dogs/fido</span></code>, and install
+the first match (into <code class="docutils literal notranslate"><span class="pre">~/cylc-run/dogs/fido/run1</span></code>).</p>
+</section>
+<section id="numbered-runs">
+<h3>Numbered Runs<a class="headerlink" href="#numbered-runs" title="Link to this heading"></a></h3>
+<p>By default, <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> creates numbered run directories, i.e.
+<code class="docutils literal notranslate"><span class="pre">~/cylc-run/&lt;workflow-name&gt;/run&lt;number&gt;</span></code>, provided the options
+<code class="docutils literal notranslate"><span class="pre">--run-name</span></code> or <code class="docutils literal notranslate"><span class="pre">--no-run-name</span></code> are not used. The run number automatically
+increments each time <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> is run, and a symlink <code class="docutils literal notranslate"><span class="pre">runN</span></code> is
+created/updated to point to the run.</p>
+<p>Example: A typical run directory structure, after three executions of
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> will look as follows.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>├── _cylc-install
+│   └── source -&gt; /home/cylc-src/test-flow
+├── run1
+│   ├── flow.cylc
+│   └── log
+│       └── install
+│           └── &lt;time-stamp&gt;-install.log
+├── run2
+│   ├── flow.cylc
+│   └── log
+│       └── install
+│           └── &lt;time-stamp&gt;-install.log
+├── run3
+│   ├── flow.cylc
+│   └── log
+│       └── install
+│           └── &lt;time-stamp&gt;-install.log
+└── runN -&gt; /home/cylc-run/test-flow/run3
+</pre></div>
+</div>
+<p>The numbered runs option may be overridden, using either the <code class="docutils literal notranslate"><span class="pre">--no-run-name</span></code>
+or the <code class="docutils literal notranslate"><span class="pre">--run-name</span></code> options.</p>
+</section>
+<section id="named-runs">
+<h3>Named Runs<a class="headerlink" href="#named-runs" title="Link to this heading"></a></h3>
+<p>As an alternative to numbered runs, it is possible to name the runs, using the
+<code class="docutils literal notranslate"><span class="pre">--run-name</span></code> option.
+In this case, the <code class="docutils literal notranslate"><span class="pre">runN</span></code> symlink will not be created.
+This option cannot be used if numbered runs are already present. Likewise,
+numbered runs cannot be used if named runs are already present.</p>
+</section>
+<section id="symlink-directories">
+<span id="symlinkdirs"></span><h3>Symlink Directories<a class="headerlink" href="#symlink-directories" title="Link to this heading"></a></h3>
+<p>You can configure workflow <a class="reference internal" href="../glossary.html#term-run-directory"><span class="xref std std-term">run directories</span></a> and certain
+sub-directories as symlinks to other locations. This is a useful way of
+offloading data onto other drives to limit the disk space taken up by
+<code class="docutils literal notranslate"><span class="pre">~/cylc-run</span></code>.</p>
+<p>Directories that can be individually symlinked are:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">log</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">share</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">share/cycle</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">work</span></code></p></li>
+<li><p>the <a class="reference internal" href="../glossary.html#term-run-directory"><span class="xref std std-term">run directory</span></a> itself</p></li>
+</ul>
+<p>The symlink targets are configured per install target in
+<a class="reference internal" href="../reference/config/global.html#global.cylc[install][symlink dirs]" title="global.cylc[install][symlink dirs]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs]</span></code></a>. For more information see
+<a class="reference internal" href="../reference/config/writing-platform-configs.html#symlinkdirssetup"><span class="std std-ref">Symlinking Directories</span></a></p>
+</section>
+</section>
+<section id="the-cylc-install-process">
+<h2>The Cylc Install Process<a class="headerlink" href="#the-cylc-install-process" title="Link to this heading"></a></h2>
+<p>There are two main parts of the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> process.</p>
+<ol class="arabic simple">
+<li><p>File Installation</p></li>
+<li><p>Symlinking of Directories</p></li>
+</ol>
+<section id="file-installation">
+<span id="id3"></span><h3>1. File Installation<a class="headerlink" href="#file-installation" title="Link to this heading"></a></h3>
+<p>Installation will involve copying the files found in the source directory into
+a new run directory. If you wish to install files into an existing run
+directory, use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">reinstall</span></code>, see <a class="reference internal" href="#reinstalling-a-workflow"><span class="std std-ref">Reinstalling a Workflow</span></a>.</p>
+<section id="excluding-items-from-installation">
+<h4>Excluding Items From Installation<a class="headerlink" href="#excluding-items-from-installation" title="Link to this heading"></a></h4>
+<p>By default, cylc install will exclude <code class="docutils literal notranslate"><span class="pre">.git</span></code>, <code class="docutils literal notranslate"><span class="pre">.svn</span></code> directories.
+To configure excluded files and directories from the file installation,
+create a <code class="docutils literal notranslate"><span class="pre">.cylcignore</span></code> file in your source directory, this supports
+pattern matching.</p>
+<p>The following example will detail how to install a workflow, including
+configuring files to be excluded from the installation.</p>
+</section>
+<section id="example-installation">
+<span id="id4"></span><h4>Example Installation<a class="headerlink" href="#example-installation" title="Link to this heading"></a></h4>
+<p>For example:
+We will look at running the cylc install command inside the directory
+<code class="docutils literal notranslate"><span class="pre">~/cylc-src/test-flow</span></code> with the following directory structure:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span><span class="nb">pwd</span>
+<span class="go">/home/cylc-src/test-flow</span>
+</pre></div>
+</div>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>tree<span class="w"> </span>-all
+<span class="go">├── .cylcignore</span>
+<span class="go">├── dir1</span>
+<span class="go">│   ├── another-file</span>
+<span class="go">│   └── file</span>
+<span class="go">├── dir2</span>
+<span class="go">│   ├── another-file</span>
+<span class="go">│   └── file</span>
+<span class="go">├── file1</span>
+<span class="go">├── file2</span>
+<span class="go">├── file3</span>
+<span class="go">├── flow.cylc</span>
+<span class="go">├── textfile1.txt</span>
+<span class="go">└── textfile2.txt</span>
+</pre></div>
+</div>
+<p>We wish to omit any files matching the pattern <code class="docutils literal notranslate"><span class="pre">*.txt</span></code>,  the file
+<code class="docutils literal notranslate"><span class="pre">file1</span></code>, the contents of <code class="docutils literal notranslate"><span class="pre">dir1</span></code> and the contents of <code class="docutils literal notranslate"><span class="pre">dir2</span></code> including the
+directory itself.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cat<span class="w"> </span>.cylcignore
+<span class="go">*.txt</span>
+<span class="go">file1</span>
+<span class="go">dir1/*</span>
+<span class="go">dir2</span>
+</pre></div>
+</div>
+<p>Now we are ready to install our workflow.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>install
+<span class="go">INSTALLED test-flow from home/cylc-src/test-flow -&gt; home/cylc-run/test-flow/run1</span>
+</pre></div>
+</div>
+<p>Looking at the directory structure that has been created</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>tree<span class="w"> </span>-all<span class="w"> </span>home/cylc-run/test-flow/run1
+<span class="go">├── dir1</span>
+<span class="go">├── file2</span>
+<span class="go">├── file3</span>
+<span class="go">├── flow.cylc</span>
+<span class="go">├── log</span>
+<span class="go">│   └── install</span>
+<span class="go">│       └── &lt;time-stamp&gt;-install.log</span>
+<span class="go">└── .service</span>
+</pre></div>
+</div>
+</section>
+</section>
+<section id="symlinking-of-directories">
+<span id="id5"></span><h3>2. Symlinking of Directories<a class="headerlink" href="#symlinking-of-directories" title="Link to this heading"></a></h3>
+<p>If symlink directories are configured in the <code class="docutils literal notranslate"><span class="pre">[[[localhost]]]</span></code> section in
+<a class="reference internal" href="../reference/config/global.html#global.cylc[install][symlink dirs]" title="global.cylc[install][symlink dirs]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs]</span></code></a>,
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> will create these symlinks and their target locations
+(symlinks for remote install targets do not get created until
+<a class="reference internal" href="../glossary.html#term-start"><span class="xref std std-term">starting</span></a> the workflow).</p>
+<section id="override-default-symlink-locations">
+<h4>Override default symlink locations<a class="headerlink" href="#override-default-symlink-locations" title="Link to this heading"></a></h4>
+<p>You can override the default locations set in
+<a class="reference internal" href="../reference/config/global.html#global.cylc[install][symlink dirs]" title="global.cylc[install][symlink dirs]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs]</span></code></a> by using the <code class="docutils literal notranslate"><span class="pre">--symlink-dirs</span></code>
+option with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code>.</p>
+<p>For example, using the command line option
+<code class="docutils literal notranslate"><span class="pre">--symlink-dirs=&quot;log=$DIR,</span> <span class="pre">run=/path/to/dir,...&quot;</span></code> will symlink:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">$DIR</span> <span class="pre">-&gt;</span> <span class="pre">~/cylc-run/workflow/log</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">/path/to/dir</span> <span class="pre">-&gt;</span> <span class="pre">~/cylc-run/workflow/run</span></code></p></li>
+</ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>If configuring symlink dirs on the command line, the global configured
+symlink dirs will not be used to source directories not included in
+the command line list.</p>
+</div>
+</section>
+<section id="to-skip-making-localhost-symlinks">
+<h4>To skip making localhost symlinks<a class="headerlink" href="#to-skip-making-localhost-symlinks" title="Link to this heading"></a></h4>
+<p>Use <code class="docutils literal notranslate"><span class="pre">--symlink-dirs=&quot;&quot;</span></code> with the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> command.</p>
+</section>
+</section>
+</section>
+<section id="automatically-generated-directories-and-files">
+<h2>Automatically Generated Directories and Files<a class="headerlink" href="#automatically-generated-directories-and-files" title="Link to this heading"></a></h2>
+<p>Running <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> will generate some extra files in your workflow run
+directory.</p>
+<ul class="simple">
+<li><p>The <a class="reference internal" href="../glossary.html#term-service-directory"><span class="xref std std-term">service directory</span></a> will be created in preparation for running the
+workflow. This is needed to store essential files used by Cylc.</p></li>
+<li><p>A <code class="docutils literal notranslate"><span class="pre">_cylc-install</span></code> directory containing a <code class="docutils literal notranslate"><span class="pre">source</span></code> symlink to the
+<a class="reference internal" href="../glossary.html#term-source-directory"><span class="xref std std-term">source directory</span></a>.
+This is needed to enable Cylc to determine the original workflow source
+for <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">reinstall</span></code>.</p></li>
+<li><p>A new <code class="docutils literal notranslate"><span class="pre">install</span></code> directory in the workflow’s log directory, with a
+time-stamped install log file containing information about the installation.</p></li>
+</ul>
+<p>Cylc plugins (such as <a class="reference internal" href="../plugins/cylc-rose.html#cylc-rose"><span class="std std-ref">Cylc Rose</span></a>) may generate additional files.</p>
+</section>
+<section id="reinstalling-a-workflow">
+<span id="id6"></span><h2>Reinstalling a Workflow<a class="headerlink" href="#reinstalling-a-workflow" title="Link to this heading"></a></h2>
+<p>To apply changes from your source directory to the installed run directory,
+use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">reinstall</span></code>.  Changes made will be recorded in the workflow log
+directory.</p>
+<p>For example:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>reinstall<span class="w"> </span>myflow/run1
+</pre></div>
+</div>
+<p>Cylc will determine the source directory and update your workflow.</p>
+<p>Returning to the example from above (see <a class="reference internal" href="#example-installation"><span class="std std-ref">Example Installation</span></a>).</p>
+<p>The source directory, <code class="docutils literal notranslate"><span class="pre">~/cylc-src/test-flow</span></code> has been altered as follows:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>tree<span class="w"> </span>-all<span class="w"> </span>~/cylc-src/test-flow
+<span class="go">├── .cylcignore</span>
+<span class="go">├── dir1</span>
+<span class="go">│   ├── another-file</span>
+<span class="go">│   └── file</span>
+<span class="go">├── dir2</span>
+<span class="go">│   ├── another-file</span>
+<span class="go">│   └── file</span>
+<span class="go">├── dir3</span>
+<span class="go">│   ├── another-file</span>
+<span class="go">│   └── file</span>
+<span class="go">├── file1</span>
+<span class="go">├── file2</span>
+<span class="go">├── file3</span>
+<span class="go">├── flow.cylc</span>
+<span class="go">├── textfile1.txt</span>
+<span class="go">└── textfile2.txt</span>
+</pre></div>
+</div>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cat<span class="w"> </span>.cylcignore
+<span class="go">*.txt</span>
+<span class="go">file1</span>
+<span class="go">dir2</span>
+</pre></div>
+</div>
+<p>We wish to update our <code class="docutils literal notranslate"><span class="pre">~/cylc-run/test-flow/run1</span></code> with the directories <code class="docutils literal notranslate"><span class="pre">dir1</span></code>
+and <code class="docutils literal notranslate"><span class="pre">dir3</span></code>:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>reinstall<span class="w"> </span>test-flow/run1
+</pre></div>
+</div>
+<p>The run directory now looks as follows:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>tree<span class="w"> </span>-all<span class="w"> </span>home/cylc-run/test-flow/run1
+<span class="go">├── dir1</span>
+<span class="go">│   ├── another-file</span>
+<span class="go">│   └── file</span>
+<span class="go">├── dir3</span>
+<span class="go">│   ├── another-file</span>
+<span class="go">│   └── file</span>
+<span class="go">├── file2</span>
+<span class="go">├── file3</span>
+<span class="go">├── flow.cylc</span>
+<span class="go">├── log</span>
+<span class="go">│   └── install</span>
+<span class="go">│       └── &lt;time-stamp&gt;-install.log</span>
+<span class="go">│       └── &lt;time-stamp&gt;-reinstall.log</span>
+<span class="go">└── .service</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>If your workflow needs to create or install scripts or executables at runtime
+and you don’t want Cylc to delete them on re-installation, you can use
+<code class="docutils literal notranslate"><span class="pre">bin</span></code> and <code class="docutils literal notranslate"><span class="pre">lib/python</span></code> directories in the
+<a class="reference internal" href="writing-workflows/runtime.html#workflow-share-directories"><span class="std std-ref">workflow share directory</span></a>.</p>
+</div>
+</section>
+<section id="expected-errors">
+<h2>Expected Errors<a class="headerlink" href="#expected-errors" title="Link to this heading"></a></h2>
+<p>There are some occasions when installation is expected to fail:</p>
+<ul>
+<li><p><code class="docutils literal notranslate"><span class="pre">log</span></code>, <code class="docutils literal notranslate"><span class="pre">share</span></code>, <code class="docutils literal notranslate"><span class="pre">work</span></code> or <code class="docutils literal notranslate"><span class="pre">_cylc-install</span></code> directories exist in the
+<a class="reference internal" href="../glossary.html#term-source-directory"><span class="xref std std-term">source directory</span></a></p></li>
+<li><p>Neither <a class="reference internal" href="../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> nor the deprecated <code class="docutils literal notranslate"><span class="pre">suite.rc</span></code> are found in
+the <a class="reference internal" href="../glossary.html#term-source-directory"><span class="xref std std-term">source directory</span></a></p></li>
+<li><p>Both <a class="reference internal" href="../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> and the deprecated <code class="docutils literal notranslate"><span class="pre">suite.rc</span></code> are found in
+the <a class="reference internal" href="../glossary.html#term-source-directory"><span class="xref std std-term">source directory</span></a>. Only one should be present.</p></li>
+<li><p>The workflow name is an absolute path or invalid</p>
+<p>Workflow names are validated by
+<a class="reference internal" href="#cylc.flow.unicode_rules.WorkflowNameValidator" title="cylc.flow.unicode_rules.WorkflowNameValidator"><code class="xref py py-class docutils literal notranslate"><span class="pre">cylc.flow.unicode_rules.WorkflowNameValidator</span></code></a>.</p>
+<dl class="py class">
+<dt class="sig sig-object py" id="cylc.flow.unicode_rules.WorkflowNameValidator">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.unicode_rules.</span></span><span class="sig-name descname"><span class="pre">WorkflowNameValidator</span></span><a class="headerlink" href="#cylc.flow.unicode_rules.WorkflowNameValidator" title="Link to this definition"></a></dt>
+<dd><p>The rules for valid workflow names:</p>
+<ul class="simple">
+<li><p>must be between 1 and 254 characters long</p></li>
+<li><p>cannot start with: <code class="docutils literal notranslate"><span class="pre">.</span></code>, <code class="docutils literal notranslate"><span class="pre">-</span></code>, numbers</p></li>
+<li><p>can only contain: alphanumeric, <code class="docutils literal notranslate"><span class="pre">/</span></code>, <code class="docutils literal notranslate"><span class="pre">_</span></code>, <code class="docutils literal notranslate"><span class="pre">+</span></code>, <code class="docutils literal notranslate"><span class="pre">-</span></code>, <code class="docutils literal notranslate"><span class="pre">.</span></code>, <code class="docutils literal notranslate"><span class="pre">&#64;</span></code></p></li>
+</ul>
+</dd></dl>
+
+</li>
+<li><p>The workflow name contains a directory name that is any of these reserved
+filenames: <code class="docutils literal notranslate"><span class="pre">work</span></code>, <code class="docutils literal notranslate"><span class="pre">suite.rc</span></code>, <code class="docutils literal notranslate"><span class="pre">runN</span></code>, <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code>, <code class="docutils literal notranslate"><span class="pre">log</span></code>, <code class="docutils literal notranslate"><span class="pre">.service</span></code>, <code class="docutils literal notranslate"><span class="pre">share</span></code>, <code class="docutils literal notranslate"><span class="pre">_cylc-install</span></code></p></li>
+<li><p>The install would create nested install directories. Neither a new
+installation in a subdirectory of an existing one, nor a directory containing
+an existing installation are permitted. For example, having installed a
+workflow in <code class="docutils literal notranslate"><span class="pre">bar</span></code> you would be unable to install one in <code class="docutils literal notranslate"><span class="pre">foo</span></code>
+or <code class="docutils literal notranslate"><span class="pre">foo/bar/baz</span></code>.</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>foo
+└── bar
+    ├── _cylc-install
+    ├── baz
+    ├── run1
+    └── runN
+</pre></div>
+</div>
+<p>This means you cannot install using <code class="docutils literal notranslate"><span class="pre">--no-run-name</span></code> for a workflow that
+has installed numbered/named runs, nor can you install numbered/named runs
+for a workflow where <code class="docutils literal notranslate"><span class="pre">--no-run-name</span></code> was used.</p>
+</li>
+<li><p>Trying to install a workflow into an already existing run directory.
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">reinstall</span></code> should be used for this, see
+<a class="reference internal" href="#reinstalling-a-workflow"><span class="std std-ref">Reinstalling a Workflow</span></a>.</p></li>
+<li><p>The source directory path does not match the source directory path of a
+previous installation. i.e. running <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> in
+<code class="docutils literal notranslate"><span class="pre">~/cylc-src/my-flow</span></code>, followed by running <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code> from
+<code class="docutils literal notranslate"><span class="pre">~/different/my-flow</span></code>.</p></li>
+</ul>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="writing-workflows/scheduler.html" class="btn btn-neutral float-left" title="Scheduler Configuration" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="running-workflows/index.html" class="btn btn-neutral float-right" title="Running Workflows" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/installing-workflows";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/introduction.html b/nightly_8.3/html/user-guide/introduction.html
new file mode 100644
index 00000000000..d38e6c51bfd
--- /dev/null
+++ b/nightly_8.3/html/user-guide/introduction.html
@@ -0,0 +1,260 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Introduction &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Writing Workflows" href="writing-workflows/index.html" />
+    <link rel="prev" title="User Guide" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">User Guide</a><ul class="current">
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Introduction</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#what-is-a-workflow">What is a Workflow?</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#what-is-cylc">What is Cylc?</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-and-cycling-workflows">Cylc and Cycling Workflows</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#how-to-run-user-guide-examples">How to Run User Guide Examples</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="index.html">User Guide</a></li>
+      <li class="breadcrumb-item active">Introduction</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/user-guide/introduction.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="introduction">
+<h1>Introduction<a class="headerlink" href="#introduction" title="Link to this heading"></a></h1>
+<section id="what-is-a-workflow">
+<h2>What is a Workflow?<a class="headerlink" href="#what-is-a-workflow" title="Link to this heading"></a></h2>
+<blockquote class="epigraph">
+<div><p>A workflow consists of an orchestrated and repeatable pattern of business
+activity enabled by the systematic organization of resources into processes
+that transform materials, provide services, or process information.</p>
+<p class="attribution">—Wikipedia</p>
+</div></blockquote>
+<div class="tip tutorial-ref admonition">
+<p class="admonition-title">Related Tutorial</p>
+<p><a class="reference internal" href="../tutorial/introduction.html#cylc-what-is-a-workflow"><span class="std std-ref">What is a Workflow?</span></a></p>
+</div>
+</section>
+<section id="what-is-cylc">
+<h2>What is Cylc?<a class="headerlink" href="#what-is-cylc" title="Link to this heading"></a></h2>
+<p>Cylc (pronounced silk) is a workflow engine, a system that automatically
+executes tasks according to schedules and dependencies.</p>
+<p>In a Cylc workflow each step is an application: an executable command, script,
+or program. Cylc runs each task as soon as it is appropriate to do so.</p>
+<div class="tip tutorial-ref admonition">
+<p class="admonition-title">Related Tutorial</p>
+<p><a class="reference internal" href="../tutorial/introduction.html#cylc-what-is-cylc"><span class="std std-ref">What is Cylc?</span></a></p>
+</div>
+</section>
+<section id="cylc-and-cycling-workflows">
+<h2>Cylc and Cycling Workflows<a class="headerlink" href="#cylc-and-cycling-workflows" title="Link to this heading"></a></h2>
+<p>A <em>cycling workflow</em> is a repetitive process involving many interdependent
+tasks. Cylc tasks wrap arbitrary applications: executable commands,
+scripts, or programs. Example use cases include:</p>
+<ul class="simple">
+<li><p>Processing many similar datasets, through a pipeline or graph of tasks</p></li>
+<li><p>Forecasting systems that generate new forecasts at regular intervals</p></li>
+<li><p>Splitting a long model run and associated processing tasks into many smaller runs</p></li>
+<li><p>Iterative tuning of model parameters by model, processing, and validation tasks</p></li>
+</ul>
+<p>Cycling systems were traditionally managed by repeat-running the single-cycle
+workflow, finishing each new cycle before starting the next. Sometimes, however,
+it can be much more efficient to run multiple cycles at once. Even in real time
+forecasting systems that normally have a gap between cycles waiting on new
+data, this can greatly speed catch up from delays or downtime. But it can’t
+be done if the workflow manager has a global loop that handles only one cycle
+at a time and does not understand any intercycle dependence that may be present.</p>
+<div class="admonition important">
+<p class="admonition-title">Important</p>
+<p>Cylc handles inter- and intra-cycle dependence equally, and it unrolls the
+cycle loop to create a single non-cycling workflow of repeating tasks, each
+with its own individual <em>cycle point</em>.</p>
+</div>
+<img alt="../_images/cycling.png" class="align-center" src="../_images/cycling.png" />
+<p>This removes the artificial barrier between cycles. Cylc tasks can advance
+constrained only by their individual dependencies, for maximum concurrency
+across as well as within cycles. This allows fast catch-up from delays in
+real time systems, and sustained high throughput off the clock.</p>
+</section>
+<section id="how-to-run-user-guide-examples">
+<h2>How to Run User Guide Examples<a class="headerlink" href="#how-to-run-user-guide-examples" title="Link to this heading"></a></h2>
+<p>Many Cylc concepts and features in this document are illustrated with minimal
+snippets of workflow configuration. Most of these can be turned into a complete
+workflow that you can actually run, with a few easy steps:</p>
+<ul class="simple">
+<li><p>Add scheduling section headings, if missing, above the graph</p></li>
+<li><p>Use <code class="docutils literal notranslate"><span class="pre">[scheduler]allow</span> <span class="pre">implicit</span> <span class="pre">tasks</span> <span class="pre">=</span> <span class="pre">True</span></code> to automatically create dummy definitions
+for each task</p></li>
+<li><p>Configure the <code class="docutils literal notranslate"><span class="pre">root</span></code> task family to make the dummy jobs take a little time
+to run, so the workflow doesn’t evolve too quickly</p></li>
+<li><p>For cycling graphs, configure an initial cycle point to start at</p></li>
+</ul>
+<p>For example, here is a small cycling workflow graph:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="c1"># Avoid caffeine withdrawal</span>
+<span class="kd">PT6H</span> <span class="c">=</span> <span class="c">&quot;</span><span class="kd">grind_beans</span> <span class="o">=&gt;</span> <span class="kd">make_coffee</span> <span class="o">=&gt;</span> <span class="kd">drink_coffee</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>And here it is as a complete runnable workflow:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">allow implicit tasks </span><span class="o">=</span><span class="s"> True</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> now</span>
+    <span class="nt">[[graph]]</span>
+        <span class="c1"># Avoid caffeine withdrawal</span>
+        <span class="nv">PT6H = &quot;grind_beans =&gt; make_coffee </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">drink_coffee</span><span class="c">&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> &quot;sleep 10&quot;</span>
+</pre></div>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="User Guide" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="writing-workflows/index.html" class="btn btn-neutral float-right" title="Writing Workflows" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/introduction";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/removing-workflows.html b/nightly_8.3/html/user-guide/removing-workflows.html
new file mode 100644
index 00000000000..2798e991b05
--- /dev/null
+++ b/nightly_8.3/html/user-guide/removing-workflows.html
@@ -0,0 +1,266 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Removing Workflows &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Authorizing Others to Access Your Workflows" href="sharing-access-to-workflows.html" />
+    <link rel="prev" title="Remote Job Management" href="task-implementation/ssh-job-management.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Removing Workflows</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#cleaning-on-remote-install-targets">Cleaning on remote install targets</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#cleaning-specific-subdirectories-or-files">Cleaning specific subdirectories or files</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#a-note-on-symlink-directories">A note on symlink directories</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="index.html">User Guide</a></li>
+      <li class="breadcrumb-item active">Removing Workflows</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/user-guide/removing-workflows.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="removing-workflows">
+<span id="id1"></span><h1>Removing Workflows<a class="headerlink" href="#removing-workflows" title="Link to this heading"></a></h1>
+<p>To delete an installed workflow <a class="reference internal" href="../glossary.html#term-run-directory"><span class="xref std std-term">run directory</span></a>, we recommend using
+the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">clean</span></code> command. <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">clean</span></code> takes care of deleting workflows
+on the local filesystem and any remote install targets.
+It follows any symlink directories specified in
+<a class="reference internal" href="../reference/config/global.html#global.cylc[install][symlink dirs]" title="global.cylc[install][symlink dirs]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs]</span></code></a>
+(see <a class="reference internal" href="#cleansymlinkdirsnote"><span class="std std-ref">A note on symlink directories</span></a> below). You can also use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">clean</span></code> to
+just delete certain files or subdirectories (see <a class="reference internal" href="#targetedclean"><span class="std std-ref">Cleaning specific subdirectories or files</span></a> below).</p>
+<p>If you’ve used <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">suite-clean</span></code> before, the functionality is similar, but
+not identical.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">clean</span></code> only affects workflow <a class="reference internal" href="../glossary.html#term-run-directory"><span class="xref std std-term">run directories</span></a>
+(located in the <a class="reference internal" href="../glossary.html#term-cylc-run-directory"><span class="xref std std-term">cylc-run directory</span></a>). It will not affect
+workflow <a class="reference internal" href="../glossary.html#term-source-directory"><span class="xref std std-term">source directories</span></a>.</p>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">clean</span></code> is intended for use on workflows installed with
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">install</span></code>. If you clean a workflow that was instead written
+directly in the cylc-run directory and not backed up elsewhere,
+it will be lost.</p>
+</div>
+<p>Simple example of using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">clean</span></code>:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>clean<span class="w"> </span>myflow/run1
+<span class="go">INFO - Removing directory: ~/cylc-run/myflow/run1</span>
+</pre></div>
+</div>
+<section id="cleaning-on-remote-install-targets">
+<h2>Cleaning on remote install targets<a class="headerlink" href="#cleaning-on-remote-install-targets" title="Link to this heading"></a></h2>
+<p>If any jobs in your workflow ran on a remote <a class="reference internal" href="../glossary.html#term-platform"><span class="xref std std-term">platform</span></a>, Cylc will
+automatically remove the workflow files on there in addition to the local
+filesystem.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>clean<span class="w"> </span>remote-example
+<span class="go">INFO - Cleaning on install target: enterprise1701</span>
+<span class="go">INFO - [enterprise1701]</span>
+<span class="go">        INFO - Removing directory: /home/user/cylc-run/remote-example/run1</span>
+<span class="go">INFO - Removing directory: ~/cylc-run/remote-example/run1</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>This relies on determining which platforms were used from the workflow
+database. If the platforms recorded in the database are out of date with
+the global configuration, or if the database is missing altogether, you will
+have to manually remove the files on remote install targets.</p>
+</div>
+<p>You can also clean on just the local filesystem using the <code class="docutils literal notranslate"><span class="pre">--local</span></code> option,
+or just the remote install target using the <code class="docutils literal notranslate"><span class="pre">--remote</span></code> option.</p>
+</section>
+<section id="cleaning-specific-subdirectories-or-files">
+<span id="targetedclean"></span><h2>Cleaning specific subdirectories or files<a class="headerlink" href="#cleaning-specific-subdirectories-or-files" title="Link to this heading"></a></h2>
+<p>You can clean specific subdirectories or files inside a run directory using
+the <code class="docutils literal notranslate"><span class="pre">--rm</span></code> option (we refer to this as a targeted clean).
+For example, to remove the <code class="docutils literal notranslate"><span class="pre">log</span></code> and <code class="docutils literal notranslate"><span class="pre">work</span></code> directories:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>clean<span class="w"> </span>myflow<span class="w"> </span>--rm<span class="w"> </span>log<span class="w"> </span>--rm<span class="w"> </span>work
+</pre></div>
+</div>
+<p>Colons can be used to delimit the items to clean, so the following is
+equivalent:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>clean<span class="w"> </span>myflow<span class="w"> </span>--rm<span class="w"> </span>log:work
+</pre></div>
+</div>
+<p>You can also use globs. E.g., to remove all job logs for cycle points
+beginning with <code class="docutils literal notranslate"><span class="pre">2020</span></code>:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>clean<span class="w"> </span>myflow<span class="w"> </span>--rm<span class="w"> </span><span class="s1">&#39;log/job/2020*&#39;</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Make sure to place glob patterns in quotes.</p>
+</div>
+</section>
+<section id="a-note-on-symlink-directories">
+<span id="cleansymlinkdirsnote"></span><h2>A note on symlink directories<a class="headerlink" href="#a-note-on-symlink-directories" title="Link to this heading"></a></h2>
+<div class="tip admonition">
+<p class="admonition-title">Does this affect me?</p>
+<p>If you use symlink directories specified in
+<a class="reference internal" href="../reference/config/global.html#global.cylc[install][symlink dirs]" title="global.cylc[install][symlink dirs]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs]</span></code></a>, you might want to read
+this explanation of how Cylc handles them during cleaning.</p>
+</div>
+<p>If you manually delete a run directory (e.g., using the <code class="docutils literal notranslate"><span class="pre">rm</span></code> command or the
+file manager), only the symlinks themselves will be deleted, not the actual
+targets. In contrast, <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">clean</span></code> follows the symlinks and deletes the
+targets.</p>
+<ul class="simple">
+<li><p>It only does this for the symlinks that can be set in
+<a class="reference internal" href="../reference/config/global.html#global.cylc[install][symlink dirs]" title="global.cylc[install][symlink dirs]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs]</span></code></a>, not any custom
+user-created symlinks.</p></li>
+<li><p>It does not actually look up the global configuration at time of cleaning;
+it simply detects what symlinks are present out of the possible ones.</p></li>
+<li><p>It also does this for targeted clean (using the <code class="docutils literal notranslate"><span class="pre">--rm</span></code> option).</p></li>
+</ul>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="task-implementation/ssh-job-management.html" class="btn btn-neutral float-left" title="Remote Job Management" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="sharing-access-to-workflows.html" class="btn btn-neutral float-right" title="Authorizing Others to Access Your Workflows" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/removing-workflows";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/running-workflows/authentication-files.html b/nightly_8.3/html/user-guide/running-workflows/authentication-files.html
new file mode 100644
index 00000000000..05e0b442ef7
--- /dev/null
+++ b/nightly_8.3/html/user-guide/running-workflows/authentication-files.html
@@ -0,0 +1,222 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Client-Server Interaction &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Workflow Run Databases" href="workflow-databases.html" />
+    <link rel="prev" title="Cylc Broadcast" href="dynamic-behaviour.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Running Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="scheduler-start-up.html">Start, Restart, Reload</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task &amp; Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tasks-jobs-ui.html">Tasks in the UI</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retrying-tasks.html">Retrying Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tracking-task-state.html">Tracking Job Status</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html">Workflow Completion</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html#scheduler-stall">Scheduler Stall</a></li>
+<li class="toctree-l3"><a class="reference internal" href="reflow.html">Concurrent Flows</a></li>
+<li class="toctree-l3"><a class="reference internal" href="simulation-modes.html">Simulation Modes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler-log-files.html">Scheduler Logs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="dynamic-behaviour.html">Cylc Broadcast</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Client-Server Interaction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#authentication-files">Authentication Files</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-databases.html">Workflow Run Databases</a></li>
+<li class="toctree-l3"><a class="reference internal" href="handling-job-preemption.html">Handling Job Preemption</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Running Workflows</a></li>
+      <li class="breadcrumb-item active">Client-Server Interaction</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/running-workflows/authentication-files.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="client-server-interaction">
+<span id="connectionauthentication"></span><h1>Client-Server Interaction<a class="headerlink" href="#client-server-interaction" title="Link to this heading"></a></h1>
+<p><a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">Schedulers</span></a> listen on dedicated network ports for
+TCP communications from Cylc clients (jobs and user-invoked commands).</p>
+<p>Use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">scan</span></code> to see which workflows are listening on which ports on
+scanned hosts.</p>
+<p>Cylc generates public-private key pairs on the workflow server and job hosts
+which are used for authentication.</p>
+</section>
+<section id="authentication-files">
+<span id="id1"></span><h1>Authentication Files<a class="headerlink" href="#authentication-files" title="Link to this heading"></a></h1>
+<p>Cylc uses <a class="reference external" href="http://curvezmq.org/page:read-the-docs">CurveZMQ</a> to ensure that
+any data, sent between the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> and the client,
+remains protected during transmission. Public keys are used to encrypt the
+data, private keys for decryption.</p>
+<p>Authentication files will be created in your
+<code class="docutils literal notranslate"><span class="pre">$HOME/cylc-run/&lt;workflow-id&gt;/.service/</span></code> directory at start-up. You can
+expect to find one client public key per file system for remote jobs.</p>
+<p>On the workflow host, the directory structure should contain:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>~/cylc-run/workflow_x
+`-- .service
+    |-- client_public_keys
+    |   |-- client_localhost.key
+    |   `-- &lt;any further client keys&gt;
+    |-- client.key_secret
+    |-- server.key
+    `-- server.key_secret
+</pre></div>
+</div>
+<p>On the remote job host, the directory structure should contain:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>~/cylc-run/workflow_x
+`-- .service
+    |-- client.key
+    |-- client.key_secret
+    `-- server.key
+</pre></div>
+</div>
+<p>Keys are removed as soon as they are no longer required.</p>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="dynamic-behaviour.html" class="btn btn-neutral float-left" title="Cylc Broadcast" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="workflow-databases.html" class="btn btn-neutral float-right" title="Workflow Run Databases" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/running-workflows/authentication-files";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/running-workflows/dynamic-behaviour.html b/nightly_8.3/html/user-guide/running-workflows/dynamic-behaviour.html
new file mode 100644
index 00000000000..2ebb736ddce
--- /dev/null
+++ b/nightly_8.3/html/user-guide/running-workflows/dynamic-behaviour.html
@@ -0,0 +1,198 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Cylc Broadcast &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Client-Server Interaction" href="authentication-files.html" />
+    <link rel="prev" title="Scheduler Logs" href="scheduler-log-files.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Running Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="scheduler-start-up.html">Start, Restart, Reload</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task &amp; Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tasks-jobs-ui.html">Tasks in the UI</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retrying-tasks.html">Retrying Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tracking-task-state.html">Tracking Job Status</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html">Workflow Completion</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html#scheduler-stall">Scheduler Stall</a></li>
+<li class="toctree-l3"><a class="reference internal" href="reflow.html">Concurrent Flows</a></li>
+<li class="toctree-l3"><a class="reference internal" href="simulation-modes.html">Simulation Modes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler-log-files.html">Scheduler Logs</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Cylc Broadcast</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html">Client-Server Interaction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html#authentication-files">Authentication Files</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-databases.html">Workflow Run Databases</a></li>
+<li class="toctree-l3"><a class="reference internal" href="handling-job-preemption.html">Handling Job Preemption</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Running Workflows</a></li>
+      <li class="breadcrumb-item active">Cylc Broadcast</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/running-workflows/dynamic-behaviour.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="cylc-broadcast">
+<span id="id1"></span><h1>Cylc Broadcast<a class="headerlink" href="#cylc-broadcast" title="Link to this heading"></a></h1>
+<p>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">broadcast</span></code> command overrides task <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime]" title="flow.cylc[runtime]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime]</span></code></a>
+settings in a running scheduler. You can think of it as communicating
+new configuration settings (including information via environment variables) to
+selected upcoming tasks via the scheduler.</p>
+<p>See <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">broadcast</span> <span class="pre">--help</span></code> for detailed information.</p>
+<p>Broadcast settings targeting a specific cycle point expire as the workflow
+moves on. Otherwise they persist for lifetime of the run, and across restarts,
+unless cleared with another invocation of the command.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../tutorial/furthertopics/broadcast.html#broadcast-tutorial"><span class="std std-ref">Broadcast Tutorial</span></a></p>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="scheduler-log-files.html" class="btn btn-neutral float-left" title="Scheduler Logs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="authentication-files.html" class="btn btn-neutral float-right" title="Client-Server Interaction" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/running-workflows/dynamic-behaviour";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/running-workflows/handling-job-preemption.html b/nightly_8.3/html/user-guide/running-workflows/handling-job-preemption.html
new file mode 100644
index 00000000000..50e5e8e2745
--- /dev/null
+++ b/nightly_8.3/html/user-guide/running-workflows/handling-job-preemption.html
@@ -0,0 +1,203 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Handling Job Preemption &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Task Implementation" href="../task-implementation/index.html" />
+    <link rel="prev" title="Workflow Run Databases" href="workflow-databases.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Running Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="scheduler-start-up.html">Start, Restart, Reload</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task &amp; Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tasks-jobs-ui.html">Tasks in the UI</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retrying-tasks.html">Retrying Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tracking-task-state.html">Tracking Job Status</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html">Workflow Completion</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html#scheduler-stall">Scheduler Stall</a></li>
+<li class="toctree-l3"><a class="reference internal" href="reflow.html">Concurrent Flows</a></li>
+<li class="toctree-l3"><a class="reference internal" href="simulation-modes.html">Simulation Modes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler-log-files.html">Scheduler Logs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="dynamic-behaviour.html">Cylc Broadcast</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html">Client-Server Interaction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html#authentication-files">Authentication Files</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-databases.html">Workflow Run Databases</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Handling Job Preemption</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Running Workflows</a></li>
+      <li class="breadcrumb-item active">Handling Job Preemption</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/running-workflows/handling-job-preemption.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="handling-job-preemption">
+<span id="preemptionhpc"></span><h1>Handling Job Preemption<a class="headerlink" href="#handling-job-preemption" title="Link to this heading"></a></h1>
+<p>Some HPC facilities allow job preemption: the resource manager can kill
+or suspend running low priority jobs in order to make way for high
+priority jobs. The preempted jobs may then be automatically restarted
+by the resource manager, from the same point (if suspended) or requeued
+to run again from the start (if killed).</p>
+<p>Suspended jobs will poll as still running (their job status file says they
+started running, and they still appear in the resource manager queue).
+Loadleveler jobs that are preempted by kill-and-requeue (“job vacation”) are
+automatically returned to the submitted state by Cylc. This is possible
+because Loadleveler sends the SIGUSR1 signal before SIGKILL for preemption.
+Other <a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job runners</span></a> just send SIGTERM before SIGKILL as normal, so Cylc
+cannot distinguish a preemption job kill from a normal job kill. After this the
+job will poll as failed (correctly, because it was killed, and the job status
+file records that). To handle this kind of preemption automatically you could
+use a task failed or retry event handler that queries the job runner queue
+(after an appropriate delay if necessary) and then, if the job has been
+requeued, uses <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">reset</span></code> to reset the task to the submitted state.</p>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="workflow-databases.html" class="btn btn-neutral float-left" title="Workflow Run Databases" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../task-implementation/index.html" class="btn btn-neutral float-right" title="Task Implementation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/running-workflows/handling-job-preemption";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/running-workflows/index.html b/nightly_8.3/html/user-guide/running-workflows/index.html
new file mode 100644
index 00000000000..73fa5394c09
--- /dev/null
+++ b/nightly_8.3/html/user-guide/running-workflows/index.html
@@ -0,0 +1,238 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Running Workflows &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Start, Restart, Reload" href="scheduler-start-up.html" />
+    <link rel="prev" title="Installing Workflows" href="../installing-workflows.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Running Workflows</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="scheduler-start-up.html">Start, Restart, Reload</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task &amp; Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tasks-jobs-ui.html">Tasks in the UI</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retrying-tasks.html">Retrying Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tracking-task-state.html">Tracking Job Status</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html">Workflow Completion</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html#scheduler-stall">Scheduler Stall</a></li>
+<li class="toctree-l3"><a class="reference internal" href="reflow.html">Concurrent Flows</a></li>
+<li class="toctree-l3"><a class="reference internal" href="simulation-modes.html">Simulation Modes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler-log-files.html">Scheduler Logs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="dynamic-behaviour.html">Cylc Broadcast</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html">Client-Server Interaction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html#authentication-files">Authentication Files</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-databases.html">Workflow Run Databases</a></li>
+<li class="toctree-l3"><a class="reference internal" href="handling-job-preemption.html">Handling Job Preemption</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+      <li class="breadcrumb-item active">Running Workflows</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/running-workflows/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="running-workflows">
+<span id="runningworkflows"></span><h1>Running Workflows<a class="headerlink" href="#running-workflows" title="Link to this heading"></a></h1>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="scheduler-start-up.html">Start, Restart, Reload</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="scheduler-start-up.html#start-and-stop-vs-initial-and-final-cycle-points">Start and Stop vs Initial and Final Cycle Points</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduler-start-up.html#restarts-and-the-initial-final-start-and-stop-cycle-points">Restarts and the Initial, Final, Start and Stop Cycle Points</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduler-start-up.html#reloading-the-workflow-configuration-at-runtime">Reloading the Workflow Configuration at Runtime</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduler-start-up.html#restarting-or-reloading-after-graph-changes">Restarting or Reloading after Graph Changes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduler-start-up.html#remote-initialization">Remote Initialization</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduler-start-up.html#files-created-at-workflow-start">Files created at workflow start</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="task-job-states.html">Task &amp; Job States</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="task-job-states.html#task-modifiers">Task Modifiers</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="tasks-jobs-ui.html">Tasks in the UI</a></li>
+<li class="toctree-l1"><a class="reference internal" href="retrying-tasks.html">Retrying Tasks</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="retrying-tasks.html#aborting-a-retry-sequence">Aborting a Retry Sequence</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="tracking-task-state.html">Tracking Job Status</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="tracking-task-state.html#tcp-task-messaging">TCP Task Messaging</a></li>
+<li class="toctree-l2"><a class="reference internal" href="tracking-task-state.html#ssh-task-communication">SSH Task Communication</a></li>
+<li class="toctree-l2"><a class="reference internal" href="tracking-task-state.html#polling-to-track-job-status">Polling to Track Job Status</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="workflow-completion.html">Workflow Completion</a></li>
+<li class="toctree-l1"><a class="reference internal" href="workflow-completion.html#scheduler-stall">Scheduler Stall</a></li>
+<li class="toctree-l1"><a class="reference internal" href="reflow.html">Concurrent Flows</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="reflow.html#flow-numbers">Flow Numbers</a></li>
+<li class="toctree-l2"><a class="reference internal" href="reflow.html#triggering-flows">Triggering &amp; Flows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="reflow.html#flow-merging-in-n-0">Flow Merging in <code class="docutils literal notranslate"><span class="pre">n=0</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="reflow.html#stopping-flows">Stopping Flows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="reflow.html#some-use-cases">Some Use Cases</a></li>
+<li class="toctree-l2"><a class="reference internal" href="reflow.html#example-rerun-a-sub-graph">Example: Rerun a Sub-Graph</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="simulation-modes.html">Simulation Modes</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="simulation-modes.html#simulated-run-length">Simulated Run Length</a></li>
+<li class="toctree-l2"><a class="reference internal" href="simulation-modes.html#limitations">Limitations</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="scheduler-log-files.html">Scheduler Logs</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="scheduler-log-files.html#cylc-message">Cylc Message</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="dynamic-behaviour.html">Cylc Broadcast</a></li>
+<li class="toctree-l1"><a class="reference internal" href="authentication-files.html">Client-Server Interaction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="authentication-files.html#authentication-files">Authentication Files</a></li>
+<li class="toctree-l1"><a class="reference internal" href="workflow-databases.html">Workflow Run Databases</a></li>
+<li class="toctree-l1"><a class="reference internal" href="handling-job-preemption.html">Handling Job Preemption</a></li>
+</ul>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../installing-workflows.html" class="btn btn-neutral float-left" title="Installing Workflows" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="scheduler-start-up.html" class="btn btn-neutral float-right" title="Start, Restart, Reload" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/running-workflows/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/running-workflows/reflow.html b/nightly_8.3/html/user-guide/running-workflows/reflow.html
new file mode 100644
index 00000000000..6ab3d69ace8
--- /dev/null
+++ b/nightly_8.3/html/user-guide/running-workflows/reflow.html
@@ -0,0 +1,373 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Concurrent Flows &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Simulation Modes" href="simulation-modes.html" />
+    <link rel="prev" title="Workflow Completion" href="workflow-completion.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Running Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="scheduler-start-up.html">Start, Restart, Reload</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task &amp; Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tasks-jobs-ui.html">Tasks in the UI</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retrying-tasks.html">Retrying Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tracking-task-state.html">Tracking Job Status</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html">Workflow Completion</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html#scheduler-stall">Scheduler Stall</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Concurrent Flows</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#flow-numbers">Flow Numbers</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#triggering-flows">Triggering &amp; Flows</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#flow-merging-in-n-0">Flow Merging in <code class="docutils literal notranslate"><span class="pre">n=0</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="#stopping-flows">Stopping Flows</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#some-use-cases">Some Use Cases</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#example-rerun-a-sub-graph">Example: Rerun a Sub-Graph</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="simulation-modes.html">Simulation Modes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler-log-files.html">Scheduler Logs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="dynamic-behaviour.html">Cylc Broadcast</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html">Client-Server Interaction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html#authentication-files">Authentication Files</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-databases.html">Workflow Run Databases</a></li>
+<li class="toctree-l3"><a class="reference internal" href="handling-job-preemption.html">Handling Job Preemption</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Running Workflows</a></li>
+      <li class="breadcrumb-item active">Concurrent Flows</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/running-workflows/reflow.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="concurrent-flows">
+<span id="user-guide-reflow"></span><h1>Concurrent Flows<a class="headerlink" href="#concurrent-flows" title="Link to this heading"></a></h1>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<p>In Cylc, a <em>flow</em> is a single self-consistent run through the workflow
+<a class="reference internal" href="../../glossary.html#term-graph"><span class="xref std std-term">graph</span></a> from some initial task(s).</p>
+<p>As a flow advances, upcoming tasks run only if they have not already run in
+the same flow.</p>
+<p>At start-up the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> automatically triggers the first flow from
+the start of the graph.</p>
+<p>By default, manually triggered tasks “belong to” the existing flow(s), but you
+can also choose to start new flows by triggering tasks anywhere in the graph.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>A flow does not have to be contiguous in the graph because different graph
+branches can evolve at different rates, and tasks can be manually triggered
+anywhere in the graph.</p>
+</div>
+<p>See <a class="reference internal" href="#flow-trigger-use-cases"><span class="std std-ref">below</span></a> for uses, and an
+<a class="reference internal" href="#new-flow-example"><span class="std std-ref">example</span></a>, of concurrent flows.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Flows <a class="reference internal" href="#flow-merging"><span class="std std-ref">merge</span></a> where (and if) tasks collide in the <code class="docutils literal notranslate"><span class="pre">n=0</span></code>
+<a class="reference internal" href="../../glossary.html#term-active-window"><span class="xref std std-term">active window</span></a>. Downstream of a merge, tasks are considered to belong
+to all of their constituent flows.</p>
+</div>
+<section id="flow-numbers">
+<h2>Flow Numbers<a class="headerlink" href="#flow-numbers" title="Link to this heading"></a></h2>
+<p>Flows are identified by numbers passed down from parent task to child task in
+the graph.</p>
+<p>Flow number <code class="docutils literal notranslate"><span class="pre">1</span></code> is triggered automatically by <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> at <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a>
+start-up. The next flow started by <a class="reference internal" href="#triggering-flows"><span class="std std-ref">manual triggering</span></a>
+gets the number <code class="docutils literal notranslate"><span class="pre">2</span></code>, then <code class="docutils literal notranslate"><span class="pre">3</span></code>, and so on.</p>
+<p>Tasks can carry multiple flow numbers as a result of <a class="reference internal" href="#flow-merging"><span class="std std-ref">flow
+merging</span></a>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Flow numbers are not yet exposed in the UI, but they are logged with task
+events in the <a class="reference internal" href="../../glossary.html#term-scheduler-log"><span class="xref std std-term">scheduler log</span></a>.</p>
+</div>
+</section>
+<section id="triggering-flows">
+<span id="id1"></span><h2>Triggering &amp; Flows<a class="headerlink" href="#triggering-flows" title="Link to this heading"></a></h2>
+<p>By default, manual triggering (with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">trigger</span></code> or the UI) starts a new
+<a class="reference internal" href="../../glossary.html#term-flow-front"><span class="xref std std-term">front of activity</span></a> in current flows.
+But it can also start new flows and trigger flow-independent single tasks.</p>
+<p>In the diagrams below, the grey tasks run in the original flow (<code class="docutils literal notranslate"><span class="pre">1</span></code>), and the
+blue ones run as a result of a manual triggering event. They may be triggered
+as part of flow <code class="docutils literal notranslate"><span class="pre">1</span></code>, or as a new flow <code class="docutils literal notranslate"><span class="pre">2</span></code>, or with no flow number.</p>
+<dl>
+<dt>Triggering in Current Flows</dt><dd><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">trigger</span> <span class="pre">[--wait]</span> <span class="pre">ID</span></code></p>
+<p>This is the default action. The triggered task gets all current active flow
+numbers. Subsequently, each of those flows will consider the task to have
+run already.</p>
+<p><strong>Ahead of active flows</strong> this starts a new front of activity for the
+existing flows, which by default can continue on without waiting for them to
+catch up:</p>
+<img alt="../../_images/same-flow-n.png" src="../../_images/same-flow-n.png" />
+<p>With <code class="docutils literal notranslate"><span class="pre">--wait</span></code>, action downstream of the triggered task is delayed until
+the first flow catches up:</p>
+<img alt="../../_images/same-flow-wait-n.png" src="../../_images/same-flow-wait-n.png" />
+<p><strong>Behind active flows</strong> the triggered task will run, but nothing more will
+happen if any of the original flows already passed by there:</p>
+<img alt="../../_images/same-flow-behind.png" src="../../_images/same-flow-behind.png" />
+</dd>
+<dt>Triggering in Specific Flows</dt><dd><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">trigger</span> <span class="pre">--flow=1,2</span> <span class="pre">ID</span></code></p>
+<p>This triggers the task with flow numbers <code class="docutils literal notranslate"><span class="pre">1</span></code> and <code class="docutils literal notranslate"><span class="pre">2</span></code>.</p>
+<p>The result is like the default above, except that tasks in the new front
+belong only to the specified flow(s), regardless of which flows are
+<a class="reference internal" href="../../glossary.html#term-active"><span class="xref std std-term">active</span></a> at triggering time.</p>
+</dd>
+<dt>Triggering a New Flow</dt><dd><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">trigger</span> <span class="pre">--flow=new</span> <span class="pre">ID</span></code></p>
+<p>This triggers the task with a new, incremented flow number.</p>
+<p>The new flow will re-run tasks that already ran in previous flows:</p>
+<img alt="../../_images/new-flow-n.png" src="../../_images/new-flow-n.png" />
+</dd>
+<dt>Triggering a Flow-Independent Single Task</dt><dd><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">trigger</span> <span class="pre">--flow=none</span> <span class="pre">ID</span></code></p>
+<p>This triggers a task with no flow numbers.</p>
+<p>It will not spawn children, and other flows that come by will re-run it.</p>
+<img alt="../../_images/no-flow-n.png" src="../../_images/no-flow-n.png" />
+</dd>
+<dt>Triggering with No Active Flows</dt><dd><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">trigger</span> <span class="pre">[--wait]</span> <span class="pre">ID</span></code></p>
+<p>By default, triggered tasks will be given the flow numbers of the most
+recent active task. This can happen, for instance, if you restart a
+completed workflow and then trigger a task in it. The result will be the
+same as if you had triggered the task just before the workflow completed.</p>
+</dd>
+<dt>Special Case: Triggering <code class="docutils literal notranslate"><span class="pre">n=0</span></code> Tasks</dt><dd><p>Tasks in the <code class="docutils literal notranslate"><span class="pre">n=0</span></code> window are <a class="reference internal" href="../../glossary.html#term-active"><span class="xref std std-term">active</span></a>, <a class="reference internal" href="../../glossary.html#term-active-waiting"><span class="xref std std-term">active-waiting</span></a>, or
+<a class="reference internal" href="../../glossary.html#term-incomplete"><span class="xref std std-term">incomplete</span></a>. Their flow membership is already determined - that of
+the parent tasks that spawned them.</p>
+<ul class="simple">
+<li><p>Triggering an <a class="reference internal" href="../../glossary.html#term-active-task"><span class="xref std std-term">active task</span></a> has no effect (it is already triggered).</p></li>
+<li><p>Triggering an <a class="reference internal" href="../../glossary.html#term-active-waiting-task"><span class="xref std std-term">active-waiting task</span></a> queues it to run in the same flow.</p></li>
+<li><p>Triggering an <a class="reference internal" href="../../glossary.html#term-incomplete-task"><span class="xref std std-term">incomplete task</span></a> queues it to re-run in the same flow.</p></li>
+</ul>
+</dd>
+</dl>
+</section>
+<section id="flow-merging-in-n-0">
+<span id="flow-merging"></span><h2>Flow Merging in <code class="docutils literal notranslate"><span class="pre">n=0</span></code><a class="headerlink" href="#flow-merging-in-n-0" title="Link to this heading"></a></h2>
+<p>If a task spawning into the <code class="docutils literal notranslate"><span class="pre">n=0</span></code> <a class="reference internal" href="../../glossary.html#term-window"><span class="xref std std-term">window</span></a> finds another instance
+of itself already there (i.e., same name and cycle point, different flow
+number) a single instance will carry both (sets of) flow numbers forward from
+that point. Downstream tasks belong to both flows.</p>
+<p>Flow merging in <code class="docutils literal notranslate"><span class="pre">n=0</span></code> means flows are not completely independent. One flow
+might not be able to entirely overtake another because one or more of its tasks
+might merge in <code class="docutils literal notranslate"><span class="pre">n=0</span></code>. Merging is necessary while task IDs - and associated
+log directory paths etc. - do not incorporate flow numbers, because task IDs
+must be unique in the <a class="reference internal" href="../../glossary.html#term-active-task-pool"><span class="xref std std-term">active task pool</span></a>.</p>
+<section id="merging-with-incomplete-tasks">
+<h3>Merging with Incomplete tasks<a class="headerlink" href="#merging-with-incomplete-tasks" title="Link to this heading"></a></h3>
+<p><a class="reference internal" href="../../glossary.html#term-incomplete"><span class="xref std std-term">Incomplete</span></a> tasks are retained in the active window in
+expectation of retriggering to complete <a class="reference internal" href="../../glossary.html#term-required-output"><span class="xref std std-term">required outputs</span></a> and continue their flow.</p>
+<p>If another flow encounters an incomplete task (i.e. if another instance of the
+same task collides with it in the <code class="docutils literal notranslate"><span class="pre">n=0</span></code> <a class="reference internal" href="../../glossary.html#term-active-window"><span class="xref std std-term">active window</span></a>) the task will
+run again and carry both flow numbers forward if it successfully completes its
+required outputs.</p>
+</section>
+</section>
+<section id="stopping-flows">
+<h2>Stopping Flows<a class="headerlink" href="#stopping-flows" title="Link to this heading"></a></h2>
+<p>By default, <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">stop</span></code> halts the workflow and shuts the scheduler down.</p>
+<p>It can also stop specific flows: <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">stop</span> <span class="pre">--flow=N</span></code> removes the flow number
+<code class="docutils literal notranslate"><span class="pre">N</span></code> from tasks in the <a class="reference internal" href="../../glossary.html#term-active-task-pool"><span class="xref std std-term">active task pool</span></a>. Tasks that have no flow
+numbers left as a result do not spawn children at all. If there are no active
+flows left, the scheduler shuts down.</p>
+</section>
+<section id="some-use-cases">
+<span id="flow-trigger-use-cases"></span><h2>Some Use Cases<a class="headerlink" href="#some-use-cases" title="Link to this heading"></a></h2>
+<dl>
+<dt>Running Tasks Ahead of Time</dt><dd><p>To run a task within the existing flow(s) even though its prerequisites are
+not yet satisfied, just trigger it. Use <code class="docutils literal notranslate"><span class="pre">--wait</span></code> if you don’t want the new
+flow front to continue immediately. Triggered task(s) will not re-run when
+the main front catches up.</p>
+</dd>
+<dt>Regenerating Outputs Behind a Flow</dt><dd><p>To re-run a sub-graph (e.g. because the original run was affected by a
+corrupt file), just trigger the task(s) at the top of the sub-graph with
+<code class="docutils literal notranslate"><span class="pre">--flow=new</span></code>.</p>
+<p>You may need to manually stop the new flow if it leads into the main trunk
+of the graph, and you do not want it to carry on indefinitely.</p>
+</dd>
+<dt>Rewinding a Workflow</dt><dd><p>To rewind the workflow to an earlier point, perhaps to regenerate data and/or
+allow the workflow to evolve a new path into the future, trigger a new
+flow at the right place and then stop the original flow.</p>
+</dd>
+<dt>Test-running Tasks in a Live Workflow</dt><dd><p>You can trigger individual tasks as many times as you like with
+<code class="docutils literal notranslate"><span class="pre">--flow=none</span></code>, without affecting the workflow. The task <a class="reference internal" href="../../glossary.html#term-submit-number"><span class="xref std std-term">submit
+number</span></a> will increment each time.</p>
+</dd>
+<dt>Processing Flow-Specific Data?</dt><dd><p><a class="reference internal" href="../../glossary.html#term-flow-number"><span class="xref std std-term">Flow numbers</span></a> are passed to job environments, so it is
+possible for tasks to process flow-specific data. Every task would have to
+be capable of processing multiple datasets at once, however, in case of
+<a class="reference internal" href="../../glossary.html#term-flow-merge"><span class="xref std std-term">flow merging</span></a>. Generally, you should use <a class="reference internal" href="../../glossary.html#term-cycling"><span class="xref std std-term">cycling</span></a>
+for this kind of use case.</p>
+</dd>
+</dl>
+</section>
+<section id="example-rerun-a-sub-graph">
+<span id="new-flow-example"></span><h2>Example: Rerun a Sub-Graph<a class="headerlink" href="#example-rerun-a-sub-graph" title="Link to this heading"></a></h2>
+<p>The following <a class="reference internal" href="../../glossary.html#term-cycling-workflow"><span class="xref std std-term">cycling workflow</span></a> runs a <a class="reference internal" href="../../glossary.html#term-task"><span class="xref std std-term">task</span></a> called <code class="docutils literal notranslate"><span class="pre">model</span></code> in
+every cycle, followed by a postprocessing task, two product-generating tasks,
+and finally a task that publishes results for the cycle point:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">cycling mode </span><span class="o">=</span><span class="s"> integer</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 1</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P1 = model[-P1] =&gt; model =&gt; post =&gt; prod1 &amp; prod2 </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">publish</span>
+</pre></div>
+</div>
+<p>Let’s say the workflow has run to cycle 8, but we have just noticed that
+a corrupted ancillary file resulted in bad products at cycle 5.</p>
+<p>To rectify this we could fix the corrupted file and trigger a new flow at
+<code class="docutils literal notranslate"><span class="pre">5/post</span></code>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">cylc trigger --flow</span><span class="o">=</span><span class="s">new &lt;workflow_id&gt;//5/post</span>
+</pre></div>
+</div>
+<p>The new flow will regenerate and republish cycle 5 products before naturally
+coming to a halt, because the triggered tasks do not feed into the next cycle.</p>
+<p>Meanwhile, the original flow will carry on unaffected, from cycle point 8.</p>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="workflow-completion.html" class="btn btn-neutral float-left" title="Workflow Completion" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="simulation-modes.html" class="btn btn-neutral float-right" title="Simulation Modes" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/running-workflows/reflow";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/running-workflows/retrying-tasks.html b/nightly_8.3/html/user-guide/running-workflows/retrying-tasks.html
new file mode 100644
index 00000000000..82eba270b96
--- /dev/null
+++ b/nightly_8.3/html/user-guide/running-workflows/retrying-tasks.html
@@ -0,0 +1,227 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Retrying Tasks &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Tracking Job Status" href="tracking-task-state.html" />
+    <link rel="prev" title="Tasks in the UI" href="tasks-jobs-ui.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Running Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="scheduler-start-up.html">Start, Restart, Reload</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task &amp; Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tasks-jobs-ui.html">Tasks in the UI</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Retrying Tasks</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#aborting-a-retry-sequence">Aborting a Retry Sequence</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="tracking-task-state.html">Tracking Job Status</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html">Workflow Completion</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html#scheduler-stall">Scheduler Stall</a></li>
+<li class="toctree-l3"><a class="reference internal" href="reflow.html">Concurrent Flows</a></li>
+<li class="toctree-l3"><a class="reference internal" href="simulation-modes.html">Simulation Modes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler-log-files.html">Scheduler Logs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="dynamic-behaviour.html">Cylc Broadcast</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html">Client-Server Interaction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html#authentication-files">Authentication Files</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-databases.html">Workflow Run Databases</a></li>
+<li class="toctree-l3"><a class="reference internal" href="handling-job-preemption.html">Handling Job Preemption</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Running Workflows</a></li>
+      <li class="breadcrumb-item active">Retrying Tasks</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/running-workflows/retrying-tasks.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="retrying-tasks">
+<h1>Retrying Tasks<a class="headerlink" href="#retrying-tasks" title="Link to this heading"></a></h1>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0.</span></p>
+</div>
+<p>Tasks that fail but are configured to <a class="reference internal" href="../../glossary.html#term-retry"><span class="xref std std-term">retry</span></a> return to the <code class="docutils literal notranslate"><span class="pre">waiting</span></code>
+state, with a new clock trigger to handle the configured retry delay.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>A task that is waiting on a retry will already have one or more failed jobs
+associated with it.</p>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Tasks only enter the <code class="docutils literal notranslate"><span class="pre">submit-failed</span></code> state if job submission fails with no
+retries left. Otherwise they return to the waiting state, to wait on the
+next try.</p>
+<p>Tasks only enter the <code class="docutils literal notranslate"><span class="pre">failed</span></code> state if job execution fails with no retries
+left. Otherwise they return to the waiting state, to wait on the next try.</p>
+</div>
+<section id="aborting-a-retry-sequence">
+<h2>Aborting a Retry Sequence<a class="headerlink" href="#aborting-a-retry-sequence" title="Link to this heading"></a></h2>
+<p>To prevent a waiting task from retrying, remove it from the scheduler’s
+<a class="reference internal" href="../../glossary.html#term-active-window"><span class="xref std std-term">active window</span></a>. For a task <code class="docutils literal notranslate"><span class="pre">3/foo</span></code> in workflow <code class="docutils literal notranslate"><span class="pre">brew</span></code>:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>remove<span class="w"> </span>brew//3/foo
+</pre></div>
+</div>
+<p>If you <em>kill</em> a running task that has more retries configured, it goes to the
+<code class="docutils literal notranslate"><span class="pre">held</span></code> state so you can decide whether to release it and continue the retry
+sequence, or remove it.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span><span class="nb">kill</span><span class="w"> </span>brew//3/foo<span class="w">     </span><span class="c1"># 3/foo goes to held state post kill</span>
+<span class="gp">$ </span>cylc<span class="w"> </span>release<span class="w"> </span>brew//3/foo<span class="w">  </span><span class="c1"># release to continue retrying...</span>
+<span class="gp">$ </span>cylc<span class="w"> </span>remove<span class="w"> </span>brew//3/foo<span class="w">   </span><span class="c1"># ... OR remove the task to stop retries</span>
+</pre></div>
+</div>
+<p>If you want trigger downstream tasks despite <code class="docutils literal notranslate"><span class="pre">3/foo</span></code> being removed before it
+could succeed, use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">set-outputs</span></code> to artificially mark its <code class="docutils literal notranslate"><span class="pre">succeeded</span></code>
+output as complete (and with the <code class="docutils literal notranslate"><span class="pre">--flow</span></code> option, to make the <a class="reference internal" href="../../glossary.html#term-flow"><span class="xref std std-term">flow</span></a>
+continue on from there).</p>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="tasks-jobs-ui.html" class="btn btn-neutral float-left" title="Tasks in the UI" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="tracking-task-state.html" class="btn btn-neutral float-right" title="Tracking Job Status" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/running-workflows/retrying-tasks";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/running-workflows/scheduler-log-files.html b/nightly_8.3/html/user-guide/running-workflows/scheduler-log-files.html
new file mode 100644
index 00000000000..a0a8f300425
--- /dev/null
+++ b/nightly_8.3/html/user-guide/running-workflows/scheduler-log-files.html
@@ -0,0 +1,242 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Scheduler Logs &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Cylc Broadcast" href="dynamic-behaviour.html" />
+    <link rel="prev" title="Simulation Modes" href="simulation-modes.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Running Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="scheduler-start-up.html">Start, Restart, Reload</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task &amp; Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tasks-jobs-ui.html">Tasks in the UI</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retrying-tasks.html">Retrying Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tracking-task-state.html">Tracking Job Status</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html">Workflow Completion</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html#scheduler-stall">Scheduler Stall</a></li>
+<li class="toctree-l3"><a class="reference internal" href="reflow.html">Concurrent Flows</a></li>
+<li class="toctree-l3"><a class="reference internal" href="simulation-modes.html">Simulation Modes</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Scheduler Logs</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#cylc-message">Cylc Message</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="dynamic-behaviour.html">Cylc Broadcast</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html">Client-Server Interaction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html#authentication-files">Authentication Files</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-databases.html">Workflow Run Databases</a></li>
+<li class="toctree-l3"><a class="reference internal" href="handling-job-preemption.html">Handling Job Preemption</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Running Workflows</a></li>
+      <li class="breadcrumb-item active">Scheduler Logs</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/running-workflows/scheduler-log-files.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="scheduler-logs">
+<span id="id1"></span><h1>Scheduler Logs<a class="headerlink" href="#scheduler-logs" title="Link to this heading"></a></h1>
+<p>Each workflow maintains its own log of time-stamped events in the
+<a class="reference internal" href="../../glossary.html#term-workflow-log-directory"><span class="xref std std-term">workflow log directory</span></a> (<code class="docutils literal notranslate"><span class="pre">$HOME/cylc-run/&lt;workflow-id&gt;/log/scheduler/</span></code>).</p>
+<p>The information logged here includes:</p>
+<ul class="simple">
+<li><p>Event timestamps, at the start of each line</p></li>
+<li><p>Workflow server host, port and process ID</p></li>
+<li><p>Workflow initial and final cycle points</p></li>
+<li><p>Workflow start type (i.e. cold start, warn start, restart)</p></li>
+<li><p>Task events (task started, succeeded, failed, etc.)</p></li>
+<li><p>Workflow stalled warnings.</p></li>
+<li><p>Client commands (e.g. <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">hold</span></code>)</p></li>
+<li><p>Job IDs.</p></li>
+<li><p>Information relating to the remote file installation is contained in a
+separate log file, which can be found in
+<code class="docutils literal notranslate"><span class="pre">$HOME/cylc-run/&lt;workflow-id&gt;/log/remote-install/</span></code>.</p></li>
+</ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Workflow log files are primarily intended for human eyes. If you need
+to have an external system to monitor workflow events automatically, use:</p>
+<ul class="simple">
+<li><p>Event hooks (see <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler][events]" title="flow.cylc[scheduler][events]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]</span></code></a> and
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][events]" title="flow.cylc[runtime][&lt;namespace&gt;][events]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]</span></code></a>).</p></li>
+<li><p>The GraphQL interface (can be accessed via GraphiQL in the Cylc GUI).</p></li>
+<li><p>The sqlite <em>workflow run database</em>
+(see <a class="reference internal" href="workflow-databases.html#workflow-run-databases"><span class="std std-ref">Workflow Run Databases</span></a>)</p></li>
+</ul>
+<p>Rather than parse the log files.</p>
+</div>
+<section id="cylc-message">
+<span id="scheduler-logs-cylc-message"></span><h2>Cylc Message<a class="headerlink" href="#cylc-message" title="Link to this heading"></a></h2>
+<p>The Scheduler Log also records messages sent by <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">message</span></code> allowing you
+to add custom messages to this log.</p>
+<p>For example, if your task contained the following code:</p>
+<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>message<span class="w"> </span>--<span class="w"> </span><span class="s2">&quot;ERROR:some_function failed.&quot;</span>
+</pre></div>
+</div>
+<p>Your log should produce output similar to:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>ERROR - [21491012T0410Z/mytask running job:01 flows:1] (received)some_function failed ERROR at 2023-04-14T11:36:35+01:00
+</pre></div>
+</div>
+<p>Severity levels are the same as those used by
+<a class="reference external" href="https://docs.python.org/3/library/logging.html#logging-levels">Python’s logger</a>:</p>
+<ul class="simple">
+<li><p>CRITICAL</p></li>
+<li><p>ERROR</p></li>
+<li><p>WARNING</p></li>
+<li><p>INFO</p></li>
+<li><p>DEBUG</p></li>
+</ul>
+<p>Messages logged at “DEBUG” will only appear in the scheduler log if the
+workflow is played with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span> <span class="pre">--debug</span></code>.</p>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="simulation-modes.html" class="btn btn-neutral float-left" title="Simulation Modes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="dynamic-behaviour.html" class="btn btn-neutral float-right" title="Cylc Broadcast" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/running-workflows/scheduler-log-files";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/running-workflows/scheduler-start-up.html b/nightly_8.3/html/user-guide/running-workflows/scheduler-start-up.html
new file mode 100644
index 00000000000..1f93f8bbd35
--- /dev/null
+++ b/nightly_8.3/html/user-guide/running-workflows/scheduler-start-up.html
@@ -0,0 +1,438 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Start, Restart, Reload &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Task &amp; Job States" href="task-job-states.html" />
+    <link rel="prev" title="Running Workflows" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Running Workflows</a><ul class="current">
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Start, Restart, Reload</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#start-and-stop-vs-initial-and-final-cycle-points">Start and Stop vs Initial and Final Cycle Points</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#restarts-and-the-initial-final-start-and-stop-cycle-points">Restarts and the Initial, Final, Start and Stop Cycle Points</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#reloading-the-workflow-configuration-at-runtime">Reloading the Workflow Configuration at Runtime</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#restarting-or-reloading-after-graph-changes">Restarting or Reloading after Graph Changes</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#remote-initialization">Remote Initialization</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#files-created-at-workflow-start">Files created at workflow start</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task &amp; Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tasks-jobs-ui.html">Tasks in the UI</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retrying-tasks.html">Retrying Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tracking-task-state.html">Tracking Job Status</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html">Workflow Completion</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html#scheduler-stall">Scheduler Stall</a></li>
+<li class="toctree-l3"><a class="reference internal" href="reflow.html">Concurrent Flows</a></li>
+<li class="toctree-l3"><a class="reference internal" href="simulation-modes.html">Simulation Modes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler-log-files.html">Scheduler Logs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="dynamic-behaviour.html">Cylc Broadcast</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html">Client-Server Interaction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html#authentication-files">Authentication Files</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-databases.html">Workflow Run Databases</a></li>
+<li class="toctree-l3"><a class="reference internal" href="handling-job-preemption.html">Handling Job Preemption</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Running Workflows</a></li>
+      <li class="breadcrumb-item active">Start, Restart, Reload</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/running-workflows/scheduler-start-up.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="start-restart-reload">
+<span id="workflowstartup"></span><h1>Start, Restart, Reload<a class="headerlink" href="#start-restart-reload" title="Link to this heading"></a></h1>
+<p>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> command starts a new instance of the Cylc scheduler program
+to manage a workflow, for the duration of the run. It also resumes paused
+workflows.</p>
+<p>There are several ways to start a workflow that is not running:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> <strong>from the initial cycle point</strong></p>
+<ul>
+<li><p>This is the default for a workflow that has not run yet</p></li>
+<li><p>The <code class="docutils literal notranslate"><span class="pre">initial</span> <span class="pre">cycle</span> <span class="pre">point</span></code> is taken from <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> or the command line</p></li>
+<li><p>Dependence on earlier tasks is ignored, for convenience</p></li>
+<li><p>(In Cylc 7, this was called a <em>cold start</em>)</p></li>
+</ul>
+</li>
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span> <span class="pre">--start-cycle-point=POINT</span></code> <strong>from a later start cycle point</strong></p>
+<ul>
+<li><p>This is an option for a workflow that has not run yet</p></li>
+<li><p>The start point must be given on the command line</p></li>
+<li><p>Dependence on earlier tasks is ignored, for convenience</p></li>
+<li><p>The initial cycle point value defined in <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> is preserved</p></li>
+<li><p>(In Cylc 7, this was called a <em>warm start</em>)</p></li>
+</ul>
+</li>
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span> <span class="pre">--start-task=TASK-ID</span></code> <strong>from any task(s) in the graph</strong></p>
+<ul>
+<li><p>This is an option for a workflow that has not run yet</p></li>
+<li><p>The start task(s) must be given on the command line</p></li>
+<li><p>The flow will follow the graph onward from the start task(s)</p></li>
+<li><p>(In Cylc 7, this was not possible)</p></li>
+<li><p>(This makes Cylc 7 restart-from-checkpoint obsolete)</p></li>
+</ul>
+</li>
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> to <strong>restart from previous state</strong></p>
+<ul>
+<li><p>This is automatic for a workflow that previously ran</p></li>
+<li><p>The scheduler will carry on from exactly where it got to before</p></li>
+<li><p>At start-up, it will automatically find out what happened to any active
+tasks that were orphaned during shutdown</p></li>
+<li><p>Failed tasks are not automatically resubmitted at restart, in case the
+underlying problem has not been addressed</p></li>
+<li><p>(In Cylc 7, this used the now-obsolete restart command)</p></li>
+</ul>
+</li>
+</ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>If a workflow gets stopped or killed it can be restarted, but to avoid
+corrupting an existing run directory it cannot be started again from scratch
+(unless you delete certain files from the run directory). To start from
+scratch again, install a new copy of the workflow to a new run directory.</p>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../installing-workflows.html#installing-workflows"><span class="std std-ref">Installing Workflows</span></a></p></li>
+</ul>
+</div>
+<section id="start-and-stop-vs-initial-and-final-cycle-points">
+<span id="start-stop-cycle-point"></span><h2>Start and Stop vs Initial and Final Cycle Points<a class="headerlink" href="#start-and-stop-vs-initial-and-final-cycle-points" title="Link to this heading"></a></h2>
+<p>All workflows have an <a class="reference internal" href="../../glossary.html#term-initial-cycle-point"><span class="xref std std-term">initial cycle point</span></a> and some may have a
+<a class="reference internal" href="../../glossary.html#term-final-cycle-point"><span class="xref std std-term">final cycle point</span></a>. These define extent of the graph of tasks that Cylc
+can schedule to run.</p>
+<p>Start and stop cycle points, if used, define a sub-section of the graph that
+the scheduler actually does run. For example:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">cycling mode </span><span class="o">=</span><span class="s"> integer</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 1</span>
+    <span class="nv">final cycle point </span><span class="o">=</span><span class="s"> 5</span>
+    <span class="nt">[[graph]]</span>
+        <span class="c1"># every cycle: 1, 2, 3, 4, 5</span>
+        <span class="nv">P1 </span><span class="o">=</span> <span class="kd">foo</span>
+        <span class="c1"># every other cycle: 1, 3, 5</span>
+        <span class="nv">P2 </span><span class="o">=</span> <span class="kd">bar</span>
+</pre></div>
+</div>
+<p>With a <a class="reference internal" href="../../glossary.html#term-start-cycle-point"><span class="xref std std-term">start cycle point</span></a> of <code class="docutils literal notranslate"><span class="pre">2</span></code> and a <a class="reference internal" href="../../glossary.html#term-stop-cycle-point"><span class="xref std std-term">stop cycle point</span></a> of
+<code class="docutils literal notranslate"><span class="pre">4</span></code>, the task <code class="docutils literal notranslate"><span class="pre">foo</span></code> would run at cycles 2, 3 &amp; 4 and the task <code class="docutils literal notranslate"><span class="pre">bar</span></code>
+would only run at cycle <code class="docutils literal notranslate"><span class="pre">3</span></code>.</p>
+<img alt="../../_images/initial-start-stop-final-cp.svg" class="align-center" src="../../_images/initial-start-stop-final-cp.svg" /></section>
+<section id="restarts-and-the-initial-final-start-and-stop-cycle-points">
+<h2>Restarts and the Initial, Final, Start and Stop Cycle Points<a class="headerlink" href="#restarts-and-the-initial-final-start-and-stop-cycle-points" title="Link to this heading"></a></h2>
+<p>When a workflow is restarted or reloaded, any changes to
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduling]final cycle point" title="flow.cylc[scheduling]final cycle point"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling]final</span> <span class="pre">cycle</span> <span class="pre">point</span></code></a> or
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduling]stop after cycle point" title="flow.cylc[scheduling]stop after cycle point"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling]stop</span> <span class="pre">after</span> <span class="pre">cycle</span> <span class="pre">point</span></code></a> are normally picked up by Cylc.</p>
+<p>However, this is not the case if you used the <code class="docutils literal notranslate"><span class="pre">--final-cycle-point</span></code> or
+<code class="docutils literal notranslate"><span class="pre">--stop-cycle-point</span></code> options in a prior run. If you use either of these
+options, the values you specify are stored in the workflow database, so the
+original values will be used if you restart the workflow later on.
+You can override these original values using the options again, and the new
+value will persist over restarts. Or, you can pick up the workflow config
+values by passing <code class="docutils literal notranslate"><span class="pre">reload</span></code> to the options
+(e.g. <code class="docutils literal notranslate"><span class="pre">--final-cycle-point=reload</span></code>); this will remove the stored value from
+the database so future restarts will go back to picking up any changes
+to the config.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>If the workflow reached the final cycle point and shut down, it is finished
+and cannot be restarted; the <code class="docutils literal notranslate"><span class="pre">--final-cycle-point</span></code> option will have
+no effect.</p>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">--initial-cycle-point</span></code> and <code class="docutils literal notranslate"><span class="pre">--start-cycle-point</span></code> options cannot be used
+in a restart; workflows always start from the cycle point where they
+previously stopped.</p>
+</section>
+<section id="reloading-the-workflow-configuration-at-runtime">
+<span id="id1"></span><h2>Reloading the Workflow Configuration at Runtime<a class="headerlink" href="#reloading-the-workflow-configuration-at-runtime" title="Link to this heading"></a></h2>
+<p>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">reload</span></code> command tells the target <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> to reload its
+workflow configuration at run time. This is an alternative to shutting a
+workflow down and restarting it after making changes.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>If writing your workflows in a <a class="reference internal" href="../../glossary.html#term-source-directory"><span class="xref std std-term">source directory</span></a>, then be sure to
+<a class="reference internal" href="../installing-workflows.html#reinstalling-a-workflow"><span class="std std-ref">reinstall</span></a> your changes to the
+<a class="reference internal" href="../../glossary.html#term-run-directory"><span class="xref std std-term">run directory</span></a> before doing a reload.</p>
+</div>
+<p>If you make an error in the <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> file before a reload, the workflow
+log will report an error and the reload will have no effect.</p>
+<p>Note, <a class="reference internal" href="#remoteinit"><span class="std std-ref">Remote Initialization</span></a> will be redone for each job platform, when the first
+job is submitted there after a reload.</p>
+</section>
+<section id="restarting-or-reloading-after-graph-changes">
+<h2>Restarting or Reloading after Graph Changes<a class="headerlink" href="#restarting-or-reloading-after-graph-changes" title="Link to this heading"></a></h2>
+<p>If dependencies have changed, tasks that were already active will spawn
+children according to their original outputs. Subsequent instances will have
+the new settings.</p>
+<p>If tasks were removed from the graph, any active instances will be left to
+finish, but they will not spawn children. They can be removed manually if
+necessary, with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">remove</span></code>.</p>
+<p>If new tasks were added to the graph, instances will be spawned automatically
+as upstream tasks complete the outputs that they depend on. If they have no
+parents to do that, you can trigger the first ones manually with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">trigger</span></code>.</p>
+</section>
+<section id="remote-initialization">
+<span id="remoteinit"></span><h2>Remote Initialization<a class="headerlink" href="#remote-initialization" title="Link to this heading"></a></h2>
+<p>For workflows that run on remote platforms, i.e. using a host other than
+<code class="docutils literal notranslate"><span class="pre">localhost</span></code>, Cylc performs an initialization process. This involves transferring
+files and directories required to run jobs, including authentication keys
+(see <a class="reference internal" href="authentication-files.html#authentication-files"><span class="std std-ref">Authentication Files</span></a> for more information).</p>
+<p>The default directories included in the remote install are:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">ana/</span></code></dt><dd><p>For workflow-level <a class="reference external" href="https://metomi.github.io/rose/2.1.0/html/api/built-in/rose_ana.html#builtin-rose-ana" title="(in Rose Documentation v2.1.0)"><span>rose_ana</span></a> analysis modules.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">app/</span></code></dt><dd><p>For <a class="reference external" href="https://metomi.github.io/rose/2.1.0/html/api/configuration/application.html#rose-applications" title="(in Rose Documentation v2.1.0)"><span>Application Configuration</span></a>.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">bin/</span></code></dt><dd><p>For scripts and executables to be run by tasks.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">etc/</span></code></dt><dd><p>For miscellaneous resources.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">lib/</span></code></dt><dd><p>For shared libraries e.g. <a class="reference internal" href="../writing-workflows/jinja2.html#customjinja2filters"><span class="std std-ref">Custom Jinja2 Filters, Tests and Globals</span></a>.</p>
+</dd>
+</dl>
+<p>These will be transferred from the workflow run directory on the
+<a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> host to the remote host.
+In addition, custom file and directories configured in
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler]install" title="flow.cylc[scheduler]install"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]install</span></code></a> will be included in the transfer.</p>
+<p>This remote initialization process also creates symlinks on the remote
+platform, if these are configured using
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[install][symlink dirs]" title="global.cylc[install][symlink dirs]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs]</span></code></a>. This provides a
+way to manage disk space.</p>
+<p>A log file is created on the scheduler to report information relating to the
+remote file installation process. There will be a separate log created per install
+target. These can be found in <code class="docutils literal notranslate"><span class="pre">$HOME/cylc-run/&lt;workflow-id&gt;/log/remote-install/</span></code>.</p>
+<section id="installing-custom-files-at-start-up">
+<h3>Installing Custom Files At Start-up<a class="headerlink" href="#installing-custom-files-at-start-up" title="Link to this heading"></a></h3>
+<p>Cylc supports adding custom directories and files to the file installation.</p>
+<p>If, for example, you wished to install directories <code class="docutils literal notranslate"><span class="pre">dir1</span></code>, <code class="docutils literal notranslate"><span class="pre">dir2</span></code>, and
+files <code class="docutils literal notranslate"><span class="pre">file1</span></code>, <code class="docutils literal notranslate"><span class="pre">file2</span></code>, add the following configuration to your
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a>, under the section
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler]install" title="flow.cylc[scheduler]install"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler]install</span></code></a>.
+To mark an item as a directory, add a trailing slash.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">install </span><span class="o">=</span><span class="s"> dir1/, dir2/, file1, file2</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Ensure files and directories to be installed are located in the top
+level of your workflow.</p>
+</div>
+<p>Install tasks are preferred for time-consuming installations because
+they don’t slow the workflow start-up process, they can be monitored,
+they can run directly on target platforms, and you can rerun them later without
+restarting the workflow.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Files configured for installation to remote job platforms can be reinstalled by doing a reload. The reinstallation is done when the first job submits to a platform after the reload.</p>
+</div>
+</section>
+<section id="troubleshooting">
+<h3>Troubleshooting<a class="headerlink" href="#troubleshooting" title="Link to this heading"></a></h3>
+<p>There are certain scenarios where remote initialization may fail. Cylc will return
+a <code class="docutils literal notranslate"><span class="pre">REMOTE</span> <span class="pre">INIT</span> <span class="pre">FAILED</span></code> message.</p>
+<section id="timeout">
+<h4>Timeout<a class="headerlink" href="#timeout" title="Link to this heading"></a></h4>
+<p>Remote initialization has a timeout set at 10 minutes, after which remote
+initialization will fail. If you have particularly large files files to
+transfer, which you expect to exceed the 10 minute timeout, consider using an
+install task in your workflow.</p>
+</section>
+<section id="misconfiguration">
+<h4>Misconfiguration<a class="headerlink" href="#misconfiguration" title="Link to this heading"></a></h4>
+<p>Platforms must be correctly configured to ensure authentication keys, which are
+responsible for secure communication between the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> and the
+platform, are correctly in place.
+Sites can configure these platforms, insuring they match up with the correct
+install target. Cylc uses install targets as a way of recognising which platforms
+share the same file system. For more information, see <a class="reference internal" href="../../reference/config/writing-platform-configs.html#install-targets"><span class="std std-ref">What Are Install Targets?</span></a>.</p>
+</section>
+</section>
+</section>
+<section id="files-created-at-workflow-start">
+<h2>Files created at workflow start<a class="headerlink" href="#files-created-at-workflow-start" title="Link to this heading"></a></h2>
+<section id="configuration-logs">
+<h3>Configuration Logs<a class="headerlink" href="#configuration-logs" title="Link to this heading"></a></h3>
+<p>A folder <code class="docutils literal notranslate"><span class="pre">log/config</span></code> is created where the workflow configuration is
+recorded, with all templating expanded:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">flow-processed.cylc</span></code> - A record of the current workflow configuration
+with templating expanded, but without being fully parsed: Duplicate sections
+will not be merged.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">&lt;datetime-stamp&gt;-&lt;start/restart/reload&gt;</span></code> - A record of the config at
+the time a workflow was started, restarted or reloaded, parsed by Cylc:
+Duplicate sections will be merged.</p></li>
+</ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>These are particularly useful files to look at if the workflow
+configuration contains many template variables, to see how they are
+filled in.</p>
+</div>
+</section>
+<section id="the-workflow-contact-file">
+<span id="id2"></span><h3>The Workflow Contact File<a class="headerlink" href="#the-workflow-contact-file" title="Link to this heading"></a></h3>
+<p>The <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> writes a <a class="reference internal" href="../../glossary.html#term-contact-file"><span class="xref std std-term">contact file</span></a> at
+<code class="docutils literal notranslate"><span class="pre">$HOME/cylc-run/&lt;workflow-name&gt;/.service/contact</span></code> that records workflow host,
+user, port number, process ID, Cylc version, and other information. Client
+commands read this file to find the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a>.</p>
+<p>The contact file gets removed automatically at shutdown (assuming the
+scheduler shuts down cleanly).</p>
+</section>
+<section id="authentication-files">
+<h3>Authentication Files<a class="headerlink" href="#authentication-files" title="Link to this heading"></a></h3>
+<p>See <a class="reference internal" href="authentication-files.html#authentication-files"><span class="std std-ref">Authentication Files</span></a>.</p>
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="Running Workflows" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="task-job-states.html" class="btn btn-neutral float-right" title="Task &amp; Job States" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/running-workflows/scheduler-start-up";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/running-workflows/simulation-modes.html b/nightly_8.3/html/user-guide/running-workflows/simulation-modes.html
new file mode 100644
index 00000000000..b4d0032d6e2
--- /dev/null
+++ b/nightly_8.3/html/user-guide/running-workflows/simulation-modes.html
@@ -0,0 +1,235 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Simulation Modes &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Scheduler Logs" href="scheduler-log-files.html" />
+    <link rel="prev" title="Concurrent Flows" href="reflow.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Running Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="scheduler-start-up.html">Start, Restart, Reload</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task &amp; Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tasks-jobs-ui.html">Tasks in the UI</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retrying-tasks.html">Retrying Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tracking-task-state.html">Tracking Job Status</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html">Workflow Completion</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html#scheduler-stall">Scheduler Stall</a></li>
+<li class="toctree-l3"><a class="reference internal" href="reflow.html">Concurrent Flows</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Simulation Modes</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#simulated-run-length">Simulated Run Length</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#limitations">Limitations</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler-log-files.html">Scheduler Logs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="dynamic-behaviour.html">Cylc Broadcast</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html">Client-Server Interaction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html#authentication-files">Authentication Files</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-databases.html">Workflow Run Databases</a></li>
+<li class="toctree-l3"><a class="reference internal" href="handling-job-preemption.html">Handling Job Preemption</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Running Workflows</a></li>
+      <li class="breadcrumb-item active">Simulation Modes</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/running-workflows/simulation-modes.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="simulation-modes">
+<span id="simulationmode"></span><h1>Simulation Modes<a class="headerlink" href="#simulation-modes" title="Link to this heading"></a></h1>
+<p>Cylc can run a workflow without running the real jobs, which may be
+long-running and resource-hungry.</p>
+<p><strong>Dummy mode</strong> replaces real jobs with background <code class="docutils literal notranslate"><span class="pre">sleep</span></code> jobs on the
+scheduler host. This avoids <a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job runner</span></a> directives that request compute
+resources for real workflow tasks, and it allows any workflow configuration to
+be run locally in dummy mode.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>play<span class="w"> </span>--mode<span class="o">=</span>dummy<span class="w"> </span>&lt;workflow-id&gt;<span class="w">  </span><span class="c1"># real dummy jobs</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>All configured task <code class="docutils literal notranslate"><span class="pre">script</span></code> items including <code class="docutils literal notranslate"><span class="pre">init-script</span></code> are ignored
+in dummy mode. If your <code class="docutils literal notranslate"><span class="pre">init-script</span></code> is required to run even local dummy
+jobs, the relevant environment setup should be done elsewhere.</p>
+</div>
+<p><strong>Simulation mode</strong> does not run real jobs at all, and does not generate job
+log files.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>play<span class="w"> </span>--mode<span class="o">=</span>simulation<span class="w"> </span>&lt;workflow-id&gt;<span class="w">  </span><span class="c1"># no real jobs</span>
+</pre></div>
+</div>
+<section id="simulated-run-length">
+<h2>Simulated Run Length<a class="headerlink" href="#simulated-run-length" title="Link to this heading"></a></h2>
+<p>The default dummy or simulated job run length is 10 seconds. It can be
+changed with <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][simulation]default run length" title="flow.cylc[runtime][&lt;namespace&gt;][simulation]default run length"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][simulation]default</span> <span class="pre">run</span> <span class="pre">length</span></code></a>.</p>
+<p>If <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;]execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> and
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][simulation]speedup factor" title="flow.cylc[runtime][&lt;namespace&gt;][simulation]speedup factor"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][simulation]speedup</span> <span class="pre">factor</span></code></a> are both set,
+run length is computed by dividing the time limit by the speedup factor.</p>
+</section>
+<section id="limitations">
+<h2>Limitations<a class="headerlink" href="#limitations" title="Link to this heading"></a></h2>
+<p>Dummy tasks run locally, so dummy mode does not test communication with remote
+job platforms. However, it is easy to write a live-mode test workflow with
+simple <code class="docutils literal notranslate"><span class="pre">sleep</span> <span class="pre">10</span></code> tasks that submit to a remote platform.</p>
+<p>Alternate path branching is difficult to simulate effectively. You can
+configure certain tasks to fail via
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][simulation]" title="flow.cylc[runtime][&lt;namespace&gt;][simulation]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][simulation]</span></code></a>, but all branches based
+on mutually exclusive custom outputs will run because all custom outputs get
+artificially completed in dummy mode and in simulation mode.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Run mode is recorded in the workflow run database. Cylc will not let you
+<em>restart</em> a dummy mode workflow in live mode, or vice versa. Instead,
+install a new instance of the workflow and run it from scratch in the new mode.</p>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="reflow.html" class="btn btn-neutral float-left" title="Concurrent Flows" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="scheduler-log-files.html" class="btn btn-neutral float-right" title="Scheduler Logs" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/running-workflows/simulation-modes";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/running-workflows/task-job-states.html b/nightly_8.3/html/user-guide/running-workflows/task-job-states.html
new file mode 100644
index 00000000000..1c5b4946c15
--- /dev/null
+++ b/nightly_8.3/html/user-guide/running-workflows/task-job-states.html
@@ -0,0 +1,287 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Task &amp; Job States &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Tasks in the UI" href="tasks-jobs-ui.html" />
+    <link rel="prev" title="Start, Restart, Reload" href="scheduler-start-up.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Running Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="scheduler-start-up.html">Start, Restart, Reload</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Task &amp; Job States</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#task-modifiers">Task Modifiers</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="tasks-jobs-ui.html">Tasks in the UI</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retrying-tasks.html">Retrying Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tracking-task-state.html">Tracking Job Status</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html">Workflow Completion</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html#scheduler-stall">Scheduler Stall</a></li>
+<li class="toctree-l3"><a class="reference internal" href="reflow.html">Concurrent Flows</a></li>
+<li class="toctree-l3"><a class="reference internal" href="simulation-modes.html">Simulation Modes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler-log-files.html">Scheduler Logs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="dynamic-behaviour.html">Cylc Broadcast</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html">Client-Server Interaction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html#authentication-files">Authentication Files</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-databases.html">Workflow Run Databases</a></li>
+<li class="toctree-l3"><a class="reference internal" href="handling-job-preemption.html">Handling Job Preemption</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Running Workflows</a></li>
+      <li class="breadcrumb-item active">Task &amp; Job States</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/running-workflows/task-job-states.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="task-job-states">
+<span id="id1"></span><h1>Task &amp; Job States<a class="headerlink" href="#task-job-states" title="Link to this heading"></a></h1>
+<p><strong>Tasks</strong> are a workflow abstraction; they represent future and past jobs as
+well as current active jobs. In the Cylc UI, task states have monochromatic
+icons like this: <a class="reference internal" href="../../_images/task-running-25.png"><img alt="task-running" class="align-middle" src="../../_images/task-running-25.png" style="height: 18px;" /></a>.</p>
+<p><strong>Jobs</strong> represent real job scripts submitted to run
+on a <a class="reference internal" href="../../glossary.html#term-job-platform"><span class="xref std std-term">job platform</span></a>. In the Cylc UI, job states have coloured icons like
+this: <a class="reference internal" href="../../_images/job-running.png"><img alt="job-running" class="align-middle" src="../../_images/job-running.png" style="height: 18px;" /></a>.</p>
+<p>A single task can have multiple jobs, by automatic retry or manual triggering.</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>State</p></th>
+<th class="head"><p>Task Icon</p></th>
+<th class="head"><p>Job Icon</p></th>
+<th class="head"><p>Description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>waiting</p></td>
+<td><p><a class="reference internal" href="../../_images/task-waiting.png"><img alt="task-waiting" class="align-middle" src="../../_images/task-waiting.png" style="height: 18px;" /></a></p></td>
+<td></td>
+<td><p>waiting on prerequisites</p></td>
+</tr>
+<tr class="row-odd"><td><p>preparing</p></td>
+<td><p><a class="reference internal" href="../../_images/task-preparing.png"><img alt="task-preparing" class="align-middle" src="../../_images/task-preparing.png" style="height: 18px;" /></a></p></td>
+<td></td>
+<td><p>job being prepared for submission</p></td>
+</tr>
+<tr class="row-even"><td><p>submitted</p></td>
+<td><p><a class="reference internal" href="../../_images/task-submitted.png"><img alt="task-submitted" class="align-middle" src="../../_images/task-submitted.png" style="height: 18px;" /></a></p></td>
+<td><p><a class="reference internal" href="../../_images/job-submitted.png"><img alt="job-submitted" class="align-middle" src="../../_images/job-submitted.png" style="height: 18px;" /></a></p></td>
+<td><p>job submitted</p></td>
+</tr>
+<tr class="row-odd"><td><p>running</p></td>
+<td><p><a class="reference internal" href="../../_images/task-running-25.png"><img alt="task-running" class="align-middle" src="../../_images/task-running-25.png" style="height: 18px;" /></a></p></td>
+<td><p><a class="reference internal" href="../../_images/job-running.png"><img alt="job-running" class="align-middle" src="../../_images/job-running.png" style="height: 18px;" /></a></p></td>
+<td><p>job running</p></td>
+</tr>
+<tr class="row-even"><td><p>succeeded</p></td>
+<td><p><a class="reference internal" href="../../_images/task-succeeded.png"><img alt="task-succeeded" class="align-middle" src="../../_images/task-succeeded.png" style="height: 18px;" /></a></p></td>
+<td><p><a class="reference internal" href="../../_images/job-succeeded.png"><img alt="job-succeeded" class="align-middle" src="../../_images/job-succeeded.png" style="height: 18px;" /></a></p></td>
+<td><p>job succeeded</p></td>
+</tr>
+<tr class="row-odd"><td><p>failed</p></td>
+<td><p><a class="reference internal" href="../../_images/task-failed.png"><img alt="task-failed" class="align-middle" src="../../_images/task-failed.png" style="height: 18px;" /></a></p></td>
+<td><p><a class="reference internal" href="../../_images/job-failed.png"><img alt="job-failed" class="align-middle" src="../../_images/job-failed.png" style="height: 18px;" /></a></p></td>
+<td><p>job failed</p></td>
+</tr>
+<tr class="row-even"><td><p>submit-failed</p></td>
+<td><p><a class="reference internal" href="../../_images/task-submit-failed.png"><img alt="task-submit-failed" class="align-middle" src="../../_images/task-submit-failed.png" style="height: 18px;" /></a></p></td>
+<td><p><a class="reference internal" href="../../_images/job-submit-failed.png"><img alt="job-submit-failed" class="align-middle" src="../../_images/job-submit-failed.png" style="height: 18px;" /></a></p></td>
+<td><p>job submission failed</p></td>
+</tr>
+<tr class="row-odd"><td><p>expired</p></td>
+<td><p><a class="reference internal" href="../../_images/task-expired.png"><img alt="task-expired" class="align-middle" src="../../_images/task-expired.png" style="height: 18px;" /></a></p></td>
+<td></td>
+<td><p>will not submit job (too far behind)</p></td>
+</tr>
+</tbody>
+</table>
+<p>The running task icon contains a clock face which shows the time elapsed
+as a proportion of the average runtime.</p>
+<a class="reference internal image-reference" href="../../_images/task-running-0.png"><img alt="../../_images/task-running-0.png" class="align-left" src="../../_images/task-running-0.png" style="width: 50px; height: 50px;" /></a>
+<a class="reference internal image-reference" href="../../_images/task-running-25.png"><img alt="../../_images/task-running-25.png" class="align-left" src="../../_images/task-running-25.png" style="width: 50px; height: 50px;" /></a>
+<a class="reference internal image-reference" href="../../_images/task-running-50.png"><img alt="../../_images/task-running-50.png" class="align-left" src="../../_images/task-running-50.png" style="width: 50px; height: 50px;" /></a>
+<a class="reference internal image-reference" href="../../_images/task-running-75.png"><img alt="../../_images/task-running-75.png" class="align-left" src="../../_images/task-running-75.png" style="width: 50px; height: 50px;" /></a>
+<a class="reference internal image-reference" href="../../_images/task-running-100.png"><img alt="../../_images/task-running-100.png" class="align-left" src="../../_images/task-running-100.png" style="width: 50px; height: 50px;" /></a>
+<div class="line-block">
+<div class="line"><br /></div>
+</div>
+<div class="line-block">
+<div class="line"><br /></div>
+</div>
+<section id="task-modifiers">
+<h2>Task Modifiers<a class="headerlink" href="#task-modifiers" title="Link to this heading"></a></h2>
+<p>Tasks are run as soon as their dependencies are satisfied, however, there are
+some other conditional which can prevent tasks from being run. These are
+given “modifier” icons which appear to the top-left of the task icon:</p>
+<table class="grid-table docutils align-left">
+<colgroup>
+<col style="width: 20.0%" />
+<col style="width: 80.0%" />
+</colgroup>
+<tbody>
+<tr class="row-odd"><td><a class="reference internal image-reference" href="../../_images/task-isHeld.png"><img alt="../../_images/task-isHeld.png" src="../../_images/task-isHeld.png" style="width: 60px; height: 60px;" /></a>
+</td>
+<td><p><strong>Held:</strong> Task has been manually <a class="reference internal" href="../../glossary.html#term-held-task"><span class="xref std std-term">held</span></a> back from
+running.</p></td>
+</tr>
+<tr class="row-even"><td><a class="reference internal image-reference" href="../../_images/task-isRunahead.png"><img alt="../../_images/task-isRunahead.png" src="../../_images/task-isRunahead.png" style="width: 60px; height: 60px;" /></a>
+</td>
+<td><p><strong>Runahead:</strong> Task is held back by the <a class="reference internal" href="../../glossary.html#term-runahead-limit"><span class="xref std std-term">runahead limit</span></a>.</p></td>
+</tr>
+<tr class="row-odd"><td><a class="reference internal image-reference" href="../../_images/task-isQueued.png"><img alt="../../_images/task-isQueued.png" src="../../_images/task-isQueued.png" style="width: 60px; height: 60px;" /></a>
+</td>
+<td><p><strong>Queued:</strong> Task has been held back by an <a class="reference internal" href="../../glossary.html#term-internal-queue"><span class="xref std std-term">internal queue</span></a>.</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="scheduler-start-up.html" class="btn btn-neutral float-left" title="Start, Restart, Reload" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="tasks-jobs-ui.html" class="btn btn-neutral float-right" title="Tasks in the UI" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/running-workflows/task-job-states";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/running-workflows/tasks-jobs-ui.html b/nightly_8.3/html/user-guide/running-workflows/tasks-jobs-ui.html
new file mode 100644
index 00000000000..9de4053ddec
--- /dev/null
+++ b/nightly_8.3/html/user-guide/running-workflows/tasks-jobs-ui.html
@@ -0,0 +1,225 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Tasks in the UI &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Retrying Tasks" href="retrying-tasks.html" />
+    <link rel="prev" title="Task &amp; Job States" href="task-job-states.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Running Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="scheduler-start-up.html">Start, Restart, Reload</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task &amp; Job States</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Tasks in the UI</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retrying-tasks.html">Retrying Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tracking-task-state.html">Tracking Job Status</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html">Workflow Completion</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html#scheduler-stall">Scheduler Stall</a></li>
+<li class="toctree-l3"><a class="reference internal" href="reflow.html">Concurrent Flows</a></li>
+<li class="toctree-l3"><a class="reference internal" href="simulation-modes.html">Simulation Modes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler-log-files.html">Scheduler Logs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="dynamic-behaviour.html">Cylc Broadcast</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html">Client-Server Interaction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html#authentication-files">Authentication Files</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-databases.html">Workflow Run Databases</a></li>
+<li class="toctree-l3"><a class="reference internal" href="handling-job-preemption.html">Handling Job Preemption</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Running Workflows</a></li>
+      <li class="breadcrumb-item active">Tasks in the UI</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/running-workflows/tasks-jobs-ui.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="tasks-in-the-ui">
+<span id="n-window"></span><h1>Tasks in the UI<a class="headerlink" href="#tasks-in-the-ui" title="Link to this heading"></a></h1>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0.</span></p>
+</div>
+<p>Cylc workflow <a class="reference internal" href="../../glossary.html#term-graph"><span class="xref std std-term">graphs</span></a> can be very large, even infinite for
+<a class="reference internal" href="../../glossary.html#term-cycling-workflow"><span class="xref std std-term">cycling workflows</span></a> with no <a class="reference internal" href="../../glossary.html#term-final-cycle-point"><span class="xref std std-term">final cycle point</span></a>.
+Consequently the UI often can’t display “all of the tasks” at once. Instead, it
+displays tasks that belong to a graph-based <a class="reference internal" href="../../glossary.html#term-window"><span class="xref std std-term">window</span></a> extending a
+configured number of graph edges out from active tasks.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">n</span> <span class="pre">=</span> <span class="pre">0</span></code> or <em>active task</em> window includes:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">preparing</span></code> tasks</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">submitted</span></code> and <code class="docutils literal notranslate"><span class="pre">running</span></code> tasks - i.e. those with active jobs</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">waiting</span></code> tasks, that are <a class="reference internal" href="../../glossary.html#term-active-waiting"><span class="xref std std-term">actively waiting</span></a> on:</p>
+<ul>
+<li><p><a class="reference internal" href="../writing-workflows/external-triggers.html#built-in-clock-triggers"><span class="std std-ref">clock triggers</span></a></p></li>
+<li><p><a class="reference internal" href="../writing-workflows/external-triggers.html#section-external-triggers"><span class="std std-ref">external triggers</span></a></p></li>
+<li><p><a class="reference internal" href="../writing-workflows/scheduling.html#internalqueues"><span class="std std-ref">internal queues</span></a></p></li>
+<li><p><a class="reference internal" href="../writing-workflows/scheduling.html#runaheadlimit"><span class="std std-ref">runahead limit</span></a></p></li>
+</ul>
+</li>
+<li><p>finished tasks retained as <em>incomplete</em>, in expectation of user intervention:</p>
+<ul>
+<li><p><code class="docutils literal notranslate"><span class="pre">submit-failed</span></code> tasks, if successful submission was not <a class="reference internal" href="../../glossary.html#term-optional-output"><span class="xref std std-term">optional</span></a></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">succeeded</span></code> or <code class="docutils literal notranslate"><span class="pre">failed</span></code> tasks that did not complete <a class="reference internal" href="../../glossary.html#term-required-output"><span class="xref std std-term">required
+outputs</span></a></p></li>
+</ul>
+</li>
+</ul>
+<p>The default window extent is <code class="docutils literal notranslate"><span class="pre">n</span> <span class="pre">=</span> <span class="pre">1</span></code>, i.e. tasks out to one graph edge from
+current active tasks.</p>
+<p>Tasks ahead of the <code class="docutils literal notranslate"><span class="pre">n=0</span></code> window are displayed by the UI as <code class="docutils literal notranslate"><span class="pre">waiting</span></code> but
+the scheduler is not actively managing them yet.</p>
+<img alt="../../_images/n-window.png" class="align-center" src="../../_images/n-window.png" />
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The graph-based active task window is intended to display the essential
+information without overwhelming the UI. Even very large workflows
+typically do not have a massive number of tasks active at once.</p>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="task-job-states.html" class="btn btn-neutral float-left" title="Task &amp; Job States" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="retrying-tasks.html" class="btn btn-neutral float-right" title="Retrying Tasks" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/running-workflows/tasks-jobs-ui";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/running-workflows/tracking-task-state.html b/nightly_8.3/html/user-guide/running-workflows/tracking-task-state.html
new file mode 100644
index 00000000000..75fee4269ff
--- /dev/null
+++ b/nightly_8.3/html/user-guide/running-workflows/tracking-task-state.html
@@ -0,0 +1,288 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Tracking Job Status &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Workflow Completion" href="workflow-completion.html" />
+    <link rel="prev" title="Retrying Tasks" href="retrying-tasks.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Running Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="scheduler-start-up.html">Start, Restart, Reload</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task &amp; Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tasks-jobs-ui.html">Tasks in the UI</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retrying-tasks.html">Retrying Tasks</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Tracking Job Status</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#tcp-task-messaging">TCP Task Messaging</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#ssh-task-communication">SSH Task Communication</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#polling-to-track-job-status">Polling to Track Job Status</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html">Workflow Completion</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html#scheduler-stall">Scheduler Stall</a></li>
+<li class="toctree-l3"><a class="reference internal" href="reflow.html">Concurrent Flows</a></li>
+<li class="toctree-l3"><a class="reference internal" href="simulation-modes.html">Simulation Modes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler-log-files.html">Scheduler Logs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="dynamic-behaviour.html">Cylc Broadcast</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html">Client-Server Interaction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html#authentication-files">Authentication Files</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-databases.html">Workflow Run Databases</a></li>
+<li class="toctree-l3"><a class="reference internal" href="handling-job-preemption.html">Handling Job Preemption</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Running Workflows</a></li>
+      <li class="breadcrumb-item active">Tracking Job Status</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/running-workflows/tracking-task-state.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="tracking-job-status">
+<span id="taskcomms"></span><h1>Tracking Job Status<a class="headerlink" href="#tracking-job-status" title="Link to this heading"></a></h1>
+<p>Cylc supports three ways of tracking task state on job hosts:</p>
+<ul class="simple">
+<li><p>task-to-scheduler messaging via TCP (using ZMQ protocol)</p></li>
+<li><p>task-to-scheduler messaging via non-interactive SSH to the workflow host, then
+local TCP.</p></li>
+<li><p>regular polling by the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a></p></li>
+</ul>
+<p>These can be configured per platform using
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[platforms][&lt;platform name&gt;]communication method" title="global.cylc[platforms][&lt;platform name&gt;]communication method"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]communication</span> <span class="pre">method</span></code></a>.</p>
+<p>If your site prohibits TCP and SSH back from job hosts to workflow hosts,
+before resorting to the polling method you should consider installing dedicated
+Cylc servers or VMs inside the HPC trust zone (where TCP and SSH should be
+allowed).</p>
+<p>It is possible to run Cylc <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">schedulers</span></a> on HPC login nodes,
+but be aware of scheduler resource requirements (which depend on workflow size
+and run duration).</p>
+<p>Port forwarding could potentially provide another solution, but the idea has
+been rejected at this stage. Organisations often disable port forwarding for
+security reasons.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Use Cylc 8 platform configuration via
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]platform" title="flow.cylc[runtime][&lt;namespace&gt;]platform"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]platform</span></code></a>, not the
+deprecated <code class="docutils literal notranslate"><span class="pre">host</span></code> setting, to ensure the intended task communication
+method is applied.</p>
+</div>
+<section id="tcp-task-messaging">
+<h2>TCP Task Messaging<a class="headerlink" href="#tcp-task-messaging" title="Link to this heading"></a></h2>
+<p>Cylc <a class="reference internal" href="../../glossary.html#term-job-script"><span class="xref std std-term">job scripts</span></a> automatically invoke <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">message</span></code> to
+report progress back to the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> when they begin executing, at
+normal exit (success) and abnormal exit (failure).</p>
+<p>By default job status messaging goes by an authenticated TCP connection to the
+<a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a>, using the ZMQ protocol.  This is the preferred task
+communications method because it is efficient and direct.</p>
+<p>Schedulers automatically install workflow <a class="reference internal" href="../../glossary.html#term-contact-file"><span class="xref std std-term">contact information</span></a> and credentials on job hosts.</p>
+</section>
+<section id="ssh-task-communication">
+<h2>SSH Task Communication<a class="headerlink" href="#ssh-task-communication" title="Link to this heading"></a></h2>
+<p>Cylc can be configured to re-invoke task messaging commands on the workflow
+host via non-interactive SSH (from job platform to workflow host).</p>
+<p>User-invoked client commands also support this communication method, when
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[platforms][&lt;platform name&gt;]communication method" title="global.cylc[platforms][&lt;platform name&gt;]communication method"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]communication</span> <span class="pre">method</span></code></a> is
+configured to <code class="docutils literal notranslate"><span class="pre">ssh</span></code>.</p>
+<p>This is less efficient than direct ZMQ protocol messaging, but it may be useful at
+sites where the ZMQ ports are blocked but non-interactive SSH is allowed.</p>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Ensure SSH keys are in place for the remote task platform(s) before enabling
+this feature. Failure to do so, will result in <code class="docutils literal notranslate"><span class="pre">Host</span> <span class="pre">key</span> <span class="pre">verification</span>
+<span class="pre">failed</span></code> errors.</p>
+</div>
+</section>
+<section id="polling-to-track-job-status">
+<span id="id1"></span><h2>Polling to Track Job Status<a class="headerlink" href="#polling-to-track-job-status" title="Link to this heading"></a></h2>
+<p>Schedulers can actively poll jobs at configured intervals, via
+non-interactive SSH to the job platform.</p>
+<p>This is the least efficient communication method because task status updates
+are delayed by up to the polling interval. However, it may be needed at sites
+that do not allow TCP or non-interactive SSH from job host to workflow host.</p>
+<p>Be careful to avoid spamming task hosts with polling operations. Each poll
+opens (and then closes) a new SSH connection.</p>
+<p>Polling intervals are configured by
+:cylc:conf:
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[platforms][&lt;platform name&gt;]submission polling intervals" title="global.cylc[platforms][&lt;platform name&gt;]submission polling intervals"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]submission</span> <span class="pre">polling</span> <span class="pre">intervals</span></code></a>
+and
+:cylc:conf:
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[platforms][&lt;platform name&gt;]execution polling intervals" title="global.cylc[platforms][&lt;platform name&gt;]execution polling intervals"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]execution</span> <span class="pre">polling</span> <span class="pre">intervals</span></code></a>.</p>
+<p>A common use case is to poll:</p>
+<ul class="simple">
+<li><p>frequently at first, to check that a job has started running properly;</p></li>
+<li><p>frequently near the expected end of its run time, to get a timely task finished update;</p></li>
+<li><p>infrequently in the intervening period.</p></li>
+</ul>
+<p>Configured intervals are used in sequence until
+the last value, which is used repeatedly until the job is finished:</p>
+<div class="literal-block-wrapper docutils container" id="id2">
+<div class="code-block-caption"><span class="caption-text">global.cylc</span><a class="headerlink" href="#id2" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[my_platform]]</span>
+        <span class="c1"># poll every minute in the &#39;submitted&#39; state:</span>
+        <span class="nv">submission polling intervals </span><span class="o">=</span><span class="s"> PT1M</span>
+
+        <span class="c1"># poll one minute after foo starts running, then every 10</span>
+        <span class="c1"># minutes for 50 minutes, then every minute until finished:</span>
+        <span class="nv">execution polling intervals </span><span class="o">=</span><span class="s"> PT1M, 5*PT10M, PT1M</span>
+</pre></div>
+</div>
+</div>
+<div class="literal-block-wrapper docutils container" id="id3">
+<div class="code-block-caption"><span class="caption-text">flow.cylc</span><a class="headerlink" href="#id3" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+   <span class="nt">[[task]]</span>
+      <span class="nv">platform </span><span class="o">=</span><span class="s"> my_platform</span>
+</pre></div>
+</div>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="retrying-tasks.html" class="btn btn-neutral float-left" title="Retrying Tasks" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="workflow-completion.html" class="btn btn-neutral float-right" title="Workflow Completion" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/running-workflows/tracking-task-state";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/running-workflows/workflow-completion.html b/nightly_8.3/html/user-guide/running-workflows/workflow-completion.html
new file mode 100644
index 00000000000..0337a9aa758
--- /dev/null
+++ b/nightly_8.3/html/user-guide/running-workflows/workflow-completion.html
@@ -0,0 +1,219 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Workflow Completion &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Concurrent Flows" href="reflow.html" />
+    <link rel="prev" title="Tracking Job Status" href="tracking-task-state.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Running Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="scheduler-start-up.html">Start, Restart, Reload</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task &amp; Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tasks-jobs-ui.html">Tasks in the UI</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retrying-tasks.html">Retrying Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tracking-task-state.html">Tracking Job Status</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Workflow Completion</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#scheduler-stall">Scheduler Stall</a></li>
+<li class="toctree-l3"><a class="reference internal" href="reflow.html">Concurrent Flows</a></li>
+<li class="toctree-l3"><a class="reference internal" href="simulation-modes.html">Simulation Modes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler-log-files.html">Scheduler Logs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="dynamic-behaviour.html">Cylc Broadcast</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html">Client-Server Interaction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html#authentication-files">Authentication Files</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-databases.html">Workflow Run Databases</a></li>
+<li class="toctree-l3"><a class="reference internal" href="handling-job-preemption.html">Handling Job Preemption</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Running Workflows</a></li>
+      <li class="breadcrumb-item active">Workflow Completion</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/running-workflows/workflow-completion.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="workflow-completion">
+<span id="id1"></span><h1>Workflow Completion<a class="headerlink" href="#workflow-completion" title="Link to this heading"></a></h1>
+<p>If there is nothing more to run (according to the graph) and there are no
+<a class="reference internal" href="../../glossary.html#term-incomplete-task"><span class="xref std std-term">incomplete tasks</span></a> present, the scheduler will report
+workflow completion and shut down when current active tasks finish.</p>
+</section>
+<section id="scheduler-stall">
+<span id="id2"></span><h1>Scheduler Stall<a class="headerlink" href="#scheduler-stall" title="Link to this heading"></a></h1>
+<p>If there is nothing more to run (according to the graph) but there are
+<a class="reference internal" href="../../glossary.html#term-incomplete-task"><span class="xref std std-term">incomplete tasks</span></a> present, the scheduler will
+<a class="reference internal" href="../../glossary.html#term-stall"><span class="xref std std-term">stall</span></a> and stay alive for 1 hour (by default) awaiting user intervention
+to allow the workflow to continue.</p>
+<p>The presence of incomplete tasks means that the workflow did not run to
+completion as expected, because some <a class="reference internal" href="../../glossary.html#term-required-output"><span class="xref std std-term">required task outputs</span></a> were not completed at runtime.</p>
+<p>Restarting a stalled workflow triggers a new stall timer.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Partially satisfied prerequisites can also cause a stall. If <code class="docutils literal notranslate"><span class="pre">a</span> <span class="pre">&amp;</span> <span class="pre">b</span> <span class="pre">=&gt;</span> <span class="pre">c</span></code>,
+and <code class="docutils literal notranslate"><span class="pre">a</span></code> succeeds but <code class="docutils literal notranslate"><span class="pre">b</span></code> never even runs, the scheduler will take
+partial completion of <code class="docutils literal notranslate"><span class="pre">c</span></code>’s prerequisites as a sign that the workflow did
+not run to completion as expected.</p>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>At present you have to consult the <a class="reference internal" href="../../glossary.html#term-scheduler-log"><span class="xref std std-term">scheduler log</span></a> to see the reason
+for a stall.</p>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler][events]stall timeout" title="flow.cylc[scheduler][events]stall timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler][events]stall</span> <span class="pre">timeout</span></code></a></p></li>
+<li><p><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler][events]abort on stall timeout" title="flow.cylc[scheduler][events]abort on stall timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler][events]abort</span> <span class="pre">on</span> <span class="pre">stall</span> <span class="pre">timeout</span></code></a></p></li>
+<li><p><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler][events]stall handlers" title="flow.cylc[scheduler][events]stall handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler][events]stall</span> <span class="pre">handlers</span></code></a></p></li>
+</ul>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="tracking-task-state.html" class="btn btn-neutral float-left" title="Tracking Job Status" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="reflow.html" class="btn btn-neutral float-right" title="Concurrent Flows" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/running-workflows/workflow-completion";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/running-workflows/workflow-databases.html b/nightly_8.3/html/user-guide/running-workflows/workflow-databases.html
new file mode 100644
index 00000000000..b2e74085f35
--- /dev/null
+++ b/nightly_8.3/html/user-guide/running-workflows/workflow-databases.html
@@ -0,0 +1,263 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Workflow Run Databases &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Handling Job Preemption" href="handling-job-preemption.html" />
+    <link rel="prev" title="Client-Server Interaction" href="authentication-files.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Running Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="scheduler-start-up.html">Start, Restart, Reload</a></li>
+<li class="toctree-l3"><a class="reference internal" href="task-job-states.html">Task &amp; Job States</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tasks-jobs-ui.html">Tasks in the UI</a></li>
+<li class="toctree-l3"><a class="reference internal" href="retrying-tasks.html">Retrying Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="tracking-task-state.html">Tracking Job Status</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html">Workflow Completion</a></li>
+<li class="toctree-l3"><a class="reference internal" href="workflow-completion.html#scheduler-stall">Scheduler Stall</a></li>
+<li class="toctree-l3"><a class="reference internal" href="reflow.html">Concurrent Flows</a></li>
+<li class="toctree-l3"><a class="reference internal" href="simulation-modes.html">Simulation Modes</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler-log-files.html">Scheduler Logs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="dynamic-behaviour.html">Cylc Broadcast</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html">Client-Server Interaction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="authentication-files.html#authentication-files">Authentication Files</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Workflow Run Databases</a></li>
+<li class="toctree-l3"><a class="reference internal" href="handling-job-preemption.html">Handling Job Preemption</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Running Workflows</a></li>
+      <li class="breadcrumb-item active">Workflow Run Databases</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/running-workflows/workflow-databases.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="workflow-run-databases">
+<span id="id1"></span><h1>Workflow Run Databases<a class="headerlink" href="#workflow-run-databases" title="Link to this heading"></a></h1>
+<p>Schedulers maintain two <code class="docutils literal notranslate"><span class="pre">sqlite</span></code> databases to record
+information on run history:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span>HOME/cylc-run/&lt;workflow-id&gt;/log/db<span class="w">  </span><span class="c1"># public workflow DB</span>
+<span class="gp">$</span>HOME/cylc-run/&lt;workflow-id&gt;/.service/db<span class="w">  </span><span class="c1"># private workflow DB</span>
+</pre></div>
+</div>
+<p>The private DB is for use only by the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a>. The identical
+public DB is provided for use by external commands such as
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">workflow-state</span></code>, and <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">report-timings</span></code>.
+If the public DB gets locked for too long by
+an external reader, the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> will eventually delete it and
+replace it with a new copy of the private DB, to ensure that both correctly
+reflect the workflow state.</p>
+<p>You can interrogate the public DB with the <code class="docutils literal notranslate"><span class="pre">sqlite3</span></code> command line tool,
+the <code class="docutils literal notranslate"><span class="pre">sqlite3</span></code> module in the Python standard library, or any other
+sqlite interface.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>sqlite3<span class="w"> </span>~/cylc-run/foo/log/db<span class="w"> </span><span class="s">&lt;&lt; _END_</span>
+<span class="go">&gt; .headers on</span>
+<span class="go">&gt; select * from task_events where name is &quot;foo&quot;;</span>
+<span class="go">&gt; _END_</span>
+<span class="go">name|cycle|time|submit_num|event|message</span>
+<span class="go">foo|1|2017-03-12T11:06:09Z|1|submitted|</span>
+<span class="go">foo|1|2017-03-12T11:06:09Z|1|output completed|started</span>
+<span class="go">foo|1|2017-03-12T11:06:09Z|1|started|</span>
+<span class="go">foo|1|2017-03-12T11:06:19Z|1|output completed|succeeded</span>
+<span class="go">foo|1|2017-03-12T11:06:19Z|1|succeeded|</span>
+</pre></div>
+</div>
+<p>The diagram shown below contains the database tables, their columns,
+and how the tables are related to each other. For more details on how
+to interpret the diagram, refer to the
+<a class="reference external" href="https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model">Entity–relationship model Wikipedia article</a>.</p>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-8e506f6bf51898e3f9d2d2af1fa383f3d3b2bcbc.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">graph {
+node [label = &quot;\N&quot;, shape = plaintext];
+edge [color = gray50, minlen = 2, style = dashed];
+rankdir = &quot;LR&quot;;
+&quot;absolute_outputs&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;absolute_outputs&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;cycle&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;name&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;output&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;broadcast_events&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;broadcast_events&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;time&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;change&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;point&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;namespace&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;key&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;value&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;broadcast_states&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;broadcast_states&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;point&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;namespace&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;key&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;value&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;inheritance&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;inheritance&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;namespace&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;inheritance&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;task_action_timers&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;task_action_timers&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;cycle&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;name&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;ctx_key&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;ctx&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;delays&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;num&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;delay&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;timeout&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;task_events&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;task_events&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;name&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;cycle&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;time&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;submit_num&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;event&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;message&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;task_jobs&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;task_jobs&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;cycle&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;name&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;submit_num&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;flow_nums&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;is_manual_submit&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;try_num&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;time_submit&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;time_submit_exit&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;submit_status&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;time_run&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;time_run_exit&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;run_signal&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;run_status&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;platform_name&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;job_runner_name&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;job_id&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;task_late_flags&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;task_late_flags&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;cycle&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;name&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;value&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;task_outputs&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;task_outputs&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;cycle&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;name&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;flow_nums&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;outputs&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;task_pool&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;task_pool&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;cycle&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;name&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;flow_nums&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;status&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;is_held&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;task_prerequisites&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;task_prerequisites&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;cycle&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;name&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;flow_nums&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;prereq_name&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;prereq_cycle&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;prereq_output&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;satisfied&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;task_states&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;task_states&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;name&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;cycle&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;flow_nums&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;time_created&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;time_updated&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;submit_num&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;status&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;flow_wait&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;is_manual_submit&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;task_timeout_timers&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;task_timeout_timers&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;cycle&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;name&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;timeout&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;tasks_to_hold&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;tasks_to_hold&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;name&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;cycle&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;workflow_flows&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;workflow_flows&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;flow_num&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;start_time&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;description&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;workflow_params&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;workflow_params&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;key&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;value&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;workflow_template_vars&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;workflow_template_vars&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;key&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;value&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;xtriggers&quot; [label=&lt;&lt;FONT FACE=&quot;Helvetica&quot;&gt;&lt;TABLE BORDER=&quot;0&quot; CELLBORDER=&quot;1&quot; CELLPADDING=&quot;4&quot; CELLSPACING=&quot;0&quot;&gt;&lt;TR&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT POINT-SIZE=&quot;16&quot;&gt;xtriggers&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;u&gt;&lt;FONT&gt;signature&lt;/FONT&gt;&lt;/u&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;results&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;absolute_outputs&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;broadcast_events&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;broadcast_states&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;inheritance&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;tasks_to_hold&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;workflow_flows&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;workflow_params&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;workflow_template_vars&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD ALIGN=&quot;LEFT&quot;&gt;&lt;FONT&gt;xtriggers&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/FONT&gt;&gt;];
+&quot;task_states&quot; -- &quot;task_events&quot; [taillabel=&lt;&lt;FONT&gt;0..N&lt;/FONT&gt;&gt;,headlabel=&lt;&lt;FONT&gt;{0,1}&lt;/FONT&gt;&gt;];
+&quot;task_states&quot; -- &quot;task_jobs&quot; [taillabel=&lt;&lt;FONT&gt;0..N&lt;/FONT&gt;&gt;,headlabel=&lt;&lt;FONT&gt;{0,1}&lt;/FONT&gt;&gt;];
+&quot;task_pool&quot; -- &quot;task_action_timers&quot; [taillabel=&lt;&lt;FONT&gt;0..N&lt;/FONT&gt;&gt;,headlabel=&lt;&lt;FONT&gt;{0,1}&lt;/FONT&gt;&gt;];
+&quot;task_pool&quot; -- &quot;task_late_flags&quot; [taillabel=&lt;&lt;FONT&gt;{0,1}&lt;/FONT&gt;&gt;,headlabel=&lt;&lt;FONT&gt;{0,1}&lt;/FONT&gt;&gt;];
+&quot;task_pool&quot; -- &quot;task_outputs&quot; [taillabel=&lt;&lt;FONT&gt;0..N&lt;/FONT&gt;&gt;,headlabel=&lt;&lt;FONT&gt;{0,1}&lt;/FONT&gt;&gt;];
+&quot;task_pool&quot; -- &quot;task_prerequisites&quot; [taillabel=&lt;&lt;FONT&gt;0..N&lt;/FONT&gt;&gt;,headlabel=&lt;&lt;FONT&gt;{0,1}&lt;/FONT&gt;&gt;];
+&quot;task_pool&quot; -- &quot;task_timeout_timers&quot; [taillabel=&lt;&lt;FONT&gt;{0,1}&lt;/FONT&gt;&gt;,headlabel=&lt;&lt;FONT&gt;{0,1}&lt;/FONT&gt;&gt;];
+subgraph {
+rank=same
+rankdir=LR
+&quot;absolute_outputs&quot;
+&quot;broadcast_events&quot;
+&quot;broadcast_states&quot;
+&quot;inheritance&quot;
+&quot;tasks_to_hold&quot;
+&quot;workflow_flows&quot;
+&quot;workflow_params&quot;
+&quot;workflow_template_vars&quot;
+&quot;xtriggers&quot;
+}
+}</p></object></div>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="authentication-files.html" class="btn btn-neutral float-left" title="Client-Server Interaction" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="handling-job-preemption.html" class="btn btn-neutral float-right" title="Handling Job Preemption" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/running-workflows/workflow-databases";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/sharing-access-to-workflows.html b/nightly_8.3/html/user-guide/sharing-access-to-workflows.html
new file mode 100644
index 00000000000..d8fe5eb64f5
--- /dev/null
+++ b/nightly_8.3/html/user-guide/sharing-access-to-workflows.html
@@ -0,0 +1,611 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Authorizing Others to Access Your Workflows &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Compound Commands" href="compound-commands.html" />
+    <link rel="prev" title="Removing Workflows" href="removing-workflows.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Authorizing Others to Access Your Workflows</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#jupyter-hub-authorisation">Jupyter Hub Authorisation</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#jupyter-server-authorisation">Jupyter Server Authorisation</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#cylc.uiserver.authorise.CylcAuthorizer"><code class="docutils literal notranslate"><span class="pre">CylcAuthorizer</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-user-authorisation">Cylc User Authorisation</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#users">Users</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#permissions">Permissions</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#examples">Examples</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#cylc-site-configuration">Cylc Site Configuration</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#group-support">Group Support</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#example-site-authorization-configuration">Example Site Authorization Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#interacting-with-others-workflows">Interacting with Others’ Workflows</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#troubleshooting-authorization">Troubleshooting Authorization</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="index.html">User Guide</a></li>
+      <li class="breadcrumb-item active">Authorizing Others to Access Your Workflows</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/user-guide/sharing-access-to-workflows.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="authorizing-others-to-access-your-workflows">
+<span id="cylc-uiserver-multi-user"></span><h1>Authorizing Others to Access Your Workflows<a class="headerlink" href="#authorizing-others-to-access-your-workflows" title="Link to this heading"></a></h1>
+<p>For multi-user setups, the Cylc web GUI can be deployed as part of a
+<a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a> setup where a central service spawns servers on behalf of users.</p>
+<p>The Cylc UI Server can be configured to allow specified users to monitor and
+optionally control workflows running under other user accounts.</p>
+<p>This has many use cases including:</p>
+<ul class="simple">
+<li><p>Collaborative research setups where multiple users need to access the same
+workflow.</p></li>
+<li><p>Production systems where different levels of support may have different
+levels of access.</p></li>
+<li><p>Support where administrators may require access to users workflows.</p></li>
+</ul>
+<p>A multi-user Cylc setup consists of three components:</p>
+<ol class="arabic simple">
+<li><p><a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a></p></li>
+<li><p><a class="reference external" href="https://jupyter-server.readthedocs.io">Jupyter Server</a></p></li>
+<li><p><a class="reference external" href="https://github.com/cylc/cylc-uiserver">Cylc UI Server</a></p></li>
+</ol>
+<p>And may additionally include other Jupyter Server extensions such as
+<a class="reference external" href="https://jupyterlab.readthedocs.io/en/stable/getting_started/overview.html">Jupyter Lab</a> to provide a full interactive virtual workstation in the
+browser.</p>
+<p>In order to allow access to other users servers, to permit the monitoring and
+optionally control of other users workflows, each of these three components
+must be configured:</p>
+<ol class="arabic simple">
+<li><p><a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a> must be configured to allow connections to other users servers.</p></li>
+<li><p>The <a class="reference external" href="https://jupyter-server.readthedocs.io">Jupyter Server</a> authorisation policy must be set.</p></li>
+<li><p>Cylc must be configured with user permissions.</p></li>
+</ol>
+<p>This configuration can all be performed in the same Jupyter / Cylc UI Server
+configuration file. See <a class="reference internal" href="../reference/config/ui-server.html#ui-server-config"><span class="std std-ref">UI Server Configuration</span></a> for more details.</p>
+<p class="rubric">Quick Example:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># /etc/cylc/uiserver/jupyter_config.py</span>
+
+<span class="c1"># 1. Jupyter Hub</span>
+<span class="c1">#    Allow all authenticated users to access, start and stop</span>
+<span class="c1">#    each other&#39;s servers</span>
+<span class="n">c</span><span class="o">.</span><span class="n">JupyterHub</span><span class="o">.</span><span class="n">load_roles</span> <span class="o">=</span> <span class="p">[</span>
+    <span class="p">{</span>
+        <span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;user&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;scopes&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;self&quot;</span><span class="p">,</span> <span class="s2">&quot;access:servers&quot;</span><span class="p">,</span> <span class="s2">&quot;servers&quot;</span><span class="p">],</span>
+    <span class="p">}</span>
+<span class="p">]</span>
+
+
+<span class="c1"># 2. Jupyter Server</span>
+<span class="c1">#    Set a safe authorisation policy for multi-user setups</span>
+<span class="c1">#    Note: This is ONLY necessary if you are deploying the Cylc UI Server</span>
+<span class="c1">#          using commands other than `cylc hub` and `cylc hubapp`,</span>
+<span class="c1">#          otherwise, it is the default.</span>
+<span class="kn">from</span> <span class="nn">cylc.uiserver.authorise</span> <span class="kn">import</span> <span class="n">CylcAuthorizer</span>
+<span class="n">c</span><span class="o">.</span><span class="n">ServerApp</span><span class="o">.</span><span class="n">authorizer_class</span> <span class="o">=</span> <span class="n">CylcAuthorizer</span>
+
+
+<span class="c1"># 3. Cylc</span>
+<span class="c1">#    Delegate permissions to users</span>
+<span class="n">c</span><span class="o">.</span><span class="n">CylcUIServer</span><span class="o">.</span><span class="n">user_authorization</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="c1"># provide all authenticated users with read-only access to each other&#39;s</span>
+    <span class="c1"># servers</span>
+    <span class="s2">&quot;*&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;READ&quot;</span><span class="p">],</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>The rest of this document takes you through each of these configurations, some
+of the key options and how they relate to their respective systems.</p>
+<section id="jupyter-hub-authorisation">
+<span id="jupyterhub-authorization"></span><h2>Jupyter Hub Authorisation<a class="headerlink" href="#jupyter-hub-authorisation" title="Link to this heading"></a></h2>
+<p>By default, <a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a> only allows users to access their own servers.</p>
+<p>In order to allow access to other users’ servers, two scopes must be configured:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">access:servers</span></code></dt><dd><p>Permits us to connect to another user’s server.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">servers</span></code></dt><dd><p>Permits us to start another user’s server.</p>
+</dd>
+</dl>
+<p>This is done using the
+<a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/reference/api/app.html#jupyterhub.app.JupyterHub.load_roles" title="(in JupyterHub)"><code class="xref py py-attr docutils literal notranslate"><span class="pre">c.JupyterHub.load_roles</span></code></a>
+configuration.
+For more information see the
+<a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/rbac/scopes.html#jupyterhub-scopes" title="(in JupyterHub)"><span class="xref std std-ref">JupyterHub scopes reference</span></a>.</p>
+<p>Example:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># /etc/cylc/uiserver/jupyter_config.py</span>
+
+<span class="n">c</span><span class="o">.</span><span class="n">JupyterHub</span><span class="o">.</span><span class="n">load_roles</span> <span class="o">=</span> <span class="p">[</span>
+    <span class="p">{</span>
+        <span class="c1"># allow all authenticated users to access, start and stop</span>
+        <span class="c1"># each other&#39;s servers</span>
+        <span class="s2">&quot;name&quot;</span><span class="p">:</span> <span class="s2">&quot;user&quot;</span><span class="p">,</span>
+        <span class="s2">&quot;scopes&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;self&quot;</span><span class="p">,</span> <span class="s2">&quot;access:servers&quot;</span><span class="p">,</span> <span class="s2">&quot;servers&quot;</span><span class="p">],</span>
+    <span class="p">}</span>
+<span class="p">]</span>
+</pre></div>
+</div>
+</section>
+<section id="jupyter-server-authorisation">
+<span id="jupyterserver-authorization"></span><h2>Jupyter Server Authorisation<a class="headerlink" href="#jupyter-server-authorisation" title="Link to this heading"></a></h2>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>You can skip this section if you are starting Jupyter Hub using <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">hub</span></code>
+command and have not overridden the
+<a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/reference/api/app.html#jupyterhub.app.JupyterHub.spawner_class" title="(in JupyterHub)"><code class="xref py py-attr docutils literal notranslate"><span class="pre">c.JupyterHub.spawner_class</span></code></a>
+configuration (so are spawning the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">hubapp</span></code> command).</p>
+</div>
+<dl class="py class">
+<dt class="sig sig-object py" id="cylc.uiserver.authorise.CylcAuthorizer">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.uiserver.authorise.</span></span><span class="sig-name descname"><span class="pre">CylcAuthorizer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><span class="pre">Any</span></a></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.uiserver.authorise.CylcAuthorizer" title="Link to this definition"></a></dt>
+<dd><p>Defines a safe default authorization policy for Jupyter Server.</p>
+<p><a class="reference external" href="https://jupyter-server.readthedocs.io">Jupyter Server</a> provides an authorisation layer which gives full
+permissions to any user who has been granted permission to the Jupyter Hub
+<code class="docutils literal notranslate"><span class="pre">access:servers</span></code> scope
+(see <a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/rbac/scopes.html#jupyterhub-scopes" title="(in JupyterHub)"><span class="xref std std-ref">JupyterHub scopes reference</span></a>). This allows
+the execution of arbitrary code under another user account.</p>
+<p>To prevent this you must define an authorisation policy using
+<a class="reference external" href="https://jupyter-server.readthedocs.io/en/latest/api/jupyter_server.html#jupyter_server.serverapp.ServerApp.authorizer_class" title="(in Jupyter Server v2.13)"><code class="xref py py-attr docutils literal notranslate"><span class="pre">c.ServerApp.authorizer_class</span></code></a>.</p>
+<p>This class defines a policy which blocks all API calls to another user’s
+server, apart from calls to Cylc interfaces explicitly defined in the
+<a class="reference internal" href="#cylc-uiserver-user-authorization"><span class="std std-ref">Cylc authorisation configuration</span></a>.</p>
+<p>This class is configured as the default authoriser for all Jupyter Server
+instances spawned via the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">hubapp</span></code> command. This is the default if
+you started <a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/">Jupyter Hub</a> using the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">hub</span></code> command. To see where
+this default is set, see this file for the appropriate release of
+cylc-uiserver:
+<a class="reference external" href="https://github.com/cylc/cylc-uiserver/blob/master/cylc/uiserver/jupyter_config.py">https://github.com/cylc/cylc-uiserver/blob/master/cylc/uiserver/jupyter_config.py</a></p>
+<p>If you are launching Jupyter Hub via another command (e.g. <code class="docutils literal notranslate"><span class="pre">jupyterhub</span></code>)
+or are overriding <a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/reference/api/app.html#jupyterhub.app.JupyterHub.spawner_class" title="(in JupyterHub)"><code class="xref py py-attr docutils literal notranslate"><span class="pre">jupyterhub.app.JupyterHub.spawner_class</span></code></a>, then
+you will need to configure a safe authorisation policy e.g:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">cylc.uiserver.authorise</span> <span class="kn">import</span> <span class="n">CylcAuthorizer</span>
+<span class="n">c</span><span class="o">.</span><span class="n">ServerApp</span><span class="o">.</span><span class="n">authorizer_class</span> <span class="o">=</span> <span class="n">CylcAuthorizer</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>It is possible to provide read-only access to Jupyter Server extensions
+such as Jupyter Lab, however, this isn’t advisable as Jupyter Lab does
+not apply file-system permissions to what another user is allowed to
+see.</p>
+<p>If you wish to grant users access to other user’s Jupyter Lab servers,
+override this configuration with due care over what you choose to
+expose.</p>
+</div>
+</dd></dl>
+
+</section>
+<section id="cylc-user-authorisation">
+<span id="cylc-uiserver-user-authorization"></span><h2>Cylc User Authorisation<a class="headerlink" href="#cylc-user-authorisation" title="Link to this heading"></a></h2>
+<p>Cylc Authorisation is configurable on a per-user and per-command basis but
+not on a per-workflow basis.</p>
+<p>By default users can only see and interact with their own workflows.</p>
+<p>Sites can restrict the permissions that users are allowed to grant each
+other and can configure default permissions (see <a class="reference internal" href="#site-configuration"><span class="std std-ref">Cylc Site Configuration</span></a>).</p>
+<p>Authorization is configured by these two configurations:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../reference/config/ui-server.html#cylc.uiserver.app.CylcUIServer.user_authorization" title="cylc.uiserver.app.CylcUIServer.user_authorization"><code class="xref py py-attr docutils literal notranslate"><span class="pre">c.CylcUIServer.user_authorization</span></code></a> (user configuration)</p></li>
+<li><p><a class="reference internal" href="../reference/config/ui-server.html#cylc.uiserver.app.CylcUIServer.site_authorization" title="cylc.uiserver.app.CylcUIServer.site_authorization"><code class="xref py py-attr docutils literal notranslate"><span class="pre">c.CylcUIServer.site_authorization</span></code></a> (site configuration)</p></li>
+</ul>
+<p class="rubric">Example:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># ~/.cylc/uiserver/jupyter_config.py</span>
+
+<span class="n">c</span><span class="o">.</span><span class="n">CylcUIServer</span><span class="o">.</span><span class="n">user_authorization</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="c1"># &lt;user/group&gt;: [&lt;permission&gt;, ...],</span>
+
+    <span class="c1"># allow &quot;user1&quot; to monitor my workflows</span>
+    <span class="s2">&quot;user1&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;READ&quot;</span><span class="p">],</span>
+
+    <span class="c1"># allow &quot;user2&quot; to monitor and trigger tasks in my workflows</span>
+    <span class="s2">&quot;user2&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;READ&quot;</span><span class="p">,</span> <span class="s2">&quot;Trigger&quot;</span><span class="p">],</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<section id="users">
+<h3>Users<a class="headerlink" href="#users" title="Link to this heading"></a></h3>
+<p>There are three methods of identifying a user to grant access to:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">&lt;username&gt;</span></code></dt><dd><p>Configures permissions for a single user.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">group:&lt;groupname&gt;</span></code></dt><dd><p>Configures a user group. For more information, see <a class="reference internal" href="#group-support"><span class="std std-ref">Group Support</span></a>.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">*</span></code></dt><dd><p>Configures permissions for any authenticated user (see
+<a class="reference external" href="https://jupyterhub.readthedocs.io/en/stable/reference/authenticators.html#authenticators-reference" title="(in JupyterHub)"><span class="xref std std-ref">Jupyter Hub authenticators reference</span></a>
+for details).</p>
+</dd>
+</dl>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Using glob patterns to match user and group names is
+not currently supported.</p>
+</div>
+</section>
+<section id="permissions">
+<h3>Permissions<a class="headerlink" href="#permissions" title="Link to this heading"></a></h3>
+<p>Permissions can be granted for each Cylc command individually. For convenience,
+commands are arranged into groups to avoid having to list them individually:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">READ</span></code> (i.e. read-only access)</dt><dd><p>A user with read permissions may view workflows, monitor tasks states and
+open log files, but they cannot interact with the workflows.</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">Read</span></code></p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">CONTROL</span></code> (e.g. start &amp; stop workflows)</dt><dd><p>A user with control permissions may issue commands to interact with workflows
+and can start/stop workflows but cannot redefine the workflow configuration
+itself (without direct filesystem access).</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">Clean</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">Ext-trigger</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">Hold</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">Kill</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">Message</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">Pause</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">Play</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">Poll</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">Release</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">ReleaseHoldPoint</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">Reload</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">Remove</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">Resume</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">SetGraphWindowExtent</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">SetHoldPoint</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">SetOutputs</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">SetVerbosity</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">Stop</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">Trigger</span></code></p></li>
+</ul>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">ALL</span></code> (i.e. full control)</dt><dd><p>A user with all permissions may alter task configuration so may inject
+arbitrary code into the workflow.</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">Broadcast</span></code></p></li>
+</ul>
+</dd>
+</dl>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>With the exception of <code class="docutils literal notranslate"><span class="pre">Read</span></code> all of the above permissions map onto the
+Cylc GraphQL mutations which themselves map onto the command line.</p>
+<p>E.G. the <code class="docutils literal notranslate"><span class="pre">Play</span></code> permission maps onto <code class="docutils literal notranslate"><span class="pre">mutation</span> <span class="pre">play</span></code> in the GraphQL
+schema and <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> on the command line.</p>
+<p>To find out more about a command, see the GraphQL or CLI documentation.</p>
+</div>
+<p>By default, users have full permissions (<code class="docutils literal notranslate"><span class="pre">READ</span></code>, <code class="docutils literal notranslate"><span class="pre">CONTROL</span></code> and <code class="docutils literal notranslate"><span class="pre">ALL</span></code>) for their own workflows and no
+permissions for other users’ workflows.</p>
+<p>Permissions are additive, so for example, granting <code class="docutils literal notranslate"><span class="pre">READ</span></code> and <code class="docutils literal notranslate"><span class="pre">CONTROL</span></code>
+would provide all of the permissions from those two groups.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">!</span></code> character can be used to subtract permissions, e.g. delegating
+<code class="docutils literal notranslate"><span class="pre">CONTROL</span></code> and <code class="docutils literal notranslate"><span class="pre">!Stop</span></code> would provide all control permissions except stop.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Granting access to a group does not automatically grant access to lower
+groups e.g. granting <code class="docutils literal notranslate"><span class="pre">CONTROL</span></code> access does not automatically grant
+<code class="docutils literal notranslate"><span class="pre">READ</span></code> access.</p>
+</div>
+</section>
+<section id="examples">
+<h3>Examples<a class="headerlink" href="#examples" title="Link to this heading"></a></h3>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># ~/.cylc/uiserver/jupyter_config.py</span>
+
+<span class="n">c</span><span class="o">.</span><span class="n">CylcUIServer</span><span class="o">.</span><span class="n">user_authorization</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;*&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;READ&quot;</span><span class="p">],</span>
+    <span class="s2">&quot;group:groupA&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;CONTROL&quot;</span><span class="p">],</span>
+    <span class="s2">&quot;user1&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;read&quot;</span><span class="p">,</span> <span class="s2">&quot;pause&quot;</span><span class="p">,</span> <span class="s2">&quot;!play&quot;</span><span class="p">],</span>
+    <span class="s2">&quot;user2&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;!ALL&quot;</span><span class="p">]</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>In this scenario:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">&quot;*&quot;</span></code>  represents any authenticated user. They have permission to view all
+workflows on the GUI.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">&quot;group:groupA&quot;</span></code> applies <code class="docutils literal notranslate"><span class="pre">CONTROL</span></code> permissions to any member of system
+<code class="docutils literal notranslate"><span class="pre">groupA</span></code>.
+Note that, since permissions are inherited, these users will gain <code class="docutils literal notranslate"><span class="pre">READ</span></code> access
+from the <code class="docutils literal notranslate"><span class="pre">&quot;*&quot;:[&quot;READ&quot;]</span></code> assignment.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">&quot;user1&quot;</span></code> will have permission to view workflows, <code class="docutils literal notranslate"><span class="pre">pause</span></code> but not <code class="docutils literal notranslate"><span class="pre">play</span></code>
+workflows, even if <code class="docutils literal notranslate"><span class="pre">user1</span></code> is a member of the system <code class="docutils literal notranslate"><span class="pre">groupA</span></code>. This is due
+to negations taking precedence over additions.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">&quot;user2&quot;</span></code> is not permitted to view workflows, or perform any operations.</p></li>
+</ul>
+</section>
+</section>
+<section id="cylc-site-configuration">
+<span id="site-configuration"></span><h2>Cylc Site Configuration<a class="headerlink" href="#cylc-site-configuration" title="Link to this heading"></a></h2>
+<p>The <a class="reference internal" href="../reference/config/ui-server.html#cylc.uiserver.app.CylcUIServer.site_authorization" title="cylc.uiserver.app.CylcUIServer.site_authorization"><code class="xref py py-attr docutils literal notranslate"><span class="pre">c.CylcUIServer.site_authorization</span></code></a> configuration allows sites
+to configure sensible defaults and limits for the permissions users can
+grant.</p>
+<p>It takes the form:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="p">{</span>
+  <span class="s2">&quot;&lt;owner&gt;&quot;</span><span class="p">:</span> <span class="p">{</span>
+    <span class="s2">&quot;&lt;user&gt;&quot;</span><span class="p">:</span> <span class="p">{</span>
+      <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="p">[],</span>
+      <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="p">[]</span>
+    <span class="p">}</span>
+  <span class="p">}</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>Where <code class="docutils literal notranslate"><span class="pre">&lt;owner&gt;</span></code> is the username of the account that is running a server and
+<code class="docutils literal notranslate"><span class="pre">&lt;user&gt;</span></code> is the username of an account trying to connect to it.</p>
+<p>Sites can set both limits and defaults for users:</p>
+<dl>
+<dt><code class="docutils literal notranslate"><span class="pre">limit</span></code></dt><dd><p>Determines the maximum access users can grant to their workflows.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">default</span></code></dt><dd><p>Sets a default access level, which applies if the user does not appear in
+the user_authorization configuration (via explicit user name or group).</p>
+<p>Note, these defaults apply only if a user does not appear in
+<a class="reference internal" href="../reference/config/ui-server.html#cylc.uiserver.app.CylcUIServer.user_authorization" title="cylc.uiserver.app.CylcUIServer.user_authorization"><code class="xref py py-attr docutils literal notranslate"><span class="pre">c.CylcUIServer.user_authorization</span></code></a>.</p>
+</dd>
+</dl>
+<ul class="simple">
+<li><p>If a limit is not set but a default is, then the limit is the default.</p></li>
+<li><p>If a default is not set but a limit is, then the default is no access.</p></li>
+</ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>As the UI Server runs as the workflow owner, the owner has full control over
+it and in theory may bypass these restrictions in a variety of ways. As an
+extreme example, a workflow owner could pass their account credentials to
+another person. This cannot be prevented by technical means. However, a
+workflow owner cannot unilaterally gain access to any other user’s account
+or workflows by configuring their own UI Server.</p>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Changes to the Cylc authorization configuration will take effect when the
+Cylc UI Server is restarted.</p>
+</div>
+<section id="group-support">
+<span id="id1"></span><h3>Group Support<a class="headerlink" href="#group-support" title="Link to this heading"></a></h3>
+<p>Unix-like systems support user groups. Cylc authorization supports granting
+access by membership of these system groups. You can indicate a system group
+by using the <code class="docutils literal notranslate"><span class="pre">group:</span></code> indicator.</p>
+<p>System groups are found by
+<a class="reference internal" href="#cylc.uiserver.authorise.get_groups" title="cylc.uiserver.authorise.get_groups"><code class="xref py py-mod docutils literal notranslate"><span class="pre">get_groups</span></code></a></p>
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.uiserver.authorise.get_groups">
+<span class="sig-prename descclassname"><span class="pre">cylc.uiserver.authorise.</span></span><span class="sig-name descname"><span class="pre">get_groups</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">username</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Tuple" title="(in Python v3.12)"><span class="pre">Tuple</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.List" title="(in Python v3.12)"><span class="pre">List</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.List" title="(in Python v3.12)"><span class="pre">List</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#cylc.uiserver.authorise.get_groups" title="Link to this definition"></a></dt>
+<dd><p>Return list of system groups for given user.</p>
+<p>Uses <code class="docutils literal notranslate"><span class="pre">os.getgrouplist</span></code> and <code class="docutils literal notranslate"><span class="pre">os.NGROUPS_MAX</span></code> to get system groups for a
+given user. <code class="docutils literal notranslate"><span class="pre">grp.getgrgid</span></code> then parses these to return a list of group
+names.</p>
+<dl class="simple">
+<dt>Args:</dt><dd><p>username: username used to check system groups.</p>
+</dd>
+<dt>Returns:</dt><dd><p>list: system groups for username given</p>
+</dd>
+</dl>
+</dd></dl>
+
+</section>
+<section id="example-site-authorization-configuration">
+<h3>Example Site Authorization Configuration<a class="headerlink" href="#example-site-authorization-configuration" title="Link to this heading"></a></h3>
+<p>Whilst most site configurations will be simpler than the example below, this
+example provides an indication of the combinations available.</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># /etc/cylc/uiserver/jupyter_config.py</span>
+
+<span class="n">c</span><span class="o">.</span><span class="n">CylcUIServer</span><span class="o">.</span><span class="n">site_authorization</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s2">&quot;*&quot;</span><span class="p">:</span> <span class="p">{</span>  <span class="c1"># For all ui-server owners,</span>
+        <span class="s2">&quot;*&quot;</span><span class="p">:</span> <span class="p">{</span>  <span class="c1"># Any authenticated user</span>
+            <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="s2">&quot;READ&quot;</span><span class="p">,</span>  <span class="c1"># Will have default read-only access</span>
+        <span class="p">},</span>
+        <span class="s2">&quot;user1&quot;</span><span class="p">:</span> <span class="p">{</span>  <span class="c1"># for all ui-server owners, user1</span>
+            <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;!ALL&quot;</span><span class="p">],</span>  <span class="c1"># has no privileges by default</span>
+        <span class="p">},</span>  <span class="c1"># No limit set, so all ui-server owners are unable to permit user1</span>
+    <span class="p">},</span>
+    <span class="s2">&quot;server_owner_1&quot;</span><span class="p">:</span> <span class="p">{</span>  <span class="c1"># For specific UI Server owner, server_owner_1</span>
+        <span class="s2">&quot;*&quot;</span><span class="p">:</span> <span class="p">{</span>  <span class="c1"># Any authenticated user</span>
+            <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="s2">&quot;READ&quot;</span><span class="p">,</span>  <span class="c1"># Will have default read-only access</span>
+            <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="p">[</span><span class="s2">&quot;READ&quot;</span><span class="p">,</span> <span class="s2">&quot;CONTROL&quot;</span><span class="p">],</span>  <span class="c1"># server_owner_1 is able to give away</span>
+        <span class="p">},</span>  <span class="c1"># READ and CONTROL privileges.</span>
+    <span class="p">},</span>
+    <span class="s2">&quot;server_owner_2&quot;</span><span class="p">:</span> <span class="p">{</span>  <span class="c1"># For specific UI Server owner,</span>
+        <span class="s2">&quot;user2&quot;</span><span class="p">:</span> <span class="p">{</span>  <span class="c1"># Specific user2</span>
+            <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="s2">&quot;ALL&quot;</span>  <span class="c1"># Can only be granted a maximum of ALL by</span>
+        <span class="p">},</span>  <span class="c1"># server_owner2, default access for user2 falls back to</span>
+        <span class="c1"># standard READ only (if server_owner_2/user2 are</span>
+        <span class="c1"># included in other auth config e.g. the top example),</span>
+        <span class="c1"># or none if not in any other auth config sections.</span>
+        <span class="s2">&quot;group:groupA&quot;</span><span class="p">:</span> <span class="p">{</span>  <span class="c1"># group denoted with a `group:`</span>
+            <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="p">[</span>
+                <span class="s2">&quot;READ&quot;</span><span class="p">,</span>
+                <span class="s2">&quot;CONTROL&quot;</span><span class="p">,</span>
+            <span class="p">]</span>  <span class="c1"># groupA has default READ, CONTROL access to server_owner_2&#39;s</span>
+        <span class="p">},</span>  <span class="c1"># workflows</span>
+    <span class="p">},</span>
+    <span class="s2">&quot;group:grp_of_svr_owners&quot;</span><span class="p">:</span> <span class="p">{</span>  <span class="c1"># Group of users who own UI Servers</span>
+        <span class="s2">&quot;group:groupB&quot;</span><span class="p">:</span> <span class="p">{</span>
+            <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="s2">&quot;READ&quot;</span><span class="p">,</span>  <span class="c1"># can grant groupB users up to READ and CONTROL</span>
+            <span class="s2">&quot;limit&quot;</span><span class="p">:</span> <span class="p">[</span>  <span class="c1"># privileges, without stop and kill</span>
+                <span class="s2">&quot;READ&quot;</span><span class="p">,</span>
+                <span class="s2">&quot;CONTROL&quot;</span><span class="p">,</span>
+                <span class="s2">&quot;!stop&quot;</span><span class="p">,</span>  <span class="c1"># operations</span>
+                <span class="s2">&quot;!kill&quot;</span><span class="p">,</span>
+            <span class="p">],</span>
+        <span class="p">},</span>
+    <span class="p">},</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+</section>
+</section>
+<section id="interacting-with-others-workflows">
+<h2>Interacting with Others’ Workflows<a class="headerlink" href="#interacting-with-others-workflows" title="Link to this heading"></a></h2>
+<p>If you have been granted access to another user’s workflows, you can view and
+interact with these workflows.
+Say, you, userA, wish to interact with userB’s workflows.
+You can do this by navigating to the URL <code class="docutils literal notranslate"><span class="pre">https://&lt;hub&gt;/user/userB</span></code>, using
+the hub of userB. You should authenticate as yourself (userA) and, provided you
+have the correct permissions, you will see userB’s workflows for interaction.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Operations that are not authorized will appear greyed out on the UI.</p>
+</div>
+</section>
+<section id="troubleshooting-authorization">
+<h2>Troubleshooting Authorization<a class="headerlink" href="#troubleshooting-authorization" title="Link to this heading"></a></h2>
+<p>If authorization is not performing as expected, check</p>
+<ul class="simple">
+<li><p>you are permitted by the site configuration to give away access.</p></li>
+<li><p>you have provided <code class="docutils literal notranslate"><span class="pre">read</span></code> permissions, which enables the user to see your
+workflows.</p></li>
+<li><p>check the spelling in your configuration. The correct spelling is
+<code class="docutils literal notranslate"><span class="pre">c.CylcUIServer.user_authorization</span></code></p></li>
+</ul>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="removing-workflows.html" class="btn btn-neutral float-left" title="Removing Workflows" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="compound-commands.html" class="btn btn-neutral float-right" title="Compound Commands" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/sharing-access-to-workflows";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/task-implementation/index.html b/nightly_8.3/html/user-guide/task-implementation/index.html
new file mode 100644
index 00000000000..c5718e31bc6
--- /dev/null
+++ b/nightly_8.3/html/user-guide/task-implementation/index.html
@@ -0,0 +1,208 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Task Implementation &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Task Implementation" href="job-scripts.html" />
+    <link rel="prev" title="Handling Job Preemption" href="../running-workflows/handling-job-preemption.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Task Implementation</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="job-scripts.html">Task Implementation</a></li>
+<li class="toctree-l3"><a class="reference internal" href="job-submission.html">Job Submission and Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ssh-job-management.html">Remote Job Management</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+      <li class="breadcrumb-item active">Task Implementation</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/task-implementation/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="task-implementation">
+<h1>Task Implementation<a class="headerlink" href="#task-implementation" title="Link to this heading"></a></h1>
+<p>This section covers the technical detail of how Cylc runs <a class="reference internal" href="../../glossary.html#term-task"><span class="xref std std-term">tasks</span></a>.</p>
+<p>In Cylc <a class="reference internal" href="../../glossary.html#term-task"><span class="xref std std-term">tasks</span></a> represent activities within the workflow.
+<a class="reference internal" href="../../glossary.html#term-task"><span class="xref std std-term">Tasks</span></a> submit <a class="reference internal" href="../../glossary.html#term-job"><span class="xref std std-term">jobs</span></a> when they are run.</p>
+<p>Tasks are the “abstract” workflow component. Jobs are the concrete
+representation of a task. One task could submit many jobs (for example if the
+job fails and the task is re-run).</p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="job-scripts.html">Task Implementation</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="job-scripts.html#job-scripts">Job Scripts</a></li>
+<li class="toctree-l2"><a class="reference internal" href="job-scripts.html#inlined-tasks">Inlined Tasks</a></li>
+<li class="toctree-l2"><a class="reference internal" href="job-scripts.html#interpreter">Interpreter</a></li>
+<li class="toctree-l2"><a class="reference internal" href="job-scripts.html#task-messages">Task Messages</a></li>
+<li class="toctree-l2"><a class="reference internal" href="job-scripts.html#aborting-job-scripts-on-error">Aborting Job Scripts on Error</a></li>
+<li class="toctree-l2"><a class="reference internal" href="job-scripts.html#avoid-detaching-processes">Avoid Detaching Processes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="job-scripts.html#use-of-pipes-in-job-scripts">Use of Pipes in Job Scripts</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="job-submission.html">Job Submission and Management</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="job-submission.html#supported-job-submission-methods">Supported Job Submission Methods</a></li>
+<li class="toctree-l2"><a class="reference internal" href="job-submission.html#task-stdout-and-stderr-logs">Task stdout and stderr Logs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="job-submission.html#overriding-the-job-submission-command">Overriding The Job Submission Command</a></li>
+<li class="toctree-l2"><a class="reference internal" href="job-submission.html#job-polling">Job Polling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="job-submission.html#job-killing">Job Killing</a></li>
+<li class="toctree-l2"><a class="reference internal" href="job-submission.html#execution-time-limit">Execution Time Limit</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="ssh-job-management.html">Remote Job Management</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="ssh-job-management.html#ssh-free-job-management">SSH-free Job Management?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ssh-job-management.html#ssh-based-job-management">SSH-based Job Management</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ssh-job-management.html#other-cases-where-cylc-uses-ssh-directly">Other Cases Where Cylc Uses SSH Directly</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../running-workflows/handling-job-preemption.html" class="btn btn-neutral float-left" title="Handling Job Preemption" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="job-scripts.html" class="btn btn-neutral float-right" title="Task Implementation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/task-implementation/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.at.html b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.at.html
new file mode 100644
index 00000000000..ad1dead308a
--- /dev/null
+++ b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.at.html
@@ -0,0 +1,194 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>at &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="background" href="cylc.flow.job_runner_handlers.background.html" />
+    <link rel="prev" title="Job Submission and Management" href="../job-submission.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Task Implementation</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../job-scripts.html">Task Implementation</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../job-submission.html">Job Submission and Management</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../job-submission.html#supported-job-submission-methods">Supported Job Submission Methods</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#task-stdout-and-stderr-logs">Task stdout and stderr Logs</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#overriding-the-job-submission-command">Overriding The Job Submission Command</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-polling">Job Polling</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-killing">Job Killing</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#execution-time-limit">Execution Time Limit</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../ssh-job-management.html">Remote Job Management</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Task Implementation</a></li>
+          <li class="breadcrumb-item"><a href="../job-submission.html">Job Submission and Management</a></li>
+      <li class="breadcrumb-item active">at</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.at.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.job_runner_handlers.at">
+<span id="at"></span><h1>at<a class="headerlink" href="#module-cylc.flow.job_runner_handlers.at" title="Link to this heading"></a></h1>
+<p>Submits job scripts to the rudimentary Unix <code class="docutils literal notranslate"><span class="pre">at</span></code> scheduler.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">atd</span></code> daemon must be running.</p>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">atq</span></code> command does not report if the job is running or not.</p>
+</div>
+<p>If an <a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> is specified for a task, its job will
+be wrapped by the <code class="docutils literal notranslate"><span class="pre">timeout</span></code> command.</p>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../job-submission.html" class="btn btn-neutral float-left" title="Job Submission and Management" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="cylc.flow.job_runner_handlers.background.html" class="btn btn-neutral float-right" title="background" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.at";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background.html b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background.html
new file mode 100644
index 00000000000..cc57268423d
--- /dev/null
+++ b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background.html
@@ -0,0 +1,186 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>background &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="loadleveler" href="cylc.flow.job_runner_handlers.loadleveler.html" />
+    <link rel="prev" title="at" href="cylc.flow.job_runner_handlers.at.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Task Implementation</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../job-scripts.html">Task Implementation</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../job-submission.html">Job Submission and Management</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../job-submission.html#supported-job-submission-methods">Supported Job Submission Methods</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#task-stdout-and-stderr-logs">Task stdout and stderr Logs</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#overriding-the-job-submission-command">Overriding The Job Submission Command</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-polling">Job Polling</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-killing">Job Killing</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#execution-time-limit">Execution Time Limit</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../ssh-job-management.html">Remote Job Management</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Task Implementation</a></li>
+          <li class="breadcrumb-item"><a href="../job-submission.html">Job Submission and Management</a></li>
+      <li class="breadcrumb-item active">background</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.job_runner_handlers.background">
+<span id="background"></span><h1>background<a class="headerlink" href="#module-cylc.flow.job_runner_handlers.background" title="Link to this heading"></a></h1>
+<p>Runs job scripts as Unix background processes.</p>
+<p>If an <a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> is specified for a task, its job will
+be wrapped by the <code class="docutils literal notranslate"><span class="pre">timeout</span></code> command.</p>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="cylc.flow.job_runner_handlers.at.html" class="btn btn-neutral float-left" title="at" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="cylc.flow.job_runner_handlers.loadleveler.html" class="btn btn-neutral float-right" title="loadleveler" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.background";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler.html b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler.html
new file mode 100644
index 00000000000..d0424203e5f
--- /dev/null
+++ b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler.html
@@ -0,0 +1,224 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>loadleveler &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="lsf" href="cylc.flow.job_runner_handlers.lsf.html" />
+    <link rel="prev" title="background" href="cylc.flow.job_runner_handlers.background.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Task Implementation</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../job-scripts.html">Task Implementation</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../job-submission.html">Job Submission and Management</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../job-submission.html#supported-job-submission-methods">Supported Job Submission Methods</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#task-stdout-and-stderr-logs">Task stdout and stderr Logs</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#overriding-the-job-submission-command">Overriding The Job Submission Command</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-polling">Job Polling</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-killing">Job Killing</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#execution-time-limit">Execution Time Limit</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../ssh-job-management.html">Remote Job Management</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Task Implementation</a></li>
+          <li class="breadcrumb-item"><a href="../job-submission.html">Job Submission and Management</a></li>
+      <li class="breadcrumb-item active">loadleveler</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.job_runner_handlers.loadleveler">
+<span id="loadleveler"></span><h1>loadleveler<a class="headerlink" href="#module-cylc.flow.job_runner_handlers.loadleveler" title="Link to this heading"></a></h1>
+<p>Submits job scripts to loadleveler by the <code class="docutils literal notranslate"><span class="pre">llsubmit</span></code> command.</p>
+<p>Loadleveler directives can be provided in the flow.cylc file:</p>
+<div class="literal-block-wrapper docutils container" id="id1">
+<div class="code-block-caption"><span class="caption-text">global.cylc</span><a class="headerlink" href="#id1" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[myplatform]]</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> loadleveler</span>
+</pre></div>
+</div>
+</div>
+<div class="literal-block-wrapper docutils container" id="id2">
+<div class="code-block-caption"><span class="caption-text">flow.cylc</span><a class="headerlink" href="#id2" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[my_task]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> myplatform</span>
+        <span class="nv">execution time limit </span><span class="o">=</span><span class="s"> PT10M</span>
+        <span class="nt">[[[directives]]]</span>
+            <span class="nv">foo </span><span class="o">=</span><span class="s"> bar</span>
+            <span class="nv">baz </span><span class="o">=</span><span class="s"> qux</span>
+</pre></div>
+</div>
+</div>
+<p>These are written to the top of the job script like this:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
+<span class="c1"># DIRECTIVES</span>
+<span class="c1"># @ foo = bar</span>
+<span class="c1"># @ baz = qux</span>
+<span class="c1"># @ wall_clock_limit = 660,600</span>
+<span class="c1"># @ queue</span>
+</pre></div>
+</div>
+<p>If <code class="docutils literal notranslate"><span class="pre">restart=yes</span></code> is specified as a directive for loadleveler, the job will
+automatically trap SIGUSR1, which loadleveler may use to preempt the job. On
+trapping SIGUSR1, the job will inform the workflow that it has been vacated by
+loadleveler. This will put it back to the submitted state, until it starts
+running again.</p>
+<p>If <a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> is specified, it is used to generate the
+<code class="docutils literal notranslate"><span class="pre">wall_clock_limit</span></code> directive. The setting is assumed to be the soft limit.
+The hard limit will be set by adding an extra minute to the soft limit.  Do not
+specify the <code class="docutils literal notranslate"><span class="pre">wall_clock_limit</span></code> directive explicitly if <a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">executiontime</span> <span class="pre">limit</span></code></a> is specified. Otherwise, the execution time limit known by the
+workflow may be out of sync with what is submitted to the job runner.</p>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="cylc.flow.job_runner_handlers.background.html" class="btn btn-neutral float-left" title="background" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="cylc.flow.job_runner_handlers.lsf.html" class="btn btn-neutral float-right" title="lsf" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.lsf.html b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.lsf.html
new file mode 100644
index 00000000000..268bc38db0d
--- /dev/null
+++ b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.lsf.html
@@ -0,0 +1,216 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>lsf &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="moab" href="cylc.flow.job_runner_handlers.moab.html" />
+    <link rel="prev" title="loadleveler" href="cylc.flow.job_runner_handlers.loadleveler.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Task Implementation</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../job-scripts.html">Task Implementation</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../job-submission.html">Job Submission and Management</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../job-submission.html#supported-job-submission-methods">Supported Job Submission Methods</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#task-stdout-and-stderr-logs">Task stdout and stderr Logs</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#overriding-the-job-submission-command">Overriding The Job Submission Command</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-polling">Job Polling</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-killing">Job Killing</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#execution-time-limit">Execution Time Limit</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../ssh-job-management.html">Remote Job Management</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Task Implementation</a></li>
+          <li class="breadcrumb-item"><a href="../job-submission.html">Job Submission and Management</a></li>
+      <li class="breadcrumb-item active">lsf</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.lsf.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.job_runner_handlers.lsf">
+<span id="lsf"></span><h1>lsf<a class="headerlink" href="#module-cylc.flow.job_runner_handlers.lsf" title="Link to this heading"></a></h1>
+<p>Submits job scripts to IBM Platform LSF by the <code class="docutils literal notranslate"><span class="pre">bsub</span></code> command.</p>
+<p>LSF directives can be provided in the flow.cylc file:</p>
+<div class="literal-block-wrapper docutils container" id="id1">
+<div class="code-block-caption"><span class="caption-text">global.cylc</span><a class="headerlink" href="#id1" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[myplatform]]</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> lsf</span>
+</pre></div>
+</div>
+</div>
+<div class="literal-block-wrapper docutils container" id="id2">
+<div class="code-block-caption"><span class="caption-text">flow.cylc</span><a class="headerlink" href="#id2" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[my_task]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> myplatform</span>
+        <span class="nv">execution time limit </span><span class="o">=</span><span class="s"> PT10M</span>
+        <span class="nt">[[[directives]]]</span>
+            <span class="nv">-q </span><span class="o">=</span><span class="s"> foo</span>
+</pre></div>
+</div>
+</div>
+<p>These are written to the top of the job script like this:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
+<span class="c1"># DIRECTIVES</span>
+<span class="c1">#BSUB -q = foo</span>
+<span class="c1">#BSUB -W = 10</span>
+</pre></div>
+</div>
+<p>If <a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> is specified, it is used to generate the
+<code class="docutils literal notranslate"><span class="pre">-W</span></code> directive. Do not specify the <code class="docutils literal notranslate"><span class="pre">-W</span></code> directive
+explicitly if <a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> is specified. Otherwise, the
+execution time limit known by the workflow may be out of sync with what is
+submitted to the job runner.</p>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="cylc.flow.job_runner_handlers.loadleveler.html" class="btn btn-neutral float-left" title="loadleveler" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="cylc.flow.job_runner_handlers.moab.html" class="btn btn-neutral float-right" title="moab" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.lsf";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.moab.html b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.moab.html
new file mode 100644
index 00000000000..a3cbd00ac35
--- /dev/null
+++ b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.moab.html
@@ -0,0 +1,222 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>moab &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="pbs" href="cylc.flow.job_runner_handlers.pbs.html" />
+    <link rel="prev" title="lsf" href="cylc.flow.job_runner_handlers.lsf.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Task Implementation</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../job-scripts.html">Task Implementation</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../job-submission.html">Job Submission and Management</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../job-submission.html#supported-job-submission-methods">Supported Job Submission Methods</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#task-stdout-and-stderr-logs">Task stdout and stderr Logs</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#overriding-the-job-submission-command">Overriding The Job Submission Command</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-polling">Job Polling</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-killing">Job Killing</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#execution-time-limit">Execution Time Limit</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../ssh-job-management.html">Remote Job Management</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Task Implementation</a></li>
+          <li class="breadcrumb-item"><a href="../job-submission.html">Job Submission and Management</a></li>
+      <li class="breadcrumb-item active">moab</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.moab.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.job_runner_handlers.moab">
+<span id="moab"></span><h1>moab<a class="headerlink" href="#module-cylc.flow.job_runner_handlers.moab" title="Link to this heading"></a></h1>
+<p>Submits job scripts to the Moab workload manager with <code class="docutils literal notranslate"><span class="pre">msub</span></code>.</p>
+<p>Moab directives can be provided in the flow.cylc file; the syntax is
+very similar to PBS:</p>
+<div class="literal-block-wrapper docutils container" id="id1">
+<div class="code-block-caption"><span class="caption-text">global.cylc</span><a class="headerlink" href="#id1" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[myplatform]]</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> moab</span>
+</pre></div>
+</div>
+</div>
+<div class="literal-block-wrapper docutils container" id="id2">
+<div class="code-block-caption"><span class="caption-text">flow.cylc</span><a class="headerlink" href="#id2" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[my_task]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> myplatform</span>
+        <span class="nv">execution time limit </span><span class="o">=</span><span class="s"> PT1M</span>
+        <span class="nt">[[[directives]]]</span>
+            <span class="nv">-V </span><span class="o">=</span>
+            <span class="nv">-q </span><span class="o">=</span><span class="s"> foo</span>
+            <span class="nv">-l nodes </span><span class="o">=</span><span class="s"> 1</span>
+</pre></div>
+</div>
+</div>
+<p>These are written to the top of the job script like this:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
+<span class="c1"># DIRECTIVES</span>
+<span class="c1">#PBS -V</span>
+<span class="c1">#PBS -q foo</span>
+<span class="c1">#PBS -l nodes=1</span>
+<span class="c1">#PBS -l walltime=60</span>
+</pre></div>
+</div>
+<p>(Moab understands <code class="docutils literal notranslate"><span class="pre">#PBS</span></code> directives).</p>
+<p>If <a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> is specified, it is used to generate the
+<code class="docutils literal notranslate"><span class="pre">-l</span> <span class="pre">walltime</span></code> directive. Do not specify the <code class="docutils literal notranslate"><span class="pre">-l</span> <span class="pre">walltime</span></code> directive
+explicitly if <a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> is specified.  Otherwise, the
+execution time limit known by the workflow may be out of sync with what is
+submitted to the job runner.</p>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="cylc.flow.job_runner_handlers.lsf.html" class="btn btn-neutral float-left" title="lsf" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="cylc.flow.job_runner_handlers.pbs.html" class="btn btn-neutral float-right" title="pbs" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.moab";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.pbs.html b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.pbs.html
new file mode 100644
index 00000000000..50a5f87d495
--- /dev/null
+++ b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.pbs.html
@@ -0,0 +1,220 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>pbs &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="sge" href="cylc.flow.job_runner_handlers.sge.html" />
+    <link rel="prev" title="moab" href="cylc.flow.job_runner_handlers.moab.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Task Implementation</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../job-scripts.html">Task Implementation</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../job-submission.html">Job Submission and Management</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../job-submission.html#supported-job-submission-methods">Supported Job Submission Methods</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#task-stdout-and-stderr-logs">Task stdout and stderr Logs</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#overriding-the-job-submission-command">Overriding The Job Submission Command</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-polling">Job Polling</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-killing">Job Killing</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#execution-time-limit">Execution Time Limit</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../ssh-job-management.html">Remote Job Management</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Task Implementation</a></li>
+          <li class="breadcrumb-item"><a href="../job-submission.html">Job Submission and Management</a></li>
+      <li class="breadcrumb-item active">pbs</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.pbs.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.job_runner_handlers.pbs">
+<span id="pbs"></span><h1>pbs<a class="headerlink" href="#module-cylc.flow.job_runner_handlers.pbs" title="Link to this heading"></a></h1>
+<p>Submits job scripts to PBS (or Torque) by the <code class="docutils literal notranslate"><span class="pre">qsub</span></code> command.</p>
+<p>PBS directives can be provided in the flow.cylc file:</p>
+<div class="literal-block-wrapper docutils container" id="id1">
+<div class="code-block-caption"><span class="caption-text">global.cylc</span><a class="headerlink" href="#id1" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[myplatform]]</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> pbs</span>
+</pre></div>
+</div>
+</div>
+<div class="literal-block-wrapper docutils container" id="id2">
+<div class="code-block-caption"><span class="caption-text">flow.cylc</span><a class="headerlink" href="#id2" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[my_task]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> myplatform</span>
+        <span class="nv">execution time limit </span><span class="o">=</span><span class="s"> PT1M</span>
+        <span class="nt">[[[directives]]]</span>
+            <span class="nv">-V </span><span class="o">=</span>
+            <span class="nv">-q </span><span class="o">=</span><span class="s"> foo</span>
+            <span class="nv">-l nodes </span><span class="o">=</span><span class="s"> 1</span>
+</pre></div>
+</div>
+</div>
+<p>These are written to the top of the job script like this:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
+<span class="c1"># DIRECTIVES</span>
+<span class="c1">#PBS -V</span>
+<span class="c1">#PBS -q foo</span>
+<span class="c1">#PBS -l nodes=1</span>
+<span class="c1">#PBS -l walltime=60</span>
+</pre></div>
+</div>
+<p>If <a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> is specified, it is used to generate the
+<code class="docutils literal notranslate"><span class="pre">-l</span> <span class="pre">walltime</span></code> directive. Do not specify the <code class="docutils literal notranslate"><span class="pre">-l</span> <span class="pre">walltime</span></code> directive
+explicitly if <a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> is specified.  Otherwise, the
+execution time limit known by the workflow may be out of sync with what is
+submitted to the job runner.</p>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="cylc.flow.job_runner_handlers.moab.html" class="btn btn-neutral float-left" title="moab" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="cylc.flow.job_runner_handlers.sge.html" class="btn btn-neutral float-right" title="sge" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.pbs";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.sge.html b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.sge.html
new file mode 100644
index 00000000000..93d58ce619c
--- /dev/null
+++ b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.sge.html
@@ -0,0 +1,221 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>sge &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="slurm" href="cylc.flow.job_runner_handlers.slurm.html" />
+    <link rel="prev" title="pbs" href="cylc.flow.job_runner_handlers.pbs.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Task Implementation</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../job-scripts.html">Task Implementation</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../job-submission.html">Job Submission and Management</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../job-submission.html#supported-job-submission-methods">Supported Job Submission Methods</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#task-stdout-and-stderr-logs">Task stdout and stderr Logs</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#overriding-the-job-submission-command">Overriding The Job Submission Command</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-polling">Job Polling</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-killing">Job Killing</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#execution-time-limit">Execution Time Limit</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../ssh-job-management.html">Remote Job Management</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Task Implementation</a></li>
+          <li class="breadcrumb-item"><a href="../job-submission.html">Job Submission and Management</a></li>
+      <li class="breadcrumb-item active">sge</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.sge.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.job_runner_handlers.sge">
+<span id="sge"></span><h1>sge<a class="headerlink" href="#module-cylc.flow.job_runner_handlers.sge" title="Link to this heading"></a></h1>
+<p>Submits job scripts to Sun/Oracle Grid Engine with <code class="docutils literal notranslate"><span class="pre">qsub</span></code>.</p>
+<p>SGE directives can be provided in the flow.cylc file:</p>
+<div class="literal-block-wrapper docutils container" id="id1">
+<div class="code-block-caption"><span class="caption-text">global.cylc</span><a class="headerlink" href="#id1" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[sge_platform]]</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> sge</span>
+</pre></div>
+</div>
+</div>
+<div class="literal-block-wrapper docutils container" id="id2">
+<div class="code-block-caption"><span class="caption-text">flow.cylc</span><a class="headerlink" href="#id2" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[my_task]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> sge_platform</span>
+        <span class="nv">execution time limit </span><span class="o">=</span><span class="s"> P1D</span>
+        <span class="nt">[[[directives]]]</span>
+            <span class="nv">-cwd </span><span class="o">=</span>
+            <span class="nv">-q </span><span class="o">=</span><span class="s"> foo</span>
+            <span class="nv">-l h_data </span><span class="o">=</span><span class="s"> 1024M</span>
+            <span class="nv">-l h_rt </span><span class="o">=</span><span class="s"> 24:00:00</span>
+</pre></div>
+</div>
+</div>
+<p>These are written to the top of the job script like this:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
+<span class="c1"># DIRECTIVES</span>
+<span class="c1">#$ -cwd</span>
+<span class="c1">#$ -q foo</span>
+<span class="c1">#$ -l h_data=1024M</span>
+<span class="c1">#$ -l h_rt=24:00:00</span>
+</pre></div>
+</div>
+<p>If <a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> is specified, it is used to generate the
+<code class="docutils literal notranslate"><span class="pre">-l</span> <span class="pre">h_rt</span></code> directive. Do not specify the <code class="docutils literal notranslate"><span class="pre">-l</span> <span class="pre">h_rt</span></code> directive explicitly if
+<a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> is specified.  Otherwise, the execution time
+limit known by the workflow may be out of sync with what is submitted to the
+job runner.</p>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="cylc.flow.job_runner_handlers.pbs.html" class="btn btn-neutral float-left" title="pbs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="cylc.flow.job_runner_handlers.slurm.html" class="btn btn-neutral float-right" title="slurm" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.sge";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm.html b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm.html
new file mode 100644
index 00000000000..50d99f8e6a3
--- /dev/null
+++ b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm.html
@@ -0,0 +1,260 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>slurm &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="slurm_packjob" href="cylc.flow.job_runner_handlers.slurm_packjob.html" />
+    <link rel="prev" title="sge" href="cylc.flow.job_runner_handlers.sge.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Task Implementation</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../job-scripts.html">Task Implementation</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../job-submission.html">Job Submission and Management</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../job-submission.html#supported-job-submission-methods">Supported Job Submission Methods</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#task-stdout-and-stderr-logs">Task stdout and stderr Logs</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#overriding-the-job-submission-command">Overriding The Job Submission Command</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-polling">Job Polling</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-killing">Job Killing</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#execution-time-limit">Execution Time Limit</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../ssh-job-management.html">Remote Job Management</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Task Implementation</a></li>
+          <li class="breadcrumb-item"><a href="../job-submission.html">Job Submission and Management</a></li>
+      <li class="breadcrumb-item active">slurm</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.job_runner_handlers.slurm">
+<span id="slurm"></span><h1>slurm<a class="headerlink" href="#module-cylc.flow.job_runner_handlers.slurm" title="Link to this heading"></a></h1>
+<p>Submits job scripts to Simple Linux Utility for Resource Management.</p>
+<p>Uses the <code class="docutils literal notranslate"><span class="pre">sbatch</span></code> command. SLURM directives can be provided in the flow.cylc
+file:</p>
+<div class="literal-block-wrapper docutils container" id="id1">
+<div class="code-block-caption"><span class="caption-text">global.cylc</span><a class="headerlink" href="#id1" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platforms]</span>
+    <span class="nt">[[slurm_platform]]</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> slurm</span>
+</pre></div>
+</div>
+</div>
+<div class="literal-block-wrapper docutils container" id="id2">
+<div class="code-block-caption"><span class="caption-text">flow.cylc</span><a class="headerlink" href="#id2" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[my_task]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> slurm_platform</span>
+        <span class="nv">execution time limit </span><span class="o">=</span><span class="s"> PT1H</span>
+        <span class="nt">[[[directives]]]</span>
+            <span class="nv">--nodes </span><span class="o">=</span><span class="s"> 5</span>
+            <span class="nv">--account </span><span class="o">=</span><span class="s"> QXZ5W2</span>
+</pre></div>
+</div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<ul class="simple">
+<li><p>Cylc requires long form directives (e.g. <code class="docutils literal notranslate"><span class="pre">--begin</span></code> not <code class="docutils literal notranslate"><span class="pre">-b</span></code>).</p></li>
+<li><p>Cylc requires an <code class="docutils literal notranslate"><span class="pre">=</span></code> even if the directive does not have a value
+(e.g. <code class="docutils literal notranslate"><span class="pre">--hold=</span></code> not <code class="docutils literal notranslate"><span class="pre">--hold</span></code>).</p></li>
+<li><p>If a directive does not have a value you may use the short form
+(e.g. <code class="docutils literal notranslate"><span class="pre">-H=</span></code>). But the directive must still be suffixed with an <code class="docutils literal notranslate"><span class="pre">=</span></code>.</p></li>
+</ul>
+</div>
+<p>These are written to the top of the job script like this:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
+<span class="c1">#SBATCH --nodes=5</span>
+<span class="c1">#SBATCH --time=60:00</span>
+<span class="c1">#SBATCH --account=QXZ5W2</span>
+</pre></div>
+</div>
+<p>If <a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> is specified, it is used to generate the
+<code class="docutils literal notranslate"><span class="pre">--time</span></code> directive. Do not specify the <code class="docutils literal notranslate"><span class="pre">--time</span></code> directive explicitly if
+<a class="reference internal" href="../../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> is specified.  Otherwise, the execution time
+limit known by the workflow may be out of sync with what is submitted to the
+job runner.</p>
+<p>Cylc supports heterogeneous Slurm jobs via special numbered directive prefixes
+that distinguish repeated directives from one another:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="c1"># run two heterogenous job components:</span>
+    <span class="nv">script </span><span class="o">=</span><span class="s"> srun sleep 10 : sleep 30</span>
+    <span class="nt">[[my_task]]</span>
+        <span class="nv">execution time limit </span><span class="o">=</span><span class="s"> PT1H</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> slurm_platform</span>
+        <span class="nt">[[[directives]]]</span>
+            <span class="nv">--account </span><span class="o">=</span><span class="s"> QXZ5W2</span>
+            <span class="nv">hetjob_0_--mem </span><span class="o">=</span><span class="s"> 1G</span>  <span class="c1"># first prefix must be &quot;0&quot;</span>
+            <span class="nv">hetjob_0_--nodes </span><span class="o">=</span><span class="s"> 3</span>
+            <span class="nv">hetjob_1_--mem </span><span class="o">=</span><span class="s"> 2G</span>
+            <span class="nv">hetjob_1_--nodes </span><span class="o">=</span><span class="s"> 6</span>
+</pre></div>
+</div>
+<p>The resulting formatted directives are:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
+<span class="c1">#SBATCH --time=60:00</span>
+<span class="c1">#SBATCH --account=QXZ5W2</span>
+<span class="c1">#SBATCH --mem=1G</span>
+<span class="c1">#SBATCH --nodes=3</span>
+<span class="c1">#SBATCH hetjob</span>
+<span class="c1">#SBATCH --mem=2G</span>
+<span class="c1">#SBATCH --nodes=6</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>For older Slurm versions with <em>packjob</em> instead of <em>hetjob</em>, use
+<a class="reference internal" href="../../../reference/config/global.html#global.cylc[platforms][&lt;platform name&gt;]job runner" title="global.cylc[platforms][&lt;platform name&gt;]job runner"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]job</span> <span class="pre">runner=slurm_packjob</span></code></a> and directive prefixes <code class="docutils literal notranslate"><span class="pre">packjob_0_</span></code> etc.</p>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="cylc.flow.job_runner_handlers.sge.html" class="btn btn-neutral float-left" title="sge" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="cylc.flow.job_runner_handlers.slurm_packjob.html" class="btn btn-neutral float-right" title="slurm_packjob" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob.html b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob.html
new file mode 100644
index 00000000000..5d12a6617f8
--- /dev/null
+++ b/nightly_8.3/html/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob.html
@@ -0,0 +1,186 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>slurm_packjob &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../../genindex.html" />
+    <link rel="search" title="Search" href="../../../search.html" />
+    <link rel="next" title="Remote Job Management" href="../ssh-job-management.html" />
+    <link rel="prev" title="slurm" href="cylc.flow.job_runner_handlers.slurm.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../../index.html">
+            
+              <img src="../../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="../index.html">Task Implementation</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="../job-scripts.html">Task Implementation</a></li>
+<li class="toctree-l3 current"><a class="reference internal" href="../job-submission.html">Job Submission and Management</a><ul class="current">
+<li class="toctree-l4 current"><a class="reference internal" href="../job-submission.html#supported-job-submission-methods">Supported Job Submission Methods</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#task-stdout-and-stderr-logs">Task stdout and stderr Logs</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#overriding-the-job-submission-command">Overriding The Job Submission Command</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-polling">Job Polling</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#job-killing">Job Killing</a></li>
+<li class="toctree-l4"><a class="reference internal" href="../job-submission.html#execution-time-limit">Execution Time Limit</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="../ssh-job-management.html">Remote Job Management</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="../index.html">Task Implementation</a></li>
+          <li class="breadcrumb-item"><a href="../job-submission.html">Job Submission and Management</a></li>
+      <li class="breadcrumb-item active">slurm_packjob</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../../_sources/user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="module-cylc.flow.job_runner_handlers.slurm_packjob">
+<span id="slurm-packjob"></span><h1>slurm_packjob<a class="headerlink" href="#module-cylc.flow.job_runner_handlers.slurm_packjob" title="Link to this heading"></a></h1>
+<p>SLURM job submission and manipulation.</p>
+<p>Includes directive prefix workaround for heterogeneous job support, for older
+Slurm versions that use “packjob” instead of “hetjob”.</p>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="cylc.flow.job_runner_handlers.slurm.html" class="btn btn-neutral float-left" title="slurm" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../ssh-job-management.html" class="btn btn-neutral float-right" title="Remote Job Management" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/task-implementation/job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/task-implementation/job-scripts.html b/nightly_8.3/html/user-guide/task-implementation/job-scripts.html
new file mode 100644
index 00000000000..c18cc8488cd
--- /dev/null
+++ b/nightly_8.3/html/user-guide/task-implementation/job-scripts.html
@@ -0,0 +1,428 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Task Implementation &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Job Submission and Management" href="job-submission.html" />
+    <link rel="prev" title="Task Implementation" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Task Implementation</a><ul class="current">
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Task Implementation</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#job-scripts">Job Scripts</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#inlined-tasks">Inlined Tasks</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#interpreter">Interpreter</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#task-messages">Task Messages</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#aborting-job-scripts-on-error">Aborting Job Scripts on Error</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#avoid-detaching-processes">Avoid Detaching Processes</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#use-of-pipes-in-job-scripts">Use of Pipes in Job Scripts</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="job-submission.html">Job Submission and Management</a></li>
+<li class="toctree-l3"><a class="reference internal" href="ssh-job-management.html">Remote Job Management</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Task Implementation</a></li>
+      <li class="breadcrumb-item active">Task Implementation</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/task-implementation/job-scripts.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="task-implementation">
+<span id="taskimplementation"></span><h1>Task Implementation<a class="headerlink" href="#task-implementation" title="Link to this heading"></a></h1>
+<p>Existing scripts and executables can be used as Cylc tasks without
+modification so long as they return standard exit status - zero on success,
+non-zero for failure - and do not spawn detaching processes internally (see
+<a class="reference internal" href="#detachingjobs"><span class="std std-ref">Avoid Detaching Processes</span></a>).</p>
+<section id="job-scripts">
+<span id="jobscripts"></span><h2>Job Scripts<a class="headerlink" href="#job-scripts" title="Link to this heading"></a></h2>
+<p>When the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> determines that a task is ready to run it
+generates a <em>job script</em> for the task, and submits it to run (see
+<a class="reference internal" href="job-submission.html#taskjobsubmission"><span class="std std-ref">Job Submission and Management</span></a>).</p>
+<p><a class="reference internal" href="../../glossary.html#term-job-script"><span class="xref std std-term">Job scripts</span></a> encapsulate configured task runtime settings:
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]script" title="flow.cylc[runtime][&lt;namespace&gt;]script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">script</span></code></a> and <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][environment]" title="flow.cylc[runtime][&lt;namespace&gt;][environment]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[environment]</span></code></a> items, if defined, are just
+concatenated in the order shown below, to make the job script.</p>
+<p>The job script is separated into two parts. User scripts and environment
+(<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]env-script" title="flow.cylc[runtime][&lt;namespace&gt;]env-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">env-script</span></code></a>, <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][environment]" title="flow.cylc[runtime][&lt;namespace&gt;][environment]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[environment]</span></code></a>, <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]pre-script" title="flow.cylc[runtime][&lt;namespace&gt;]pre-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">pre-script</span></code></a>,
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]script" title="flow.cylc[runtime][&lt;namespace&gt;]script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">script</span></code></a> and <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]post-script" title="flow.cylc[runtime][&lt;namespace&gt;]post-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">post-script</span></code></a>) are isolated and executed in
+a separate subshell process. Any changes to environment, traps, etc., done in
+any of them are visible in subsequent parts, but will not interfere with the
+parent shell process. This parent shell executes and shares environment with
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]init-script" title="flow.cylc[runtime][&lt;namespace&gt;]init-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">init-script</span></code></a>, <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]exit-script" title="flow.cylc[runtime][&lt;namespace&gt;]exit-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">exit-script</span></code></a> and <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]err-script" title="flow.cylc[runtime][&lt;namespace&gt;]err-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">err-script</span></code></a>.
+In particular, any environment changes in <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]init-script" title="flow.cylc[runtime][&lt;namespace&gt;]init-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">init-script</span></code></a> will be
+visible in the parent shell, as well as in the subshell hosting user scripts.</p>
+<p>The parent shell sets trap handlers for some signals (the exact list depends on
+a particular batch system being used) and typically resends any received signal
+to the subshell and its children (the whole process group, to be precise), unless
+the batch system doesn’t execute the job script as process leader, in which case
+the signal is resent to the subshell process only. Immediately after that
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]err-script" title="flow.cylc[runtime][&lt;namespace&gt;]err-script"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">err-script</span></code></a> is executed without waiting for the subshell process to
+finish, unless you start it with the <code class="docutils literal notranslate"><span class="pre">wait</span></code> command to prevent that.</p>
+<div class="graphviz"><object data="../../_images/graphviz-309a6f1074f1f753764c56c9f6c29577d957299a.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph example {
+rankdir=&quot;TB&quot;
+packmode=&quot;array_u&quot;;
+
+subgraph cluster_legend {
+    style=&quot;dashed&quot;
+    label=&quot;Legend&quot;
+
+    &quot;user defined script&quot;
+    &quot;cylc defined script&quot; [shape=&quot;rect&quot;]
+
+    &quot;user defined script&quot; -&gt; &quot;cylc defined script&quot; [style=&quot;invis&quot;]
+}
+
+subgraph cluster_diagram {
+    style=&quot;invis&quot;
+    margin=20
+
+    &quot;cylc-env&quot; [shape=&quot;rect&quot;]
+    &quot;user-env&quot; [shape=&quot;rect&quot;]
+
+    &quot;init-script&quot; -&gt;
+    &quot;cylc-env&quot; -&gt;
+    &quot;env-script&quot;
+
+    subgraph cluster_subshell {
+        style=&quot;dashed&quot;
+        label=&quot;Subshell process&quot;
+
+        &quot;env-script&quot; -&gt;
+        &quot;user-env&quot; -&gt;
+        &quot;pre-script&quot; -&gt;
+        &quot;script&quot; -&gt;
+        &quot;post-script&quot;
+    }
+
+    &quot;post-script&quot; -&gt; &quot;err-script&quot;
+    &quot;post-script&quot; -&gt; &quot;exit-script&quot;
+}
+}</p></object></div>
+<p>The two “Cylc defined scripts” are:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">cylc-env</span></code></dt><dd><p>Which provides default <code class="docutils literal notranslate"><span class="pre">CYLC_*</span></code> environment variables e.g.
+<code class="docutils literal notranslate"><span class="pre">CYLC_TASK_NAME</span></code>.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">user-env</span></code></dt><dd><p>Which is the contents of the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][environment]" title="flow.cylc[runtime][&lt;namespace&gt;][environment]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[environment]</span></code></a> section.</p>
+</dd>
+</dl>
+<p>Job scripts are written to the workflow’s job log directory. They can be
+printed with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">cat-log</span></code>.</p>
+</section>
+<section id="inlined-tasks">
+<h2>Inlined Tasks<a class="headerlink" href="#inlined-tasks" title="Link to this heading"></a></h2>
+<p>Task <em>script</em> items can be multi-line strings of <code class="docutils literal notranslate"><span class="pre">bash</span></code>  code, so many tasks
+can be entirely inlined in the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file.</p>
+<p>For anything more than a few lines of code, however, we recommend using
+external shell scripts to allow independent testing, re-use, and shell mode
+editing.</p>
+</section>
+<section id="interpreter">
+<h2>Interpreter<a class="headerlink" href="#interpreter" title="Link to this heading"></a></h2>
+<p>The job script (which incorporates the <code class="docutils literal notranslate"><span class="pre">*-script</span></code> items) runs in the
+<code class="docutils literal notranslate"><span class="pre">bash</span></code> interpreter.</p>
+<p>Cylc searches for <code class="docutils literal notranslate"><span class="pre">bash</span></code> in the <code class="docutils literal notranslate"><span class="pre">$PATH</span></code> by first running a login bash
+shell which means you can choose the bash interpreter used by modifying
+the <code class="docutils literal notranslate"><span class="pre">$PATH</span></code> in your bash configuration files (e.g. <code class="docutils literal notranslate"><span class="pre">.bashrc</span></code>).</p>
+</section>
+<section id="task-messages">
+<h2>Task Messages<a class="headerlink" href="#task-messages" title="Link to this heading"></a></h2>
+<p>Jobs send status messages back to the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> to report that
+execution has started, succeeded, or failed. Custom messages can also be sent
+by the same mechanism, with various severity levels. These can be used to
+trigger other tasks off specific task outputs (see <a class="reference internal" href="../writing-workflows/scheduling.html#messagetriggers"><span class="std std-ref">Message Triggers</span></a>), or
+to trigger execution of event handlers by the scheduler (see
+<a class="reference internal" href="../writing-workflows/runtime.html#user-guide-runtime-task-event-handling"><span class="std std-ref">Task Event Handling</span></a>)
+or just to write information to the scheduler log.</p>
+<p>(If polling is configured as the <a class="reference internal" href="../../reference/config/global.html#global.cylc[platforms][&lt;platform name&gt;]communication method" title="global.cylc[platforms][&lt;platform name&gt;]communication method"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">communication</span> <span class="pre">method</span></code></a> for a
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[platforms]" title="global.cylc[platforms]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">platform</span></code></a>, the messaging system just writes messages to the
+local job status file for recovery by the scheduler at the next poll).</p>
+<p>Normal severity messages are printed to <code class="docutils literal notranslate"><span class="pre">job.out</span></code> and logged by the scheduler:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>message<span class="w"> </span>--<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">CYLC_WORKFLOW_ID</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">CYLC_TASK_JOB</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="se">\</span>
+<span class="w">  </span><span class="s2">&quot;Hello from </span><span class="si">${</span><span class="nv">CYLC_TASK_ID</span><span class="si">}</span><span class="s2">&quot;</span>
+</pre></div>
+</div>
+<p>“CUSTOM” severity messages are printed to <code class="docutils literal notranslate"><span class="pre">job.out</span></code>, logged by the
+<a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a>, and can be used to trigger <em>custom</em>
+event handlers:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>message<span class="w"> </span>--<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">CYLC_WORKFLOW_ID</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">CYLC_TASK_JOB</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="se">\</span>
+<span class="w">  </span><span class="s2">&quot;CUSTOM:data available for </span><span class="si">${</span><span class="nv">CYLC_TASK_CYCLE_POINT</span><span class="si">}</span><span class="s2">&quot;</span>
+</pre></div>
+</div>
+<p>These can be used to signal special events that are neither routine
+information nor an error condition, such as production of a particular data
+file (a “data availability” event).</p>
+<p>“WARNING” severity messages are printed to <code class="docutils literal notranslate"><span class="pre">job.err</span></code>, logged by the
+<a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a>, and can be passed to <em>warning</em> event handlers:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>message<span class="w"> </span>--<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">CYLC_WORKFLOW_ID</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">CYLC_TASK_JOB</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="se">\</span>
+<span class="w">  </span><span class="s2">&quot;WARNING:Uh-oh, something&#39;s not right here.&quot;</span>
+</pre></div>
+</div>
+<p>“CRITICAL” severity messages are printed to <code class="docutils literal notranslate"><span class="pre">job.err</span></code>, logged by the
+<a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a>, and can be passed to <em>critical</em> event handlers:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>cylc<span class="w"> </span>message<span class="w"> </span>--<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">CYLC_WORKFLOW_ID</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">CYLC_TASK_JOB</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="se">\</span>
+<span class="w">  </span><span class="s2">&quot;CRITICAL:ERROR occurred in process X!&quot;</span>
+</pre></div>
+</div>
+<p>Jobs no longer (since Cylc 8) attempt to resend messages if the server
+cannot be reached. Send failures normally imply a network or Cylc
+configuration problem that will not recover by itself, in which case a series
+of messaging retries just holds up job completion unnecessarily. If a job
+status message does not get through, the server will recover the correct task
+status by polling on job timeout (or earlier if regular polling is
+configured).</p>
+<p>Task messages are validated by:</p>
+<dl class="py class">
+<dt class="sig sig-object py">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.unicode_rules.</span></span><span class="sig-name descname"><span class="pre">TaskMessageValidator</span></span></dt>
+<dd><p>The rules for valid task messages:</p>
+<ul class="simple">
+<li><p>cannot contain <code class="docutils literal notranslate"><span class="pre">:</span></code> unless it occurs at the end of the first word</p></li>
+<li><p>cannot be: <code class="docutils literal notranslate"><span class="pre">expired</span></code>, <code class="docutils literal notranslate"><span class="pre">submitted</span></code>, <code class="docutils literal notranslate"><span class="pre">submit-failed</span></code>, <code class="docutils literal notranslate"><span class="pre">started</span></code>, <code class="docutils literal notranslate"><span class="pre">succeeded</span></code>, <code class="docutils literal notranslate"><span class="pre">failed</span></code>, <code class="docutils literal notranslate"><span class="pre">finished</span></code>, <code class="docutils literal notranslate"><span class="pre">expire</span></code>, <code class="docutils literal notranslate"><span class="pre">submit</span></code>, <code class="docutils literal notranslate"><span class="pre">submit-fail</span></code>, <code class="docutils literal notranslate"><span class="pre">start</span></code>, <code class="docutils literal notranslate"><span class="pre">succeed</span></code>, <code class="docutils literal notranslate"><span class="pre">fail</span></code>, <code class="docutils literal notranslate"><span class="pre">finish</span></code>, <code class="docutils literal notranslate"><span class="pre">succeed-all</span></code>, <code class="docutils literal notranslate"><span class="pre">succeed-any</span></code>, <code class="docutils literal notranslate"><span class="pre">fail-all</span></code>, <code class="docutils literal notranslate"><span class="pre">fail-any</span></code>, <code class="docutils literal notranslate"><span class="pre">finish-all</span></code>, <code class="docutils literal notranslate"><span class="pre">finish-any</span></code>, <code class="docutils literal notranslate"><span class="pre">start-all</span></code>, <code class="docutils literal notranslate"><span class="pre">start-any</span></code>, <code class="docutils literal notranslate"><span class="pre">submit-all</span></code>, <code class="docutils literal notranslate"><span class="pre">submit-any</span></code>, <code class="docutils literal notranslate"><span class="pre">submit-fail-all</span></code> or <code class="docutils literal notranslate"><span class="pre">submit-fail-any</span></code></p></li>
+<li><p>cannot start with: <code class="docutils literal notranslate"><span class="pre">_cylc</span></code></p></li>
+</ul>
+</dd></dl>
+
+</section>
+<section id="aborting-job-scripts-on-error">
+<h2>Aborting Job Scripts on Error<a class="headerlink" href="#aborting-job-scripts-on-error" title="Link to this heading"></a></h2>
+<p>Job scripts use <code class="docutils literal notranslate"><span class="pre">set</span> <span class="pre">-e</span></code> to abort on any error, and trap ERR, EXIT, and
+SIGTERM to send task failed messages back to the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> before
+aborting. Other scripts called from job scripts should therefore abort with
+standard non-zero exit status on error, to trigger the job script error trap.</p>
+<p>To prevent a command that is expected to generate a non-zero exit status from
+triggering the exit trap, protect it with a control statement such as:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span>cmp<span class="w"> </span>FILE1<span class="w"> </span>FILE2<span class="p">;</span><span class="w"> </span><span class="k">then</span>
+<span class="w">    </span>:<span class="w">  </span><span class="c1"># success: do stuff</span>
+<span class="k">else</span>
+<span class="w">    </span>:<span class="w">  </span><span class="c1"># failure: do other stuff</span>
+<span class="k">fi</span>
+</pre></div>
+</div>
+<p>Job scripts also use <code class="docutils literal notranslate"><span class="pre">set</span> <span class="pre">-u</span></code> to abort on referencing any
+undefined variable (useful for picking up typos); and <code class="docutils literal notranslate"><span class="pre">set</span> <span class="pre">-o</span> <span class="pre">pipefail</span></code>
+to abort if any part of a pipe fails (by default the shell only returns the
+exit status of the final command in a pipeline).</p>
+<section id="custom-failure-messages">
+<h3>Custom Failure Messages<a class="headerlink" href="#custom-failure-messages" title="Link to this heading"></a></h3>
+<p>Critical events normally warrant aborting a job script rather than just
+sending a message. As described just above, <code class="docutils literal notranslate"><span class="pre">exit</span> <span class="pre">1</span></code> or any failing command
+not protected by the surrounding scripting will cause a job script to abort
+and report failure to the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a>, potentially triggering a
+<em>failed</em> task event handler.</p>
+<p>For failures detected by the scripting you could send a critical message back
+before aborting, potentially triggering a <em>critical</em> task event handler:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span>!<span class="w"> </span>/bin/false<span class="p">;</span><span class="w"> </span><span class="k">then</span>
+<span class="w">  </span>cylc<span class="w"> </span>message<span class="w"> </span>--<span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">CYLC_WORKFLOW_ID</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="s2">&quot;</span><span class="si">${</span><span class="nv">CYLC_TASK_JOB</span><span class="si">}</span><span class="s2">&quot;</span><span class="w"> </span><span class="se">\</span>
+<span class="w">    </span><span class="s2">&quot;CRITICAL:ERROR: /bin/false failed!&quot;</span>
+<span class="w">  </span><span class="nb">exit</span><span class="w"> </span><span class="m">1</span>
+<span class="k">fi</span>
+</pre></div>
+</div>
+<p>To abort a job script with a custom message that can be passed to a
+<em>failed</em> task event handler, use the built-in <code class="docutils literal notranslate"><span class="pre">cylc__job_abort</span></code> shell
+function:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span>!<span class="w"> </span>/bin/false<span class="p">;</span><span class="w"> </span><span class="k">then</span>
+<span class="w">  </span>cylc__job_abort<span class="w"> </span><span class="s2">&quot;ERROR: /bin/false failed!&quot;</span>
+<span class="k">fi</span>
+</pre></div>
+</div>
+</section>
+</section>
+<section id="avoid-detaching-processes">
+<span id="detachingjobs"></span><h2>Avoid Detaching Processes<a class="headerlink" href="#avoid-detaching-processes" title="Link to this heading"></a></h2>
+<p>If a task script starts background sub-processes and does not wait on them, or
+internally submits jobs to a <a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job runner</span></a> and then exits immediately, the
+detached processes will not be visible to Cylc and the task will appear to
+finish when the top-level script finishes. You will need to modify scripts
+like this to make them execute all sub-processes in the foreground (or use the
+shell <code class="docutils literal notranslate"><span class="pre">wait</span></code> command to wait on them before exiting) and to prevent job
+submission commands from returning before the job completes (e.g.
+<code class="docutils literal notranslate"><span class="pre">llsubmit</span> <span class="pre">-s</span></code> for Loadleveler,
+<code class="docutils literal notranslate"><span class="pre">qsub</span> <span class="pre">-sync</span> <span class="pre">yes</span></code> for Sun Grid Engine, and
+<code class="docutils literal notranslate"><span class="pre">qsub</span> <span class="pre">-W</span> <span class="pre">block=true</span></code> for PBS).</p>
+<p>If this is not possible - perhaps you don’t have control over the script
+or can’t work out how to fix it - one alternative approach is to use another
+task to repeatedly poll for the results of the detached processes:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = &quot;model =&gt; checker </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">post</span><span class="c">-</span><span class="kd">proc</span><span class="c">&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[model]]</span>
+        <span class="c1"># Uh-oh, this script does an internal job submission to run model.exe:</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> &quot;run-model.sh&quot;</span>
+    <span class="nt">[[checker]]</span>
+        <span class="c1"># Fail and retry every minute (for 10 tries at the most) if model&#39;s</span>
+        <span class="c1"># job.done indicator file does not exist yet.</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> &quot;[[ ! -f $RUN_DIR/job.done ]] &amp;&amp; exit 1&quot;</span>
+        <span class="nv">execution retry delays </span><span class="o">=</span><span class="s"> 10 * PT1M</span>
+</pre></div>
+</div>
+</section>
+<section id="use-of-pipes-in-job-scripts">
+<span id="pipeinjobscripts"></span><h2>Use of Pipes in Job Scripts<a class="headerlink" href="#use-of-pipes-in-job-scripts" title="Link to this heading"></a></h2>
+<p>In bash, the return status of a pipeline is normally the exit status of the
+last command. This is unsafe, because if any command in the pipeline fails, the
+script will continue nevertheless.</p>
+<p>For safety, a Cylc job script running in bash will have the
+<code class="docutils literal notranslate"><span class="pre">set</span> <span class="pre">-o</span> <span class="pre">pipefail</span></code> option turned on automatically. If a pipeline
+exists in a task’s <code class="docutils literal notranslate"><span class="pre">script</span></code>, etc section, the failure of any part of
+a pipeline will cause the command to return a non-zero code at the end, which
+will be reported as a job failure. Due to the unique nature of a pipeline,
+the job file will trap the failure of the individual commands, as well as the
+whole pipeline, and will attempt to report a failure back to the workflow twice.
+The second message is ignored by the workflow, and so the behaviour can be safely
+ignored. (You should probably still investigate the failure, however!)</p>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="Task Implementation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="job-submission.html" class="btn btn-neutral float-right" title="Job Submission and Management" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/task-implementation/job-scripts";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/task-implementation/job-submission.html b/nightly_8.3/html/user-guide/task-implementation/job-submission.html
new file mode 100644
index 00000000000..c310564efcf
--- /dev/null
+++ b/nightly_8.3/html/user-guide/task-implementation/job-submission.html
@@ -0,0 +1,452 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Job Submission and Management &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="at" href="job-runner-handlers/cylc.flow.job_runner_handlers.at.html" />
+    <link rel="prev" title="Task Implementation" href="job-scripts.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Task Implementation</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="job-scripts.html">Task Implementation</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Job Submission and Management</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#supported-job-submission-methods">Supported Job Submission Methods</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#task-stdout-and-stderr-logs">Task stdout and stderr Logs</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#overriding-the-job-submission-command">Overriding The Job Submission Command</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#job-polling">Job Polling</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#job-killing">Job Killing</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#execution-time-limit">Execution Time Limit</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="ssh-job-management.html">Remote Job Management</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Task Implementation</a></li>
+      <li class="breadcrumb-item active">Job Submission and Management</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/task-implementation/job-submission.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="job-submission-and-management">
+<span id="taskjobsubmission"></span><h1>Job Submission and Management<a class="headerlink" href="#job-submission-and-management" title="Link to this heading"></a></h1>
+<p>This section explains how the Cylc scheduler submits <a class="reference internal" href="../../glossary.html#term-job"><span class="xref std std-term">jobs</span></a>
+when they are ready to run, and how to define new <a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job runner</span></a> handlers.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>For the requirements a command, script, or program, must fulfil in order to
+function as a Cylc task, see <a class="reference internal" href="job-scripts.html#taskimplementation"><span class="std std-ref">Task Implementation</span></a>.</p>
+</div>
+<p>When a task is ready Cylc generates a <a class="reference internal" href="../../glossary.html#term-job-script"><span class="xref std std-term">job script</span></a> (see <a class="reference internal" href="job-scripts.html#jobscripts"><span class="std std-ref">Job Scripts</span></a>).
+The job script is submitted to be run by the job runner from the
+<a class="reference internal" href="../../glossary.html#term-platform"><span class="xref std std-term">platform</span></a> chosen for the task.
+Like other runtime properties, you can set a workflow default platform and
+override it for specific tasks or families:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+   <span class="nt">[[root]]</span> <span class="c1"># workflow defaults</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> platform_with_loadleveler</span>
+   <span class="nt">[[foo]]</span> <span class="c1"># just task foo</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> platform_with_at</span>
+</pre></div>
+</div>
+<section id="supported-job-submission-methods">
+<span id="availablemethods"></span><h2>Supported Job Submission Methods<a class="headerlink" href="#supported-job-submission-methods" title="Link to this heading"></a></h2>
+<p>Cylc provided built-in support for the following batch submission systems:</p>
+<p id="module-cylc.flow.job_runner_handlers">Cylc provides support for the following job runner handlers.</p>
+<table class="autosummary longtable docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="job-runner-handlers/cylc.flow.job_runner_handlers.at.html#module-cylc.flow.job_runner_handlers.at" title="cylc.flow.job_runner_handlers.at"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.job_runner_handlers.at</span></code></a></p></td>
+<td><p>Submits job scripts to the rudimentary Unix <code class="docutils literal notranslate"><span class="pre">at</span></code> scheduler.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="job-runner-handlers/cylc.flow.job_runner_handlers.background.html#module-cylc.flow.job_runner_handlers.background" title="cylc.flow.job_runner_handlers.background"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.job_runner_handlers.background</span></code></a></p></td>
+<td><p>Runs job scripts as Unix background processes.</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler.html#module-cylc.flow.job_runner_handlers.loadleveler" title="cylc.flow.job_runner_handlers.loadleveler"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.job_runner_handlers.loadleveler</span></code></a></p></td>
+<td><p>Submits job scripts to loadleveler by the <code class="docutils literal notranslate"><span class="pre">llsubmit</span></code> command.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="job-runner-handlers/cylc.flow.job_runner_handlers.lsf.html#module-cylc.flow.job_runner_handlers.lsf" title="cylc.flow.job_runner_handlers.lsf"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.job_runner_handlers.lsf</span></code></a></p></td>
+<td><p>Submits job scripts to IBM Platform LSF by the <code class="docutils literal notranslate"><span class="pre">bsub</span></code> command.</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="job-runner-handlers/cylc.flow.job_runner_handlers.moab.html#module-cylc.flow.job_runner_handlers.moab" title="cylc.flow.job_runner_handlers.moab"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.job_runner_handlers.moab</span></code></a></p></td>
+<td><p>Submits job scripts to the Moab workload manager with <code class="docutils literal notranslate"><span class="pre">msub</span></code>.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="job-runner-handlers/cylc.flow.job_runner_handlers.pbs.html#module-cylc.flow.job_runner_handlers.pbs" title="cylc.flow.job_runner_handlers.pbs"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.job_runner_handlers.pbs</span></code></a></p></td>
+<td><p>Submits job scripts to PBS (or Torque) by the <code class="docutils literal notranslate"><span class="pre">qsub</span></code> command.</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="job-runner-handlers/cylc.flow.job_runner_handlers.sge.html#module-cylc.flow.job_runner_handlers.sge" title="cylc.flow.job_runner_handlers.sge"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.job_runner_handlers.sge</span></code></a></p></td>
+<td><p>Submits job scripts to Sun/Oracle Grid Engine with <code class="docutils literal notranslate"><span class="pre">qsub</span></code>.</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="job-runner-handlers/cylc.flow.job_runner_handlers.slurm.html#module-cylc.flow.job_runner_handlers.slurm" title="cylc.flow.job_runner_handlers.slurm"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.job_runner_handlers.slurm</span></code></a></p></td>
+<td><p>Submits job scripts to Simple Linux Utility for Resource Management.</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob.html#module-cylc.flow.job_runner_handlers.slurm_packjob" title="cylc.flow.job_runner_handlers.slurm_packjob"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.job_runner_handlers.slurm_packjob</span></code></a></p></td>
+<td><p>SLURM job submission and manipulation.</p></td>
+</tr>
+</tbody>
+</table>
+<p>See <a class="reference internal" href="../../plugins/job-runners/index.html#customjobsubmissionmethods"><span class="std std-ref">Custom Job Submission Methods</span></a> for how to add new job
+submission methods.</p>
+<section id="default-directives-provided">
+<h3>Default Directives Provided<a class="headerlink" href="#default-directives-provided" title="Link to this heading"></a></h3>
+<p>For <a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job runners</span></a> that use job file directives (PBS, Loadleveler,
+etc.) default directives are provided to set the job name, stdout and stderr
+file paths, and the execution time limit (if specified).</p>
+<p>Cylc constructs the job name string using a combination of the task ID and the
+workflow name. PBS fails a job submit if the job name in <code class="docutils literal notranslate"><span class="pre">-N</span> <span class="pre">name</span></code> is
+too long. For version 12 or below, this is 15 characters. For version 13, this
+is 236 characters. The default setting will truncate the job name string to 236
+characters. If you have PBS 12 or older at your site, you should modify your
+site’s global configuration file to allow the job name to be truncated at 15
+characters using
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[platforms][&lt;platform name&gt;]job name length maximum" title="global.cylc[platforms][&lt;platform name&gt;]job name length maximum"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]job</span> <span class="pre">name</span> <span class="pre">length</span> <span class="pre">maximum</span></code></a>.</p>
+</section>
+<section id="directives-section-quirks-pbs-sge">
+<h3>Directives Section Quirks (PBS, SGE, …)<a class="headerlink" href="#directives-section-quirks-pbs-sge" title="Link to this heading"></a></h3>
+<p>To specify an option with no argument, such as <code class="docutils literal notranslate"><span class="pre">-V</span></code> in PBS or
+<code class="docutils literal notranslate"><span class="pre">-cwd</span></code> in SGE you must give a null string as the directive value in
+the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file.</p>
+<p>The left hand side of a setting (i.e. the string before the first equal sign)
+must be unique. To specify multiple values using an option such as
+<code class="docutils literal notranslate"><span class="pre">-l</span></code> option in PBS, SGE, etc., either specify all items in a single
+line:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>-l=select=28:ncpus=36:mpiprocs=18:ompthreads=2:walltime=12:00:00
+</pre></div>
+</div>
+<p>(Left hand side is <code class="docutils literal notranslate"><span class="pre">-l</span></code>. A second <code class="docutils literal notranslate"><span class="pre">-l=...</span></code> line will override the first.)</p>
+<p>Or separate the items:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>-l select=28
+-l ncpus=36
+-l mpiprocs=18
+-l ompthreads=2
+-l walltime=12:00:00
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>There is no equal sign after <code class="docutils literal notranslate"><span class="pre">-l</span></code>.</p>
+</div>
+<p>(Left hand sides are now <code class="docutils literal notranslate"><span class="pre">-l</span> <span class="pre">select</span></code>, <code class="docutils literal notranslate"><span class="pre">-l</span> <span class="pre">ncpus</span></code>, etc.)</p>
+</section>
+</section>
+<section id="task-stdout-and-stderr-logs">
+<span id="whitherstdoutandstderr"></span><h2>Task stdout and stderr Logs<a class="headerlink" href="#task-stdout-and-stderr-logs" title="Link to this heading"></a></h2>
+<p>When a task is ready to run Cylc generates a filename root to be used
+for the job script and log files. The file path contains the task
+name, cycle point, and a submit number that increments if the same task is
+re-triggered multiple times:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span><span class="c"># job script:</span>
+~/cylc-run/my-workflow/basic/log/job/1/hello/01/job
+<span class="c"># stdout:</span>
+~/cylc-run/my-workflow/basic/log/job/1/hello/01/job.out
+<span class="c"># stderr:</span>
+~/cylc-run/my-workflow/basic/log/job/1/hello/01/job.err
+</pre></div>
+</div>
+<p>How the stdout and stderr streams are directed into these files depends on the
+<a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job runner</span></a>. The
+<a class="reference internal" href="job-runner-handlers/cylc.flow.job_runner_handlers.background.html#module-cylc.flow.job_runner_handlers.background" title="cylc.flow.job_runner_handlers.background"><code class="xref py py-mod docutils literal notranslate"><span class="pre">background</span></code></a> method just
+uses appropriate output redirection on the command line, as shown above. The
+<a class="reference internal" href="job-runner-handlers/cylc.flow.job_runner_handlers.loadleveler.html#module-cylc.flow.job_runner_handlers.loadleveler" title="cylc.flow.job_runner_handlers.loadleveler"><code class="xref py py-mod docutils literal notranslate"><span class="pre">loadleveler</span></code></a> method writes
+appropriate directives to the job script that is submitted to loadleveler.</p>
+<p>Cylc obviously has no control over the stdout and stderr output from
+tasks that do their own internal output management (e.g. tasks
+that submit internal jobs and direct the associated output to other
+files). For less internally complex tasks, however, the files referred
+to here will be complete job logs.</p>
+<p>Some job runners, such as <a class="reference internal" href="job-runner-handlers/cylc.flow.job_runner_handlers.pbs.html#module-cylc.flow.job_runner_handlers.pbs" title="cylc.flow.job_runner_handlers.pbs"><code class="xref py py-mod docutils literal notranslate"><span class="pre">PBS</span></code></a>,
+redirect a job’s stdout
+and stderr streams to a separate cache area while the job is running. The
+contents are only copied to the normal locations when the job completes. This
+means that <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">cat-log</span></code> will be unable to find the
+job’s stdout and stderr streams while the job is running. Some sites with these
+job runners are known to provide commands for viewing and/or
+tail-follow a job’s stdout and stderr streams that are redirected to these
+cache areas. If this is the case at your site, you can configure Cylc to make
+use of the provided commands by adding some settings to the global site/user
+config. E.g.:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[hosts]</span>
+    <span class="nt">[[HOST]]</span>  <span class="c1"># &lt;= replace this with a real host name</span>
+        <span class="nt">[[[batch systems]]]</span>
+            <span class="nt">[[[[pbs]]]]</span>
+                <span class="nv">err tailer </span><span class="o">=</span><span class="s"> qcat -f -e \%(job_id)s</span>
+                <span class="nv">out tailer </span><span class="o">=</span><span class="s"> qcat -f -o \%(job_id)s</span>
+                <span class="nv">err viewer </span><span class="o">=</span><span class="s"> qcat -e \%(job_id)s</span>
+                <span class="nv">out viewer </span><span class="o">=</span><span class="s"> qcat -o \%(job_id)s</span>
+</pre></div>
+</div>
+</section>
+<section id="overriding-the-job-submission-command">
+<span id="commandtemplate"></span><h2>Overriding The Job Submission Command<a class="headerlink" href="#overriding-the-job-submission-command" title="Link to this heading"></a></h2>
+<p>To change the form of the actual command used to submit a job you
+need to define a new
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[platforms][&lt;platform name&gt;]job runner command template" title="global.cylc[platforms][&lt;platform name&gt;]job runner command template"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]job</span> <span class="pre">runner</span> <span class="pre">command</span> <span class="pre">template</span></code></a>.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[platform]</span>
+    <span class="nt">[[my_custom_platform]]</span>
+        <span class="nv">hosts </span><span class="o">=</span><span class="s"> host1, host2</span>
+        <span class="nv">job runner </span><span class="o">=</span><span class="s"> loadleveler</span>
+        <span class="c1"># Use &#39;-s&#39; to stop llsubmit returning</span>
+        <span class="c1"># until all job steps have completed:</span>
+        <span class="nv">job runner command template </span><span class="o">=</span><span class="s"> llsubmit -s %(job)s</span>
+</pre></div>
+</div>
+<p>The template’s <code class="docutils literal notranslate"><span class="pre">%(job)s</span></code> will be substituted by the job file path.</p>
+</section>
+<section id="job-polling">
+<h2>Job Polling<a class="headerlink" href="#job-polling" title="Link to this heading"></a></h2>
+<p>For supported <a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job runners</span></a>, jobs can be <em>polled</em> to
+check that their true state matches what the scheduler expects based on received
+job status messages or previous polls. The <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> executes a process
+on the task host, by non-interactive ssh, to interrogate the job runner, and to
+read the <code class="docutils literal notranslate"><span class="pre">job.status</span></code> file of the task which is automatically generated by the
+<a class="reference internal" href="../../glossary.html#term-job-script"><span class="xref std std-term">job script</span></a> as it runs.</p>
+<p>Polling may be required to update the workflow state correctly after unusual
+events such as</p>
+<ul class="simple">
+<li><p>a job gets killed by the untrappable SIGKILL signal (e.g. <code class="docutils literal notranslate"><span class="pre">kill</span> <span class="pre">-9</span> <span class="pre">PID</span></code>)</p></li>
+<li><p>a machine being rebooted with tasks running on it</p></li>
+<li><p>network problems prevent task messages from getting back to the workflow host</p></li>
+<li><p>the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> itself was down when active jobs finished</p></li>
+</ul>
+<p>Tasks can be polled on demand by using the
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">poll</span></code> command.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">poll</span> <span class="pre">--help</span></code></p></li>
+</ul>
+</div>
+<p>Tasks are polled automatically, once, if they timeout while queueing in a
+job runner and submission timeout is set.
+(See <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][events]" title="flow.cylc[runtime][&lt;namespace&gt;][events]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][events]</span></code></a>
+for how to configure timeouts).</p>
+<p>Tasks are polled multiple times, where necessary, when they exceed their
+execution time limits. These are normally set with some initial delays to allow
+the job runners to kill the jobs.
+(See
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[platforms][&lt;platform name&gt;]execution time limit polling intervals" title="global.cylc[platforms][&lt;platform name&gt;]execution time limit polling intervals"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span> <span class="pre">polling</span> <span class="pre">intervals</span></code></a>
+for how to configure the polling intervals).</p>
+<p>Any tasks recorded in the <em>submitted</em> or <em>running</em> states at workflow
+restart are automatically polled to determine what happened to them while the
+workflow was down.</p>
+<p>By default, regular polling also takes place every 15 minutes whilst a job is
+submitted or running. The default polling intervals can be overridden in the
+global configuration:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../reference/config/global.html#global.cylc[platforms][&lt;platform name&gt;]submission polling intervals" title="global.cylc[platforms][&lt;platform name&gt;]submission polling intervals"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]submission</span> <span class="pre">polling</span> <span class="pre">intervals</span></code></a></p></li>
+<li><p><a class="reference internal" href="../../reference/config/global.html#global.cylc[platforms][&lt;platform name&gt;]execution polling intervals" title="global.cylc[platforms][&lt;platform name&gt;]execution polling intervals"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]execution</span> <span class="pre">polling</span> <span class="pre">intervals</span></code></a></p></li>
+</ul>
+<p>The polling intervals can also be configured for individual tasks:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]submission polling intervals" title="flow.cylc[runtime][&lt;namespace&gt;]submission polling intervals"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;]submission</span> <span class="pre">polling</span> <span class="pre">intervals</span></code></a></p></li>
+<li><p><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution polling intervals" title="flow.cylc[runtime][&lt;namespace&gt;]execution polling intervals"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;]execution</span> <span class="pre">polling</span> <span class="pre">intervals</span></code></a></p></li>
+</ul>
+<p>Polling can be used as the sole method of determining task status on hosts that
+do not allow task messages to be routed back to the workflow host.
+See <a class="reference internal" href="../running-workflows/tracking-task-state.html#polling-to-track-job-status"><span class="std std-ref">Polling to Track Job Status</span></a>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>For polling to work correctly, the job runner queueing system must have a
+job listing command for listing your jobs, and that the job listing must
+display job IDs as they are returned by the job runner queueing system submit
+command. For example, for pbs, moab and sge, the <code class="docutils literal notranslate"><span class="pre">qstat</span></code> command
+should list jobs with their IDs displayed in exactly the same format as they
+are returned by the <code class="docutils literal notranslate"><span class="pre">qsub</span></code> command.</p>
+</div>
+</section>
+<section id="job-killing">
+<h2>Job Killing<a class="headerlink" href="#job-killing" title="Link to this heading"></a></h2>
+<p>For supported <a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job runners</span></a>, the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> can execute a process on
+the task host, by non-interactive ssh, to kill a submitted or running job
+according to its job runner.</p>
+<p>Tasks can be killed on demand by using the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">kill</span></code> command.</p>
+</section>
+<section id="execution-time-limit">
+<h2>Execution Time Limit<a class="headerlink" href="#execution-time-limit" title="Link to this heading"></a></h2>
+<p>You can specify an <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> for all supported job
+submission methods. E.g.:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[task-x]]</span>
+        <span class="nv">execution time limit </span><span class="o">=</span><span class="s"> PT1H</span>
+</pre></div>
+</div>
+<p>For tasks running with
+<a class="reference internal" href="job-runner-handlers/cylc.flow.job_runner_handlers.background.html#module-cylc.flow.job_runner_handlers.background" title="cylc.flow.job_runner_handlers.background"><code class="xref py py-mod docutils literal notranslate"><span class="pre">background</span></code></a> or
+<a class="reference internal" href="job-runner-handlers/cylc.flow.job_runner_handlers.at.html#module-cylc.flow.job_runner_handlers.at" title="cylc.flow.job_runner_handlers.at"><code class="xref py py-mod docutils literal notranslate"><span class="pre">at</span></code></a>, their jobs
+will be wrapped using the <code class="docutils literal notranslate"><span class="pre">timeout</span></code> command. For all other methods,
+the relevant time limit directive will be added to their job files.</p>
+<p>The <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> setting will also inform the workflow when a
+a job should complete by. If a job has not reported completing within
+the specified time, the workflow will poll the job. (The default
+setting is <code class="docutils literal notranslate"><span class="pre">PT1M,</span> <span class="pre">PT2M,</span> <span class="pre">PT7M</span></code>. The accumulated times for these intervals will be
+roughly 1 minute, 1 + 2 = 3 minutes and 1 + 2 + 7 = 10 minutes after a job
+exceeds its <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a>.)</p>
+<section id="execution-time-limit-and-execution-timeout">
+<h3>Execution Time Limit and Execution Timeout<a class="headerlink" href="#execution-time-limit-and-execution-timeout" title="Link to this heading"></a></h3>
+<p>If you specify an <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> the
+execution timeout event handler will only be called if the job has
+not completed after the final poll (by default, 10 min after the time limit).
+This should only happen if the submission method you are using is not enforcing
+wallclock limits (unlikely) or you are unable to contact the machine to confirm
+the job status.</p>
+<p>If you specify an <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][events]execution timeout" title="flow.cylc[runtime][&lt;namespace&gt;][events]execution timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[events]execution</span> <span class="pre">timeout</span></code></a> and not an
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> then the
+execution timeout event handler will be called as soon as the
+specified time is reached. The job will also be polled to check its latest
+status (possibly resulting in an update in its status and the calling of the
+relevant event handler). This behaviour is deprecated, which users should avoid
+using.</p>
+<p>If you specify an <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][events]execution timeout" title="flow.cylc[runtime][&lt;namespace&gt;][events]execution timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[events]execution</span> <span class="pre">timeout</span></code></a> and an
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a> then the execution timeout setting will be
+ignored.</p>
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="job-scripts.html" class="btn btn-neutral float-left" title="Task Implementation" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="job-runner-handlers/cylc.flow.job_runner_handlers.at.html" class="btn btn-neutral float-right" title="at" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/task-implementation/job-submission";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/task-implementation/ssh-job-management.html b/nightly_8.3/html/user-guide/task-implementation/ssh-job-management.html
new file mode 100644
index 00000000000..a41e9857c9c
--- /dev/null
+++ b/nightly_8.3/html/user-guide/task-implementation/ssh-job-management.html
@@ -0,0 +1,245 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Remote Job Management &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Removing Workflows" href="../removing-workflows.html" />
+    <link rel="prev" title="slurm_packjob" href="job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../writing-workflows/index.html">Writing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Task Implementation</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="job-scripts.html">Task Implementation</a></li>
+<li class="toctree-l3"><a class="reference internal" href="job-submission.html">Job Submission and Management</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Remote Job Management</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#ssh-free-job-management">SSH-free Job Management?</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#ssh-based-job-management">SSH-based Job Management</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#other-cases-where-cylc-uses-ssh-directly">Other Cases Where Cylc Uses SSH Directly</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Task Implementation</a></li>
+      <li class="breadcrumb-item active">Remote Job Management</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/task-implementation/ssh-job-management.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="remote-job-management">
+<h1>Remote Job Management<a class="headerlink" href="#remote-job-management" title="Link to this heading"></a></h1>
+<p>Managing tasks in a workflow requires more than just job execution: Cylc
+performs additional actions with <code class="docutils literal notranslate"><span class="pre">rsync</span></code> for file transfer, and
+direct execution of <code class="docutils literal notranslate"><span class="pre">cylc</span></code> sub-commands over non-interactive SSH.</p>
+<section id="ssh-free-job-management">
+<h2>SSH-free Job Management?<a class="headerlink" href="#ssh-free-job-management" title="Link to this heading"></a></h2>
+<p>Some sites may want to restrict access to job hosts by whitelisting SSH
+connections to allow only <code class="docutils literal notranslate"><span class="pre">rsync</span></code> for file transfer, and allowing job
+execution only via a local <a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job runner</span></a> that sees the job hosts <a class="footnote-reference brackets" href="#id4" id="id1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a> .
+We are investigating the feasibility of SSH-free job management when a local
+job runner is available, but this is not yet possible unless your workflow
+and job hosts also share a filesystem, which allows Cylc to treat jobs as
+entirely local <a class="footnote-reference brackets" href="#id5" id="id2" role="doc-noteref"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></a> .</p>
+</section>
+<section id="ssh-based-job-management">
+<h2>SSH-based Job Management<a class="headerlink" href="#ssh-based-job-management" title="Link to this heading"></a></h2>
+<p>Cylc does not have persistent agent processes running on job hosts to act on
+instructions received over the network <a class="footnote-reference brackets" href="#id6" id="id3" role="doc-noteref"><span class="fn-bracket">[</span>3<span class="fn-bracket">]</span></a> so instead we execute job
+management commands directly on job hosts over SSH. Reasons for this include:</p>
+<ul class="simple">
+<li><p>It works equally for <a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job runner</span></a> and background jobs.</p></li>
+<li><p>SSH is <em>required</em> for background jobs, and for jobs in other job runners if the
+job runner is not available on the workflow host.</p></li>
+<li><p>Querying the job runner alone is not sufficient for full job
+polling functionality.</p>
+<ul>
+<li><p>This is because jobs can complete (and then be forgotten by
+the job runner) while the network, workflow host, or <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> is
+down (e.g. between workflow shutdown and restart).</p></li>
+<li><p>To handle this we get the automatic job wrapper code to write
+job messages and exit status to <em>job status files</em> that are
+interrogated by <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">schedulers</span></a> during job polling
+operations.</p></li>
+<li><p>Job status files reside on the job host, so the interrogation
+is done over SSH.</p></li>
+</ul>
+</li>
+<li><p>Job status files also hold job runner name and job ID; this is
+written by the job submit command, and read by job poll and kill commands</p></li>
+</ul>
+</section>
+<section id="other-cases-where-cylc-uses-ssh-directly">
+<h2>Other Cases Where Cylc Uses SSH Directly<a class="headerlink" href="#other-cases-where-cylc-uses-ssh-directly" title="Link to this heading"></a></h2>
+<ul class="simple">
+<li><p>To see if a workflow is running on another host with a shared
+filesystem - see <code class="docutils literal notranslate"><span class="pre">cylc/flow/workflow_files:detect_old_contact_file</span></code>.</p></li>
+</ul>
+<aside class="footnote-list brackets">
+<aside class="footnote brackets" id="id4" role="doc-footnote">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id1">1</a><span class="fn-bracket">]</span></span>
+<p>A malicious script could be <code class="docutils literal notranslate"><span class="pre">rsync</span></code>’d and run from a batch
+job, but jobs in job runners are considered easier to audit.</p>
+</aside>
+<aside class="footnote brackets" id="id5" role="doc-footnote">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id2">2</a><span class="fn-bracket">]</span></span>
+<p>The job ID must also be valid to query and kill the job via the local
+<a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job runner</span></a>. This is not the case for Slurm, unless the
+<code class="docutils literal notranslate"><span class="pre">--cluster</span></code> option is explicitly used in job query and kill commands,
+otherwise the job ID is not recognized by the local Slurm instance.</p>
+</aside>
+<aside class="footnote brackets" id="id6" role="doc-footnote">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id3">3</a><span class="fn-bracket">]</span></span>
+<p>This would be a more complex solution, in terms of implementation,
+administration, and security.</p>
+</aside>
+</aside>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="job-runner-handlers/cylc.flow.job_runner_handlers.slurm_packjob.html" class="btn btn-neutral float-left" title="slurm_packjob" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../removing-workflows.html" class="btn btn-neutral float-right" title="Removing Workflows" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/task-implementation/ssh-job-management";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/writing-workflows/configuration.html b/nightly_8.3/html/user-guide/writing-workflows/configuration.html
new file mode 100644
index 00000000000..7a5411b0575
--- /dev/null
+++ b/nightly_8.3/html/user-guide/writing-workflows/configuration.html
@@ -0,0 +1,609 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Workflow Configuration &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Scheduling Configuration" href="scheduling.html" />
+    <link rel="prev" title="Writing Workflows" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Writing Workflows</a><ul class="current">
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Workflow Configuration</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#the-flow-cylc-file">The <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> File</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#workflow-configuration-directories">Workflow Configuration Directories</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="runtime.html">Task Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameterized-tasks.html">Task Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="jinja2.html">Jinja2</a></li>
+<li class="toctree-l3"><a class="reference internal" href="empy.html">EmPy</a></li>
+<li class="toctree-l3"><a class="reference internal" href="external-triggers.html">External Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Suicide Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler.html">Scheduler Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Writing Workflows</a></li>
+      <li class="breadcrumb-item active">Workflow Configuration</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/writing-workflows/configuration.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="workflow-configuration">
+<span id="user-guide-configuration"></span><h1>Workflow Configuration<a class="headerlink" href="#workflow-configuration" title="Link to this heading"></a></h1>
+<section id="the-flow-cylc-file">
+<span id="flowconfigfile"></span><h2>The <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> File<a class="headerlink" href="#the-flow-cylc-file" title="Link to this heading"></a></h2>
+<p>Cylc workflows are defined in <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> files that specify the
+tasks to be managed by the Cylc scheduler, the dependencies between them,
+and the schedules to run time on.</p>
+<p>General file syntax is described in the <a class="reference internal" href="../../reference/config/file-format.html#file-format"><span class="std std-ref">File Format Reference</span></a>.</p>
+<p>Legal configuration settings are documented in <a class="reference internal" href="../../reference/config/workflow.html#workflow-configuration"><span class="std std-ref">Workflow Configuration</span></a>.</p>
+<p>Cylc also supports two <a class="reference external" href="https://en.wikipedia.org/wiki/Template_processor">template processors</a> for use in the <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> file:</p>
+<ul class="simple">
+<li><p><a class="reference external" href="https://jinja.palletsprojects.com/en/3.0.x/">Jinja2</a></p></li>
+<li><p><a class="reference external" href="https://pypi.org/project/empy/">EmPy</a></p></li>
+</ul>
+</section>
+<section id="workflow-configuration-directories">
+<span id="workflowdefinitiondirectories"></span><h2>Workflow Configuration Directories<a class="headerlink" href="#workflow-configuration-directories" title="Link to this heading"></a></h2>
+<p>A Cylc <a class="reference internal" href="../../glossary.html#term-source-directory"><span class="xref std std-term">source directory</span></a> contains:</p>
+<dl>
+<dt><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a></dt><dd><p>The file which configures the workflow.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">bin/</span></code> (optional)</dt><dd><p>A directory for scripts and executables used by workflow tasks. It is
+added to <code class="docutils literal notranslate"><span class="pre">$PATH</span></code> in job environments.</p>
+<p>Jobs can also run scripting defined in the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file,
+executables installed to user-defined locations of the workflow run
+directory, and external executables.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">lib/python/</span></code> (optional)</dt><dd><p>A directory for Python modules. It is added to <code class="docutils literal notranslate"><span class="pre">$PYTHONPATH</span></code> in
+the scheduler and job execution environments. It can be used by:</p>
+<ul class="simple">
+<li><p>Tasks</p></li>
+<li><p>Custom <a class="reference internal" href="../../plugins/job-runners/index.html#customjobsubmissionmethods"><span class="std std-ref">job submission modules</span></a></p></li>
+<li><p>Custom <a class="reference internal" href="jinja2.html#customjinja2filters"><span class="std std-ref">Jinja2 Filters</span></a></p></li>
+</ul>
+</dd>
+</dl>
+<p>Other files and folders may be placed in the <a class="reference internal" href="../../glossary.html#term-source-directory"><span class="xref std std-term">source directory</span></a> too:
+documentation, configuration files, etc. When the workflow is <a class="reference internal" href="../installing-workflows.html#installing-workflows"><span class="std std-ref">installed</span></a> these will be copied over to the <a class="reference internal" href="../../glossary.html#term-run-directory"><span class="xref std std-term">run directory</span></a>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>If your workflow needs to create or install scripts or executables at runtime
+and you don’t want Cylc to delete them on re-installation, you can use
+equivalent directories in the <a class="reference internal" href="runtime.html#workflow-share-directories"><span class="std std-ref">Workflow Share Directories</span></a>.</p>
+</div>
+<section id="syntax-highlighting-for-workflow-configuration">
+<span id="syntaxhighlighting"></span><h3>Syntax Highlighting For Workflow Configuration<a class="headerlink" href="#syntax-highlighting-for-workflow-configuration" title="Link to this heading"></a></h3>
+<p>Cylc provides syntax plugins for the following editors:</p>
+<dl class="simple">
+<dt>Atom</dt><dd><p>install the <a class="reference external" href="https://github.com/cylc/language-cylc">language-cylc</a> extension.</p>
+</dd>
+<dt>Emacs</dt><dd><p>The syntax file can be obtained from the Cylc library by
+running the following command
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">get-resources</span> <span class="pre">syntax/cylc-mode.el</span> <span class="pre">.</span></code>
+installation instructions are at the top of the file.</p>
+</dd>
+<dt>Gedit</dt><dd><p>The syntax file can be obtained from the Cylc library by
+running the following command
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">get-resources</span> <span class="pre">syntax/cylc.lang</span> <span class="pre">.</span></code>
+installation instructions are at the top of the file.</p>
+</dd>
+<dt>Kate</dt><dd><p>The syntax file can be obtained from the Cylc library by
+running the following command
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">get-resources</span> <span class="pre">syntax/cylc.xml</span> <span class="pre">.</span></code>
+installation instructions are at the top of the file.</p>
+</dd>
+<dt>PyCharm</dt><dd><p>Install the <a class="reference external" href="https://github.com/cylc/Cylc.tmbundle">Cylc.tmbundle</a>.</p>
+</dd>
+<dt>Vim</dt><dd><p>The syntax file can be obtained from the Cylc library by
+running the following command
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">get-resources</span> <span class="pre">syntax/cylc.vim</span> <span class="pre">.</span></code>
+installation instructions are at the top of the file.</p>
+</dd>
+<dt>Visual Studio Code</dt><dd><p>Install the <a class="reference external" href="https://marketplace.visualstudio.com/items?itemName=cylc.vscode-cylc">vscode-cylc</a> extension.</p>
+</dd>
+<dt>Sublime Text 3</dt><dd><p>Install the <a class="reference external" href="https://github.com/cylc/Cylc.tmbundle">Cylc.tmbundle</a>.</p>
+</dd>
+<dt>TextMate</dt><dd><p>Install the <a class="reference external" href="https://github.com/cylc/Cylc.tmbundle">Cylc.tmbundle</a>.</p>
+</dd>
+<dt>WebStorm</dt><dd><p>Install the <a class="reference external" href="https://github.com/cylc/Cylc.tmbundle">Cylc.tmbundle</a>.</p>
+</dd>
+</dl>
+</section>
+<section id="gross-file-structure">
+<h3>Gross File Structure<a class="headerlink" href="#gross-file-structure" title="Link to this heading"></a></h3>
+<p>Cylc <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> files consist of configuration items grouped under
+several top level section headings:</p>
+<dl class="simple">
+<dt><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[meta]" title="flow.cylc[meta]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[meta]</span></code></a></dt><dd><p>Information about the workflow e.g. title and description.</p>
+</dd>
+<dt><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler]" title="flow.cylc[scheduler]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler]</span></code></a></dt><dd><p>Non task-specific workflow configuration.</p>
+</dd>
+<dt><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduling]" title="flow.cylc[scheduling]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling]</span></code></a></dt><dd><p>Determines when tasks are ready to run.</p>
+<ul class="simple">
+<li><p>special scheduling constraints e.g.
+<a class="reference internal" href="external-triggers.html#section-external-triggers"><span class="std std-ref">external triggers</span></a>.</p></li>
+<li><p>the dependency graph, which defines the relationships
+between tasks</p></li>
+</ul>
+</dd>
+<dt><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime]" title="flow.cylc[runtime]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime]</span></code></a></dt><dd><p>Determines how, where, and what to execute when tasks are ready</p>
+<ul class="simple">
+<li><p>script, environment, job submission, remote hosting, etc.</p></li>
+<li><p>workflow-wide defaults in the <em>root</em> family</p></li>
+<li><p>a nested family hierarchy with common properties
+inherited by related tasks</p></li>
+</ul>
+</dd>
+</dl>
+</section>
+<section id="validation">
+<span id="id1"></span><h3>Validation<a class="headerlink" href="#validation" title="Link to this heading"></a></h3>
+<p>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">validate</span></code> command evaluates the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file
+against a specification that defines all legal entries, values and options.
+It also performs some integrity checks designed to catch certain configuration
+issues and impossible scheduling constraints.</p>
+<p>These checks are also performed by <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> before starting a workflow.</p>
+<p>All legal entries are documented in the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> reference.</p>
+<p>If a <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file uses include-files <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">view</span></code> will
+show an inlined copy of the workflow with correct line numbers.</p>
+</section>
+<section id="module-cylc.flow.scripts.lint">
+<span id="cylc-lint"></span><span id="cylc-lint-script"></span><h3><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">lint</span></code><a class="headerlink" href="#module-cylc.flow.scripts.lint" title="Link to this heading"></a></h3>
+<p>Cylc configuration linter.</p>
+<p>Checks code style, deprecated syntax and other issues.</p>
+<section id="style">
+<h4>Style<a class="headerlink" href="#style" title="Link to this heading"></a></h4>
+<section id="id2">
+<h5><a class="reference external" href="https://cylc.github.io/cylc-doc/stable/html/workflow-design-guide/style-guide.html#tab-characters">S001</a><a class="headerlink" href="#id2" title="Link to this heading"></a></h5>
+<p>Use multiple spaces, not tabs</p>
+</section>
+<section id="id3">
+<h5><a class="reference external" href="https://cylc.github.io/cylc-doc/stable/html/workflow-design-guide/style-guide.html#indentation">S002</a><a class="headerlink" href="#id3" title="Link to this heading"></a></h5>
+<p>Item not indented.</p>
+</section>
+<section id="id4">
+<h5><a class="reference external" href="https://cylc.github.io/cylc-doc/stable/html/workflow-design-guide/style-guide.html#indentation">S003</a><a class="headerlink" href="#id4" title="Link to this heading"></a></h5>
+<p>Top level sections should not be indented.</p>
+</section>
+<section id="id5">
+<h5><a class="reference external" href="https://cylc.github.io/cylc-doc/stable/html/workflow-design-guide/style-guide.html#indentation">S004</a><a class="headerlink" href="#id5" title="Link to this heading"></a></h5>
+<p>Second level sections should be indented exactly 4 spaces.</p>
+</section>
+<section id="id6">
+<h5><a class="reference external" href="https://cylc.github.io/cylc-doc/stable/html/workflow-design-guide/style-guide.html#indentation">S005</a><a class="headerlink" href="#id6" title="Link to this heading"></a></h5>
+<p>Third level sections should be indented exactly 8 spaces.</p>
+</section>
+<section id="id7">
+<h5><a class="reference external" href="https://cylc.github.io/cylc-doc/stable/html/workflow-design-guide/style-guide.html#trailing-whitespace">S006</a><a class="headerlink" href="#id7" title="Link to this heading"></a></h5>
+<p>trailing whitespace.</p>
+</section>
+<section id="id8">
+<h5><a class="reference external" href="https://cylc.github.io/cylc-doc/stable/html/workflow-design-guide/style-guide.html#task-naming-conventions">S007</a><a class="headerlink" href="#id8" title="Link to this heading"></a></h5>
+<p>Family name contains lowercase characters.</p>
+</section>
+<section id="s008">
+<h5><a class="reference internal" href="#s008">S008</a><a class="headerlink" href="#s008" title="Link to this heading"></a></h5>
+<p>jinja2 found: no shebang (#!jinja2)</p>
+</section>
+<section id="id9">
+<h5><a class="reference external" href="https://cylc.github.io/cylc-doc/stable/html/7-to-8/major-changes/platforms.html">S009</a><a class="headerlink" href="#id9" title="Link to this heading"></a></h5>
+<p>Host Selection Script may be redundant with platform</p>
+</section>
+<section id="id10">
+<h5><a class="reference external" href="https://github.com/cylc/cylc-flow/issues/3825">S010</a><a class="headerlink" href="#id10" title="Link to this heading"></a></h5>
+<p>Using backticks to invoke subshell is deprecated</p>
+</section>
+<section id="s011">
+<h5><a class="reference internal" href="#s011">S011</a><a class="headerlink" href="#s011" title="Link to this heading"></a></h5>
+<p>Cylc will process commented Jinja2!</p>
+</section>
+<section id="id11">
+<h5><a class="reference external" href="https://cylc.github.io/cylc-doc/stable/html/workflow-design-guide/style-guide.html#line-length-and-continuation">S012</a><a class="headerlink" href="#id11" title="Link to this heading"></a></h5>
+<p>line &gt; <code class="docutils literal notranslate"><span class="pre">&lt;max_line_len&gt;</span></code> characters. Max line  length set in pyproject.toml (default 130)</p>
+</section>
+<section id="s013">
+<h5><a class="reference internal" href="#s013">S013</a><a class="headerlink" href="#s013" title="Link to this heading"></a></h5>
+<p>Items should be indented in 4 space blocks.</p>
+</section>
+</section>
+<section id="to-8-upgrades">
+<h4>7 to 8 upgrades<a class="headerlink" href="#to-8-upgrades" title="Link to this heading"></a></h4>
+<section id="u001">
+<h5><a class="reference internal" href="#u001">U001</a><a class="headerlink" href="#u001" title="Link to this heading"></a></h5>
+<p><code class="docutils literal notranslate"><span class="pre">[scheduling][dependencies][&lt;recurrence&gt;]graph</span> <span class="pre">=</span></code> -&gt; <code class="docutils literal notranslate"><span class="pre">[scheduling][graph]&lt;recurrence&gt;</span> <span class="pre">=</span></code> (<code class="docutils literal notranslate"><span class="pre">[dependencies]</span></code> detected)</p>
+</section>
+<section id="u002">
+<h5><a class="reference internal" href="#u002">U002</a><a class="headerlink" href="#u002" title="Link to this heading"></a></h5>
+<p><code class="docutils literal notranslate"><span class="pre">[scheduling][dependencies][&lt;recurrence&gt;]graph</span> <span class="pre">=</span></code> -&gt; <code class="docutils literal notranslate"><span class="pre">[scheduling][graph]&lt;recurrence&gt;</span> <span class="pre">=</span></code> (<code class="docutils literal notranslate"><span class="pre">graph</span> <span class="pre">=</span></code> detected)</p>
+</section>
+<section id="u003">
+<h5><a class="reference internal" href="#u003">U003</a><a class="headerlink" href="#u003" title="Link to this heading"></a></h5>
+<p>settings in <code class="docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][remote]</span></code> have been moved to <code class="docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;]</span></code> and <code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platforms</span> <span class="pre">name&gt;]</span></code></p>
+</section>
+<section id="u004">
+<h5><a class="reference internal" href="#u004">U004</a><a class="headerlink" href="#u004" title="Link to this heading"></a></h5>
+<p>settings in <code class="docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][job]</span></code> have been moved to <code class="docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;]</span></code> and <code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platforms</span> <span class="pre">name&gt;]</span></code></p>
+</section>
+<section id="u005">
+<h5><a class="reference internal" href="#u005">U005</a><a class="headerlink" href="#u005" title="Link to this heading"></a></h5>
+<p><code class="docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][job]batch</span> <span class="pre">system</span></code> -&gt; <code class="docutils literal notranslate"><span class="pre">global.cylc[platforms][&lt;platform</span> <span class="pre">name&gt;]job</span> <span class="pre">runner</span></code></p>
+</section>
+<section id="id12">
+<h5><a class="reference external" href="https://github.com/cylc/cylc-flow/issues/3825">U006</a><a class="headerlink" href="#id12" title="Link to this heading"></a></h5>
+<p>Using backticks to invoke subshell will fail at Cylc 8.</p>
+</section>
+<section id="id13">
+<h5><a class="reference external" href="https://cylc.github.io/cylc-doc/stable/html/7-to-8/major-changes/platforms.html">U007</a><a class="headerlink" href="#id13" title="Link to this heading"></a></h5>
+<p>Use built in platform selection instead of rose host-select.</p>
+</section>
+<section id="u008">
+<h5><a class="reference internal" href="#u008">U008</a><a class="headerlink" href="#u008" title="Link to this heading"></a></h5>
+<p>Suicide triggers are not required at Cylc 8.</p>
+</section>
+<section id="u009">
+<h5><a class="reference internal" href="#u009">U009</a><a class="headerlink" href="#u009" title="Link to this heading"></a></h5>
+<p>This line contains an obsolete Cylc CLI command.</p>
+</section>
+<section id="id14">
+<h5><a class="reference external" href="https://cylc.github.io/cylc-doc/stable/html/7-to-8/major-changes/suicide-triggers.html">U010</a><a class="headerlink" href="#id14" title="Link to this heading"></a></h5>
+<p>rose suite-hook is deprecated at Rose 2,</p>
+</section>
+<section id="id15">
+<h5><a class="reference external" href="https://cylc.github.io/cylc-doc/stable/html/7-to-8/major-changes/python-2-3.html#jinja2-integers-with-leading-zeros">U011</a><a class="headerlink" href="#id15" title="Link to this heading"></a></h5>
+<p>Leading zeros are no longer valid for Jinja2 integers.</p>
+</section>
+<section id="id16">
+<h5><a class="reference external" href="https://cylc.github.io/cylc-doc/stable/html/reference/job-script-vars/index.html">U012</a><a class="headerlink" href="#id16" title="Link to this heading"></a></h5>
+<p>The following environment variables are deprecated:</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Deprecated Variable</p></th>
+<th class="head"><p>New Variable</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CYLC_SUITE_HOST</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">CYLC_WORKFLOW_HOST</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CYLC_SUITE_OWNER</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">CYLC_WORKFLOW_OWNER</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CYLC_SUITE_SHARE_DIR</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">CYLC_WORKFLOW_SHARE_DIR</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CYLC_SUITE_SHARE_PATH</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">CYLC_WORKFLOW_SHARE_PATH</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CYLC_SUITE_NAME</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">CYLC_WORKFLOW_ID</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CYLC_SUITE_LOG_DIR</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">CYLC_WORKFLOW_LOG_DIR</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CYLC_SUITE_INITIAL_CYCLE_POINT</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">CYLC_WORKFLOW_INITIAL_CYCLE_POINT</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CYLC_SUITE_INITIAL_CYCLE_TIME</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">CYLC_WORKFLOW_INITIAL_CYCLE_TIME</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CYLC_SUITE_FINAL_CYCLE_POINT</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">CYLC_WORKFLOW_FINAL_CYCLE_POINT</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CYLC_SUITE_FINAL_CYCLE_TIME</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">CYLC_WORKFLOW_FINAL_CYCLE_TIME</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CYLC_SUITE_WORK_DIR</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">CYLC_WORKFLOW_WORK_DIR</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CYLC_SUITE_UUID</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">CYLC_WORKFLOW_UUID</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CYLC_SUITE_RUN_DIR</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">CYLC_WORKFLOW_RUN_DIR</span></code></p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="id17">
+<h5><a class="reference external" href="https://cylc.github.io/cylc-doc/stable/html/reference/job-script-vars/index.html">U013</a><a class="headerlink" href="#id17" title="Link to this heading"></a></h5>
+<p>The following environment variables are obsolete:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">CYLC_SUITE_DEF_PATH_ON_SUITE_HOST</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">CYLC_SUITE_DEF_PATH</span></code></p></li>
+</ul>
+</div></blockquote>
+</section>
+<section id="id18">
+<h5><a class="reference external" href="https://cylc.github.io/cylc-doc/stable/html/7-to-8/cheat-sheet.html#datetime-operations">U014</a><a class="headerlink" href="#id18" title="Link to this heading"></a></h5>
+<p>For datetime operations in task scripts:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p>Use <code class="docutils literal notranslate"><span class="pre">isodatetime</span></code> instead of <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">date</span></code></p></li>
+<li><p>Use <code class="docutils literal notranslate"><span class="pre">isodatetime</span> <span class="pre">ref</span></code> instead of <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">date</span> <span class="pre">-c</span></code> for the current cycle point</p></li>
+</ul>
+</div></blockquote>
+</section>
+<section id="id19">
+<h5><a class="reference external" href="https://cylc.github.io/cylc-doc/stable/html/user-guide/writing-workflows/runtime.html#task-event-template-variables">U015</a><a class="headerlink" href="#id19" title="Link to this heading"></a></h5>
+<dl class="simple">
+<dt>The following template variables, mostly used in event handlers,are deprecated, and should be replaced:</dt><dd><ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">suite</span></code> ⇒ workflow</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">suite_uuid</span></code> ⇒ uuid</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">batch_sys_name</span></code> ⇒ job_runner_name</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">batch_sys_job_id</span></code> ⇒ job_id</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">user&#64;host</span></code> ⇒ platform_name</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">task_url</span></code> ⇒ <code class="docutils literal notranslate"><span class="pre">URL</span></code> (if set in <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[meta]URL" title="flow.cylc[meta]URL"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[meta]URL</span></code></a>)</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">workflow_url</span></code> ⇒ <code class="docutils literal notranslate"><span class="pre">workflow_URL</span></code> (if set in <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][meta]URL" title="flow.cylc[runtime][&lt;namespace&gt;][meta]URL"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][meta]URL</span></code></a>)</p></li>
+</ul>
+</dd>
+</dl>
+</section>
+<section id="id20">
+<h5><a class="reference external" href="https://cylc.github.io/cylc-doc/stable/html/plugins/cylc-rose.html#special-variables">U016</a><a class="headerlink" href="#id20" title="Link to this heading"></a></h5>
+<p>It is no longer necessary to configure the environment variables <code class="docutils literal notranslate"><span class="pre">CYLC_VERSION</span></code>, <code class="docutils literal notranslate"><span class="pre">ROSE_VERSION</span></code> or <code class="docutils literal notranslate"><span class="pre">FCM_VERSION</span></code>.</p>
+</section>
+</section>
+<section id="auto-generated-7-to-8-upgrades">
+<h4>Auto Generated 7 to 8 upgrades<a class="headerlink" href="#auto-generated-7-to-8-upgrades" title="Link to this heading"></a></h4>
+<p>U998 and U999 represent automatically generated sets of deprecations and upgrades.</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc]force</span> <span class="pre">run</span> <span class="pre">mode</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][authentication]</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc]include</span> <span class="pre">at</span> <span class="pre">start-up</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc]exclude</span> <span class="pre">at</span> <span class="pre">start-up</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc]log</span> <span class="pre">resolved</span> <span class="pre">dependencies</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc]required</span> <span class="pre">run</span> <span class="pre">mode</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc]health</span> <span class="pre">check</span> <span class="pre">interval</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]mail</span> <span class="pre">retry</span> <span class="pre">delays</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__]extra</span> <span class="pre">log</span> <span class="pre">files</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][job]shell</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][remote]suite</span> <span class="pre">definition</span> <span class="pre">directory</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc]abort</span> <span class="pre">if</span> <span class="pre">any</span> <span class="pre">task</span> <span class="pre">fails</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc]disable</span> <span class="pre">automatic</span> <span class="pre">shutdown</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][environment]</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][reference</span> <span class="pre">test]</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][simulation]disable</span> <span class="pre">suite</span> <span class="pre">event</span> <span class="pre">handlers</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][simulation]</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[visualization]</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[scheduling]spawn</span> <span class="pre">to</span> <span class="pre">max</span> <span class="pre">active</span> <span class="pre">cycle</span> <span class="pre">points</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc]task</span> <span class="pre">event</span> <span class="pre">mail</span> <span class="pre">interval</span></code> is now <code class="docutils literal notranslate"><span class="pre">[cylc][mail]task</span> <span class="pre">event</span> <span class="pre">batch</span> <span class="pre">interval</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][parameters]</span></code> is now <code class="docutils literal notranslate"><span class="pre">[task</span> <span class="pre">parameters]</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][parameter</span> <span class="pre">templates]</span></code> is now <code class="docutils literal notranslate"><span class="pre">[task</span> <span class="pre">parameters][templates]</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]mail</span> <span class="pre">to</span></code> is now <code class="docutils literal notranslate"><span class="pre">[cylc][mail]to</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]mail</span> <span class="pre">from</span></code> is now <code class="docutils literal notranslate"><span class="pre">[cylc][mail]from</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]mail</span> <span class="pre">footer</span></code> is now <code class="docutils literal notranslate"><span class="pre">[cylc][mail]footer</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]mail</span> <span class="pre">to</span></code> is now <code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][mail]to</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]mail</span> <span class="pre">from</span></code> is now <code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][mail]from</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]mail</span> <span class="pre">smtp</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]mail</span> <span class="pre">smtp</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[scheduling]max</span> <span class="pre">active</span> <span class="pre">cycle</span> <span class="pre">points</span></code> is now <code class="docutils literal notranslate"><span class="pre">[scheduling]runahead</span> <span class="pre">limit</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[scheduling]hold</span> <span class="pre">after</span> <span class="pre">point</span></code> is now <code class="docutils literal notranslate"><span class="pre">[scheduling]hold</span> <span class="pre">after</span> <span class="pre">cycle</span> <span class="pre">point</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][suite</span> <span class="pre">state</span> <span class="pre">polling]</span></code> is now <code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][workflow</span> <span class="pre">state</span> <span class="pre">polling]</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]timeout</span></code> is now <code class="docutils literal notranslate"><span class="pre">[cylc][events]stall</span> <span class="pre">timeout</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]abort</span> <span class="pre">on</span> <span class="pre">timeout</span></code> is now <code class="docutils literal notranslate"><span class="pre">[cylc][events]abort</span> <span class="pre">on</span> <span class="pre">stall</span> <span class="pre">timeout</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]inactivity</span></code> is now <code class="docutils literal notranslate"><span class="pre">[cylc][events]inactivity</span> <span class="pre">timeout</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]abort</span> <span class="pre">on</span> <span class="pre">inactivity</span></code> is now <code class="docutils literal notranslate"><span class="pre">[cylc][events]abort</span> <span class="pre">on</span> <span class="pre">inactivity</span> <span class="pre">timeout</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]startup</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[cylc][events]startup</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]shutdown</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[cylc][events]shutdown</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]timeout</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[cylc][events]stall</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]stalled</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[cylc][events]stall</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]aborted</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[cylc][events]abort</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]inactivity</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[cylc][events]inactivity</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]expired</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]expired</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]late</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]late</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]submitted</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]submitted</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]started</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]started</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]succeeded</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]succeeded</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]failed</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]failed</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]submission</span> <span class="pre">failed</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]submission</span> <span class="pre">failed</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]warning</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]warning</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]critical</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]critical</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]retry</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]retry</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]submission</span> <span class="pre">retry</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]submission</span> <span class="pre">retry</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]execution</span> <span class="pre">timeout</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]execution</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]submission</span> <span class="pre">timeout</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]submission</span> <span class="pre">timeout</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]custom</span> <span class="pre">handler</span></code> is now <code class="docutils literal notranslate"><span class="pre">[runtime][__MANY__][events]custom</span> <span class="pre">handlers</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]abort</span> <span class="pre">on</span> <span class="pre">stalled</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]abort</span> <span class="pre">if</span> <span class="pre">startup</span> <span class="pre">handler</span> <span class="pre">fails</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]abort</span> <span class="pre">if</span> <span class="pre">shutdown</span> <span class="pre">handler</span> <span class="pre">fails</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]abort</span> <span class="pre">if</span> <span class="pre">timeout</span> <span class="pre">handler</span> <span class="pre">fails</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]abort</span> <span class="pre">if</span> <span class="pre">inactivity</span> <span class="pre">handler</span> <span class="pre">fails</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc][events]abort</span> <span class="pre">if</span> <span class="pre">stalled</span> <span class="pre">handler</span> <span class="pre">fails</span></code> is not available at Cylc 8</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">[cylc]</span></code> is now <code class="docutils literal notranslate"><span class="pre">[scheduler]</span></code></p></li>
+</ul>
+</section>
+</section>
+<section id="configure-cylc-lint-at-project-level">
+<h3>Configure <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">lint</span></code> at project level<a class="headerlink" href="#configure-cylc-lint-at-project-level" title="Link to this heading"></a></h3>
+<p>You can configure <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">lint</span></code> for each workflow using a
+<code class="docutils literal notranslate"><span class="pre">pyproject.toml</span></code> file.</p>
+<p>To define settings for <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">lint</span></code> use a <code class="docutils literal notranslate"><span class="pre">[cylc-lint]</span></code> section.
+Within the <code class="docutils literal notranslate"><span class="pre">[cylc-lint]</span></code> section you may define the following:</p>
+<dl>
+<dt>rulesets</dt><dd><p>A list of rulesets to use. If you run cylc lint without setting rulesets
+on the command line this value will override
+the default (<code class="docutils literal notranslate"><span class="pre">['728',</span> <span class="pre">'style']</span></code>).</p>
+<p>Allowed Values: ‘728’, ‘style’</p>
+</dd>
+<dt>ignore</dt><dd><p>Individual rules to ignore: A list of rule codes, such as <code class="docutils literal notranslate"><span class="pre">S007</span></code>.</p>
+</dd>
+<dt>exclude</dt><dd><p>A list of files or glob patterns for files which will not be checked.</p>
+</dd>
+<dt>max-line-length</dt><dd><p>Set longest line length to permit in Cylc Configs for this project.
+If unset, line length is not checked.</p>
+</dd>
+</dl>
+<p>An example <code class="docutils literal notranslate"><span class="pre">pyproject.toml</span></code> might look like this:</p>
+<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span class="k">[cylc-lint]</span>
+<span class="c1"># Enforce a line limit of 99 chars</span>
+<span class="n">max-line-length</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">99</span>
+
+<span class="c1"># Ignore style [S] rule 007 (It&#39;s good practice comment with a reason)</span>
+<span class="n">ignore</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s1">&#39;S007&#39;</span><span class="p">]</span><span class="w">   </span><span class="c1"># Family names start with lowercase in this workflow</span>
+
+<span class="c1"># Don&#39;t check files matching these globs</span>
+<span class="n">exclude</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s1">&#39;history/*.old.cylc&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;someother.cylc&#39;</span><span class="p">]</span>
+
+<span class="c1"># By default check for style</span>
+<span class="n">rulesets</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s1">&#39;style&#39;</span><span class="p">]</span>
+
+<span class="k">[some-other-section]</span>
+<span class="c1"># Cylc lint won&#39;t pay any attention to this.</span>
+</pre></div>
+</div>
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="Writing Workflows" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="scheduling.html" class="btn btn-neutral float-right" title="Scheduling Configuration" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/writing-workflows/configuration";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/writing-workflows/empy.html b/nightly_8.3/html/user-guide/writing-workflows/empy.html
new file mode 100644
index 00000000000..f05957e7826
--- /dev/null
+++ b/nightly_8.3/html/user-guide/writing-workflows/empy.html
@@ -0,0 +1,278 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>EmPy &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="External Triggers" href="external-triggers.html" />
+    <link rel="prev" title="Jinja2" href="jinja2.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Writing Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="configuration.html">Workflow Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="runtime.html">Task Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameterized-tasks.html">Task Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="jinja2.html">Jinja2</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">EmPy</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#workflow-files-and-context-variables">Workflow files and Context Variables</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="external-triggers.html">External Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Suicide Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler.html">Scheduler Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Writing Workflows</a></li>
+      <li class="breadcrumb-item active">EmPy</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/writing-workflows/empy.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="empy">
+<span id="user-guide-empy"></span><h1>EmPy<a class="headerlink" href="#empy" title="Link to this heading"></a></h1>
+<p>Cylc also supports the EmPy template processor in workflow configurations.
+Like <a class="reference internal" href="jinja2.html#user-guide-jinja2"><span class="std std-ref">Jinja2</span></a>, EmPy provides variables, mathematical
+expressions, loop control structures, conditional logic, etc., that gets
+expanded to generate the final workflow configuration seen - which must must be
+valid Cylc syntax. See <a class="reference external" href="https://pypi.org/project/empy/">EmPy</a> documentation
+for details of its templating features and how to use them.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>EmPy is not included in the standard Cylc installation. If installing
+with <code class="docutils literal notranslate"><span class="pre">pip</span></code> run <code class="docutils literal notranslate"><span class="pre">pip</span> <span class="pre">install</span> <span class="pre">cylc-flow[empy]</span></code> to install it.</p>
+</div>
+<p>To enable EmPy place an <code class="docutils literal notranslate"><span class="pre">empy</span></code> hash-bang comment on the first line of
+the <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> file:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="ch">#!empy</span>
+</pre></div>
+</div>
+<p>As an example, here is the “cities” workflow from the previous section,
+implemented with Empy instead of Jinja2.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1">#!EmPy</span>
+<span class="nt">[meta]</span>
+    <span class="nv">title </span><span class="o">=</span><span class="s"> &quot;EmPy city workflow example.&quot;</span>
+    <span class="nv">description </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">        Illustrates use of variables and math expressions, and programmatic</span>
+<span class="s2">        generation of groups of related dependencies and runtime properties.</span>
+<span class="s2">    &quot;&quot;&quot;</span>
+
+<span class="nt">[scheduler]</span>
+    <span class="nv">allow implicit tasks </span><span class="o">=</span><span class="s"> True</span>
+
+<span class="cp">@{</span>
+<span class="cp">HOST = &quot;SuperComputer&quot;</span>
+<span class="cp">CITIES = &#39;NewYork&#39;, &#39;Philadelphia&#39;, &#39;Newark&#39;, &#39;Houston&#39;, &#39;SantaFe&#39;, &#39;Chicago&#39;</span>
+<span class="cp">CITYJOBS = &#39;one&#39;, &#39;two&#39;, &#39;three&#39;, &#39;four&#39;</span>
+<span class="cp">LIMIT_MINS = 20</span>
+<span class="cp">CLEANUP = True</span>
+<span class="cp">}</span>
+
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2011-08-08T12</span>
+    <span class="nt">[[graph]]</span>
+<span class="cp">@[ if CLEANUP ]</span>
+        <span class="nv">T23 </span><span class="o">=</span> <span class="kd">clean</span>
+<span class="cp">@[ end if ]</span>
+        <span class="nv">T00,T12 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">setup</span> <span class="o">=&gt;</span> <span class="kd">get_lbc</span> <span class="o">&amp;</span> <span class="kd">get_ic</span> <span class="c1"># foo</span>
+<span class="cp">@[ for CITY in CITIES ]</span><span class="c c-Multi">@# comment</span>
+            <span class="kd">get_lbc</span> <span class="o">=&gt;</span> <span class="cp">@(CITY)</span><span class="kd">_one</span>
+            <span class="kd">get_ic</span> <span class="o">=&gt;</span> <span class="cp">@(CITY)</span><span class="kd">_two</span>
+            <span class="cp">@(CITY)</span><span class="kd">_one</span> <span class="o">&amp;</span> <span class="cp">@(CITY)</span><span class="kd">_two</span> <span class="o">=&gt;</span> <span class="cp">@(CITY)</span><span class="kd">_three</span> <span class="o">&amp;</span> <span class="cp">@(CITY)</span><span class="kd">_four</span>
+    <span class="cp">@[ if CLEANUP ]</span>
+            <span class="cp">@(CITY)</span><span class="kd">_three</span> <span class="o">&amp;</span> <span class="cp">@(CITY)</span><span class="kd">_four</span> <span class="o">=&gt;</span> <span class="kd">cleanup</span>
+    <span class="cp">@[ end if ]</span>
+<span class="cp">@[ end for ]</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[on_</span><span class="cp">@HOST</span><span class="nt"> ]]</span>
+        <span class="nt">[[[remote]]]</span>
+            <span class="nv">host </span><span class="o">=</span><span class="s"> </span><span class="cp">@HOST</span>
+            <span class="c1"># (remote cylc directory is set in site/user config for this host)</span>
+        <span class="nt">[[[directives]]]</span>
+            <span class="nv">wall_clock_limit </span><span class="o">=</span><span class="s"> &quot;00:</span><span class="cp">@(LIMIT_MINS + 2)</span><span class="s">:00,00:</span><span class="cp">@(LIMIT_MINS)</span><span class="s">:00&quot;</span>
+
+<span class="cp">@[ for CITY in CITIES ]</span>
+    <span class="nt">[[ </span><span class="cp">@(CITY)</span><span class="nt"> ]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> on_</span><span class="cp">@(HOST)</span>
+    <span class="cp">@[ for JOB in CITYJOBS ]</span>
+    <span class="nt">[[ </span><span class="cp">@(CITY)</span><span class="nt">_</span><span class="cp">@(JOB)</span><span class="nt"> ]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> </span><span class="cp">@CITY</span>
+    <span class="cp">@[ end for ]</span>
+<span class="cp">@[ end for ]</span>
+</pre></div>
+</div>
+<p>For basic usage, the difference between Jinja2 and EmPy amounts to little more than
+a different markup syntax. EmPy might be preferable, however, in cases needing
+more complicated processing logic.</p>
+<p><em>EmPy is a system for embedding Python expressions and statements in template
+text. It makes the full power of Python language and its ecosystem easily
+accessible from within the template. This might be desirable for several
+reasons:</em></p>
+<ul class="simple">
+<li><p>No need to learn a different language just for writing template logic</p></li>
+<li><p>Availability of lambda functions, lists, and dictionary comprehensions
+can make template code smaller and more readable compared to Jinja2</p></li>
+<li><p>Natural and straightforward integration with the Python package ecosystem</p></li>
+<li><p>No two-language barrier between writing template logic and processing
+extensions makes it easier to refactor and maintain the template code
+as its complexity grows. Inline Python code can be gathered into subroutines
+and eventually into separate modules and packages in a seamless manner.</p></li>
+</ul>
+<section id="workflow-files-and-context-variables">
+<h2>Workflow files and Context Variables<a class="headerlink" href="#workflow-files-and-context-variables" title="Link to this heading"></a></h2>
+<p>The EmPy processor has the same access as Jinja2 to
+<a class="reference internal" href="jinja2.html#jinja2-workflow-files"><span class="std std-ref">workflow files</span></a> and
+<a class="reference internal" href="jinja2.html#jinja2-workflow-context"><span class="std std-ref">workflow context variables</span></a>.</p>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="jinja2.html" class="btn btn-neutral float-left" title="Jinja2" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="external-triggers.html" class="btn btn-neutral float-right" title="External Triggers" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/writing-workflows/empy";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/writing-workflows/external-triggers.html b/nightly_8.3/html/user-guide/writing-workflows/external-triggers.html
new file mode 100644
index 00000000000..34a2e7329f4
--- /dev/null
+++ b/nightly_8.3/html/user-guide/writing-workflows/external-triggers.html
@@ -0,0 +1,982 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>External Triggers &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Suicide Triggers" href="suicide-triggers.html" />
+    <link rel="prev" title="EmPy" href="empy.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Writing Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="configuration.html">Workflow Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="runtime.html">Task Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameterized-tasks.html">Task Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="jinja2.html">Jinja2</a></li>
+<li class="toctree-l3"><a class="reference internal" href="empy.html">EmPy</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">External Triggers</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#built-in-clock-triggers">Built-in Clock Triggers</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#built-in-workflow-state-triggers">Built-in Workflow State Triggers</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#custom-trigger-functions">Custom Trigger Functions</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#current-limitations">Current Limitations</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#filesystem-events">Filesystem Events?</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#continuous-event-watchers">Continuous Event Watchers?</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#push-external-triggers">Push External Triggers</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#triggering-off-of-tasks-in-other-workflows">Triggering Off Of Tasks In Other Workflows</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Suicide Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler.html">Scheduler Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Writing Workflows</a></li>
+      <li class="breadcrumb-item active">External Triggers</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/writing-workflows/external-triggers.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="external-triggers">
+<span id="section-external-triggers"></span><h1>External Triggers<a class="headerlink" href="#external-triggers" title="Link to this heading"></a></h1>
+<p>External triggers allow tasks to trigger directly off of external events, which
+is often preferable to implementing long-running polling tasks in the workflow.
+The triggering mechanism described in this section is intended to replace the one
+one documented in <a class="reference internal" href="#old-style-external-triggers"><span class="std std-ref">Push External Triggers</span></a> (however, that one is a push
+mechanism, whereas this one involves regular polling by the scheduler).</p>
+<p>If you can write a Python function to check the status of an external
+condition or event, the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> can call it at configurable
+intervals until it reports success, at which point dependent tasks can trigger
+and data returned by the function will be passed to the job environments of
+those tasks. Functions can be written for triggering off of almost anything,
+such as delivery of a new dataset, creation of a new entry in a database
+table, or appearance of new data availability notifications in a message
+broker.</p>
+<p>Cylc has several built-in external trigger functions:</p>
+<ul class="simple">
+<li><p>clock triggers - see <a class="reference internal" href="#built-in-clock-triggers"><span class="std std-ref">Built-in Clock Triggers</span></a></p></li>
+<li><p>inter-workflow triggers - see <a class="reference internal" href="#built-in-workflow-state-triggers"><span class="std std-ref">Built-in Workflow State Triggers</span></a></p></li>
+</ul>
+<p>Trigger functions are normal Python functions, with certain constraints as
+described below in:</p>
+<ul class="simple">
+<li><p>custom trigger functions - see <a class="reference internal" href="#custom-trigger-functions"><span class="std std-ref">Custom Trigger Functions</span></a></p></li>
+</ul>
+<p>External triggers are configured in the
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduling][xtriggers]" title="flow.cylc[scheduling][xtriggers]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduling][xtriggers]</span></code></a> section.</p>
+<section id="built-in-clock-triggers">
+<span id="id1"></span><h2>Built-in Clock Triggers<a class="headerlink" href="#built-in-clock-triggers" title="Link to this heading"></a></h2>
+<p>These are more transparent (exposed in the graph) and efficient (shared among
+dependent tasks) than the older clock triggers described
+in <a class="reference internal" href="scheduling.html#clocktriggertasks"><span class="std std-ref">Clock Triggers</span></a>.</p>
+<p>Clock triggers, unlike other trigger functions, are executed synchronously in
+the main process. The clock trigger function signature looks like this:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">wall_clock</span><span class="p">(</span><span class="n">offset</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">offset</span></code> argument is a datetime duration (<code class="docutils literal notranslate"><span class="pre">PT1H</span></code> is 1
+hour) relative to the dependent task’s cycle point (automatically passed to the
+function via a second argument not shown above).</p>
+<p>In the following workflow, task <code class="docutils literal notranslate"><span class="pre">foo</span></code> has a daily cycle point sequence,
+and each task instance can trigger once the wallclock time has passed its
+cycle point value by one hour:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2018-01-01</span>
+    <span class="nt">[[xtriggers]]</span>
+        <span class="nv">clock_1 </span><span class="o">=</span><span class="s"> wall_clock(offset=PT1H):PT10S</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P1D = &quot;@clock_1 </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">foo</span><span class="c">&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> run-foo.sh</span>
+</pre></div>
+</div>
+<p>Notice that the short label <code class="docutils literal notranslate"><span class="pre">clock_1</span></code> is used to represent the
+trigger function in the graph. The function call interval, which determines how
+often the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> checks the clock, is optional. Here it is
+<code class="docutils literal notranslate"><span class="pre">PT10S</span></code> (i.e. 10 seconds, which is also the default value).</p>
+<p>Argument keywords can be omitted if called in the right order, so the
+<code class="docutils literal notranslate"><span class="pre">clock_1</span></code> trigger can also be declared like this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[xtriggers]]</span>
+    <span class="nv">clock_1 </span><span class="o">=</span><span class="s"> wall_clock(PT1H)</span>
+</pre></div>
+</div>
+<p>A zero-offset clock trigger does not need to be declared under
+the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduling][xtriggers]" title="flow.cylc[scheduling][xtriggers]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[xtriggers]</span></code></a> section:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2018-01-01</span>
+    <span class="nt">[[graph]]</span>
+         <span class="c1"># zero-offset clock trigger:</span>
+        <span class="nv">P1D = &quot;@wall_clock </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">foo</span><span class="c">&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> run-foo.sh</span>
+</pre></div>
+</div>
+<p>However, when xtriggers are declared the name used must adhere to the following
+rules:</p>
+<dl class="py class">
+<dt class="sig sig-object py" id="cylc.flow.unicode_rules.XtriggerNameValidator">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.unicode_rules.</span></span><span class="sig-name descname"><span class="pre">XtriggerNameValidator</span></span><a class="headerlink" href="#cylc.flow.unicode_rules.XtriggerNameValidator" title="Link to this definition"></a></dt>
+<dd><p>The rules for valid xtrigger labels:</p>
+<ul class="simple">
+<li><p>can only contain: latin letters and numbers, <code class="docutils literal notranslate"><span class="pre">_</span></code></p></li>
+<li><p>cannot start with: <code class="docutils literal notranslate"><span class="pre">_cylc</span></code></p></li>
+</ul>
+</dd></dl>
+
+</section>
+<section id="built-in-workflow-state-triggers">
+<span id="id2"></span><h2>Built-in Workflow State Triggers<a class="headerlink" href="#built-in-workflow-state-triggers" title="Link to this heading"></a></h2>
+<p>These can be used instead of the older workflow state polling tasks described
+in <a class="reference internal" href="#workflowstatepolling"><span class="std std-ref">Triggering Off Of Tasks In Other Workflows</span></a> for inter-workflow triggering - i.e. to trigger local
+tasks off of remote task statuses or messages in other workflows.</p>
+<p>The workflow state trigger function signature looks like this:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">workflow_state</span><span class="p">(</span><span class="n">workflow</span><span class="p">,</span> <span class="n">task</span><span class="p">,</span> <span class="n">point</span><span class="p">,</span> <span class="n">offset</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">status</span><span class="o">=</span><span class="s1">&#39;succeeded&#39;</span><span class="p">,</span>
+               <span class="n">message</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">cylc_run_dir</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">debug</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>The first three arguments are compulsory; they single out the target workflow name
+(<code class="docutils literal notranslate"><span class="pre">workflow</span></code>) task name (<code class="docutils literal notranslate"><span class="pre">task</span></code>) and cycle point
+(<code class="docutils literal notranslate"><span class="pre">point</span></code>). The function arguments mirror the arguments and options of
+the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">workflow-state</span></code> command - see
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">workflow-state</span> <span class="pre">--help</span></code> for documentation.</p>
+<p>As a simple example, consider the following “upstream”
+workflow (which we want to trigger off of):</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">cycle point format </span><span class="o">=</span><span class="s"> %Y</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2005</span>
+    <span class="nv">final cycle point </span><span class="o">=</span><span class="s"> 2015</span>
+   <span class="nt">[[graph]]</span>
+      <span class="nv">P1Y = &quot;foo </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">bar</span><span class="c">&quot;</span>
+<span class="nt">[runtime]</span>
+   <span class="nt">[[bar]]</span>
+      <span class="nv">script </span><span class="o">=</span><span class="s"> sleep 10</span>
+   <span class="nt">[[foo]]</span>
+      <span class="nv">script </span><span class="o">=</span><span class="s"> sleep 5; cylc message &quot;data ready&quot;</span>
+      <span class="nt">[[[outputs]]]</span>
+          <span class="nv">x </span><span class="o">=</span><span class="s"> &quot;data ready&quot;</span>
+</pre></div>
+</div>
+<p>It must be installed and run under the name <em>up</em>, as referenced in the
+“downstream” workflow that depends on it:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+  <span class="nv">cycle point format </span><span class="o">=</span><span class="s"> %Y</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2010</span>
+    <span class="nt">[[xtriggers]]</span>
+         <span class="nv">upstream </span><span class="o">=</span><span class="s"> workflow_state(workflow=up, task=foo, point=%(point)s, \</span>
+<span class="s">            message=&#39;data ready&#39;):PT10S</span>
+         <span class="nv">clock_0 </span><span class="o">=</span><span class="s"> wall_clock(offset=PT0H)</span>
+   <span class="nt">[[graph]]</span>
+        <span class="nv">P1Y </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">foo</span>
+            <span class="cp">@clock_0</span> <span class="o">&amp;</span> <span class="cp">@upstream</span> <span class="o">=&gt;</span> <span class="kd">FAM</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">all</span> <span class="o">=&gt;</span> <span class="kd">blam</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> sleep 5</span>
+    <span class="nt">[[foo, blam]]</span>
+    <span class="nt">[[FAM]]</span>
+    <span class="nt">[[f1,f2,f3]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> FAM</span>
+</pre></div>
+</div>
+<p>Try starting the downstream workflow first, then the upstream, and
+watch what happens.
+In each cycle point the <code class="docutils literal notranslate"><span class="pre">&#64;upstream</span></code> trigger in the downstream workflow
+waits on the task <code class="docutils literal notranslate"><span class="pre">foo</span></code> (with the same cycle point) in the upstream
+workflow to emit the <em>data ready</em> message.</p>
+<p>Some important points to note about this:</p>
+<ul class="simple">
+<li><p>The function call interval, which determines how often the scheduler
+checks the clock, is optional. Here it is
+<code class="docutils literal notranslate"><span class="pre">PT10S</span></code> (i.e. 10 seconds, which is also the default value).</p></li>
+<li><p>The <code class="docutils literal notranslate"><span class="pre">workflow_state</span></code> trigger function, like the
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">workflow-state</span></code> command, must have read-access to the upstream
+workflow’s public database.</p></li>
+<li><p>The cycle point argument is supplied by a string template
+<code class="docutils literal notranslate"><span class="pre">%(point)s</span></code>. The string templates available to trigger function
+arguments are described in <a class="reference internal" href="#custom-trigger-functions"><span class="std std-ref">Custom Trigger Functions</span></a>).</p></li>
+</ul>
+<p>The return value of the <code class="docutils literal notranslate"><span class="pre">workflow_state</span></code> trigger function looks like
+this:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">results</span> <span class="o">=</span> <span class="p">{</span>
+    <span class="s1">&#39;workflow&#39;</span><span class="p">:</span> <span class="n">workflow</span><span class="p">,</span>
+    <span class="s1">&#39;task&#39;</span><span class="p">:</span> <span class="n">task</span><span class="p">,</span>
+    <span class="s1">&#39;point&#39;</span><span class="p">:</span> <span class="n">point</span><span class="p">,</span>
+    <span class="s1">&#39;offset&#39;</span><span class="p">:</span> <span class="n">offset</span><span class="p">,</span>
+    <span class="s1">&#39;status&#39;</span><span class="p">:</span> <span class="n">status</span><span class="p">,</span>
+    <span class="s1">&#39;message&#39;</span><span class="p">:</span> <span class="n">message</span><span class="p">,</span>
+    <span class="s1">&#39;cylc_run_dir&#39;</span><span class="p">:</span> <span class="n">cylc_run_dir</span>
+<span class="p">}</span>
+<span class="k">return</span> <span class="p">(</span><span class="n">satisfied</span><span class="p">,</span> <span class="n">results</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">satisfied</span></code> variable is boolean (value True or False, depending
+on whether or not the trigger condition was found to be satisfied). The
+<code class="docutils literal notranslate"><span class="pre">results</span></code> dictionary contains the names and values of all of the
+target workflow state parameters. Each item in it gets qualified with the
+unique trigger label (“upstream” here) and passed to the environment of
+dependent tasks (the members of the <code class="docutils literal notranslate"><span class="pre">FAM</span></code> family in this case).
+To see this, take a look at the job script for one of the downstream tasks:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">% </span>cylc<span class="w"> </span>cat-log<span class="w"> </span>-f<span class="w"> </span>j<span class="w"> </span>dn//2011/f22011
+<span class="go">...</span>
+<span class="go">cylc__job__inst__user_env() {</span>
+<span class="gp">    # </span>TASK<span class="w"> </span>RUNTIME<span class="w"> </span>ENVIRONMENT:
+<span class="go">    export upstream_workflow upstream_cylc_run_dir upstream_offset \</span>
+<span class="go">      upstream_message upstream_status upstream_point upstream_task</span>
+<span class="go">    upstream_workflow=&quot;up&quot;</span>
+<span class="go">    upstream_cylc_run_dir=&quot;/home/vagrant/cylc-run&quot;</span>
+<span class="go">    upstream_offset=&quot;None&quot;</span>
+<span class="go">    upstream_message=&quot;data ready&quot;</span>
+<span class="go">    upstream_status=&quot;succeeded&quot;</span>
+<span class="go">    upstream_point=&quot;2011&quot;</span>
+<span class="go">    upstream_task=&quot;foo&quot;}</span>
+<span class="go">...</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The task has to know the name (label) of the external trigger that it
+depends on - “upstream” in this case - in order to use this information.
+However the name could be given to the task environment in the workflow
+configuration.</p>
+</div>
+</section>
+<section id="custom-trigger-functions">
+<span id="id3"></span><h2>Custom Trigger Functions<a class="headerlink" href="#custom-trigger-functions" title="Link to this heading"></a></h2>
+<p>Trigger functions are just normal Python functions, with a few special
+properties:</p>
+<ul class="simple">
+<li><p>they must:</p>
+<ul>
+<li><p>be defined in a module with the same name as the function;</p></li>
+<li><p>be compatible with the same Python version that runs the scheduler
+(see <a class="reference external" href="https://docs.python.org/3/library/importlib.metadata.html#requirements" title="(in Python v3.12)"><span>Distribution requirements</span></a> for the latest version specification).</p></li>
+</ul>
+</li>
+<li><p>they can be located either:</p>
+<ul>
+<li><p>in <code class="docutils literal notranslate"><span class="pre">&lt;workflow-dir&gt;/lib/python/</span></code>;</p></li>
+<li><p>or anywhere in your Python library path.</p></li>
+</ul>
+</li>
+<li><p>they can take arbitrary positional and keyword arguments</p></li>
+<li><p>workflow and task identity, and cycle point, can be passed to trigger
+functions by using string templates in function arguments (see below)</p></li>
+<li><p>integer, float, boolean, and string arguments will be recognized and
+passed to the function as such</p></li>
+<li><p>if a trigger function depends on files or directories (for example)
+that might not exist when the function is first called, just return
+unsatisfied until everything required does exist.</p></li>
+</ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Trigger functions cannot store data Pythonically between invocations
+because each call is executed in an independent process in the process
+pool. If necessary the filesystem can be used for this purpose.</p>
+</div>
+<dl>
+<p>Templates variables for string replacement in xtrigger functions.</p>
+<p>The following string templates are available for use, if the trigger
+function needs any of this information, in function arguments in the
+workflow configuration.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> now</span>
+    <span class="nt">[[xtriggers]]</span>
+        <span class="nv">my_xtrigger </span><span class="o">=</span><span class="s"> my_xtrigger_fcn(&#39;%(workflow)&#39;, &#39;%(point)&#39;)</span>
+</pre></div>
+</div>
+<p>For an explanation of the substitution syntax, see
+<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting">String Formatting Operations in the Python documentation</a>.</p>
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">point</span></span></dt>
+<dd><p>The cycle point of the dependent task.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">debug</span></span></dt>
+<dd><p>True if Cylc is being run in debug mode (–debug, -vv).</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">workflow_run_dir</span></span></dt>
+<dd><p>The path to the workflow run directory.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">workflow_share_dir</span></span></dt>
+<dd><p>The path to the workflow share directory.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">id</span></span></dt>
+<dd><p>The ID of the dependent task.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">name</span></span></dt>
+<dd><p>The name of the dependent task.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">user_name</span></span></dt>
+<dd><p>The user account under which the workflow is being run.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">workflow</span></span></dt>
+<dd><p>The workflow ID.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">workflow_name</span></span></dt>
+<dd><p>The workflow ID.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Use <code class="docutils literal notranslate"><span class="pre">workflow</span></code> instead.</p>
+</div>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">suite_name</span></span></dt>
+<dd><p>The workflow ID.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Use <code class="docutils literal notranslate"><span class="pre">workflow</span></code> instead.</p>
+</div>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">suite_run_dir</span></span></dt>
+<dd><p>The path to the workflow run directory.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Use <code class="docutils literal notranslate"><span class="pre">workflow_run_dir</span></code> instead.</p>
+</div>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">suite_share_dir</span></span></dt>
+<dd><p>The path to the workflow share directory.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Use <code class="docutils literal notranslate"><span class="pre">workflow_share_dir</span></code> instead.</p>
+</div>
+</dd></dl>
+
+</dl>
+
+<p>Function return values should be as follows:</p>
+<ul class="simple">
+<li><p>if the trigger condition is <em>not satisfied</em>:</p>
+<ul>
+<li><p>return <code class="docutils literal notranslate"><span class="pre">(False,</span> <span class="pre">{})</span></code></p></li>
+</ul>
+</li>
+<li><p>if the trigger condition is <em>satisfied</em>:</p>
+<ul>
+<li><p>return <code class="docutils literal notranslate"><span class="pre">(True,</span> <span class="pre">results)</span></code></p></li>
+</ul>
+</li>
+</ul>
+<p>where <code class="docutils literal notranslate"><span class="pre">results</span></code> is an arbitrary dictionary of information to be passed to
+dependent tasks, which in terms of format must:</p>
+<ul class="simple">
+<li><p>be <em>flat</em> (non-nested);</p></li>
+<li><p>contain <em>only</em> keys which are
+<a class="reference external" href="https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html">valid</a> as environment variable names.</p></li>
+</ul>
+<p>See <a class="reference internal" href="#built-in-workflow-state-triggers"><span class="std std-ref">Built-in Workflow State Triggers</span></a> for an example of one such
+<code class="docutils literal notranslate"><span class="pre">results</span></code> dictionary and how it gets processed by the workflow.</p>
+<p>The <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> manages trigger functions as follows:</p>
+<ul class="simple">
+<li><p>they are called asynchronously in the process pool
+- (except for clock triggers, which are called from the main process)</p></li>
+<li><p>they are called repeatedly on a configurable interval, until satisfied
+- the call interval defaults to <code class="docutils literal notranslate"><span class="pre">PT10S</span></code> (10 seconds)
+- repeat calls are not made until the previous call has returned</p></li>
+<li><p>they are subject to the normal process pool command time out - if they
+take too long to return, the process will be killed</p></li>
+<li><p>they are shared for efficiency: a single call will be made for all
+triggers that share the same function signature - i.e.the same function
+name and arguments</p></li>
+<li><p>their return status and results are stored in the workflow DB and persist across
+workflow restarts</p></li>
+<li><p>their stdout, if any, is redirected to stderr and will be visible in
+the workflow log in debug mode (stdout is needed to communicate return values
+from the sub-process in which the function executes)</p></li>
+</ul>
+<section id="toy-examples">
+<h3>Toy Examples<a class="headerlink" href="#toy-examples" title="Link to this heading"></a></h3>
+<section id="echo">
+<h4>echo<a class="headerlink" href="#echo" title="Link to this heading"></a></h4>
+<p>The trivial built-in <code class="docutils literal notranslate"><span class="pre">echo</span></code> function takes any number of positional
+and keyword arguments (from the workflow configuration) and simply prints
+them to stdout, and then returns False (i.e. trigger condition not
+satisfied). Here it is in its entirety.</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">echo</span><span class="p">(</span><span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
+    <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;echo: ARGS:&quot;</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
+    <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;echo: KWARGS:&quot;</span><span class="p">,</span> <span class="n">kwargs</span><span class="p">)</span>
+    <span class="k">return</span> <span class="kc">False</span><span class="p">,</span> <span class="p">{}</span>
+</pre></div>
+</div>
+<p>Here’s an example echo trigger workflow:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> now</span>
+    <span class="nt">[[xtriggers]]</span>
+        <span class="nv">echo_1 </span><span class="o">=</span><span class="s"> echo(hello, 99, qux=True, point=%(point)s, foo=10)</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">PT1H = &quot;@echo_1 </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">foo</span><span class="c">&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> exit 1</span>
+</pre></div>
+</div>
+<p>To see the result, run this workflow in debug mode and take a look at the
+workflow log (or run <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span> <span class="pre">--debug</span> <span class="pre">--no-detach</span> <span class="pre">&lt;workflow&gt;</span></code> and watch
+your terminal).</p>
+</section>
+<section id="xrandom">
+<h4>xrandom<a class="headerlink" href="#xrandom" title="Link to this heading"></a></h4>
+<p>The built-in <code class="docutils literal notranslate"><span class="pre">xrandom</span></code> function sleeps for a configurable amount of
+time (useful for testing the effect of a long-running trigger function
+- which should be avoided) and has a configurable random chance of
+success. The function signature is:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">xrandom</span><span class="p">(</span><span class="n">percent</span><span class="p">,</span> <span class="n">secs</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">_</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">debug</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">percent</span></code> argument sets the odds of success in any given call;
+<code class="docutils literal notranslate"><span class="pre">secs</span></code> is the number of seconds to sleep before returning; and the
+<code class="docutils literal notranslate"><span class="pre">_</span></code> argument (underscore is a conventional name for a variable
+that is not used, in Python) is provided to allow specialization of the
+trigger to (for example) task name, task ID, or cycle point (just use
+the appropriate string templates in the workflow configuration for this).</p>
+<p>An example xrandom trigger workflow:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">cycling mode </span><span class="o">=</span><span class="s"> integer</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 1</span>
+    <span class="nv">final cycle point </span><span class="o">=</span><span class="s"> 5</span>
+    <span class="nt">[[xtriggers]]</span>
+        <span class="c1"># Called once for all dependent tasks (all cycles).</span>
+        <span class="nv">x1 </span><span class="o">=</span><span class="s"> xrandom(percent=25, secs=2):PT5S</span>
+        <span class="c1"># Called once per dependent task name (all cycles).</span>
+        <span class="nv">x2 </span><span class="o">=</span><span class="s"> xrandom(percent=25, secs=2, _=%(name)s):PT5S</span>
+        <span class="c1"># Called once per cycle for all dependent tasks.</span>
+        <span class="nv">x3 </span><span class="o">=</span><span class="s"> xrandom(percent=25, secs=2, _=%(point)s):PT5S</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="c1"># all instances of foo and bar should trigger at once, together</span>
+            <span class="cp">@x1</span> <span class="o">=&gt;</span> <span class="kd">foo</span> <span class="o">&amp;</span> <span class="kd">bar</span>
+
+            <span class="c1"># all instances of cat should trigger at once, and separately, all</span>
+            <span class="c1"># instances of baz should trigger at once.</span>
+            <span class="cp">@x2</span> <span class="o">=&gt;</span> <span class="kd">cat</span> <span class="o">&amp;</span> <span class="kd">dog</span>
+
+            <span class="c1"># each instance of qux should trigger separately</span>
+            <span class="cp">@x3</span> <span class="o">=&gt;</span> <span class="kd">qux</span>
+
+            <span class="c1"># Result:</span>
+            <span class="c1"># - x1 should return True once, and not be called again.</span>
+            <span class="c1"># - x2 should return True twice, and not be called again.</span>
+            <span class="c1"># - x3 should return True five times, and not be called again.</span>
+            <span class="c1"># i.e. 8 True returns in the 5-cycle workflow run.</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> sleep 5</span>
+    <span class="nt">[[foo, bar, cat, dog, qux]]</span>
+</pre></div>
+</div>
+</section>
+</section>
+</section>
+<section id="current-limitations">
+<span id="current-trigger-function-limitations"></span><h2>Current Limitations<a class="headerlink" href="#current-limitations" title="Link to this heading"></a></h2>
+<p>The following issues may be addressed in future Cylc releases:</p>
+<ul class="simple">
+<li><p>trigger labels cannot currently be used in conditional (OR) expressions
+in the graph; attempts to do so will fail validation.</p></li>
+<li><p>aside from the predefined zero-offset <code class="docutils literal notranslate"><span class="pre">wall_clock</span></code> trigger, all
+unique trigger function calls must be declared <em>with all of
+their arguments</em> under the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduling][xtriggers]" title="flow.cylc[scheduling][xtriggers]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[xtriggers]</span></code></a> section, and
+referred to by label alone in the graph. It would be convenient (and less
+verbose, although no more functional) if we could just declare a label
+against the <em>common</em> arguments, and give remaining arguments (such as
+different wallclock offsets in clock triggers) as needed in the graph.</p></li>
+<li><p>we may move away from the string templating method for providing workflow
+and task attributes to trigger function arguments.</p></li>
+</ul>
+</section>
+<section id="filesystem-events">
+<h2>Filesystem Events?<a class="headerlink" href="#filesystem-events" title="Link to this heading"></a></h2>
+<p>Cylc does not have built-in support for triggering off of filesystem events
+such as <code class="docutils literal notranslate"><span class="pre">inotify</span></code> on Linux. There is no cross-platform standard for
+this, and in any case filesystem events are not very useful in HPC cluster
+environments where events can only be detected at the specific node on which
+they were generated.</p>
+</section>
+<section id="continuous-event-watchers">
+<h2>Continuous Event Watchers?<a class="headerlink" href="#continuous-event-watchers" title="Link to this heading"></a></h2>
+<p>For some applications a persistent process that continually monitors the
+external world is better than discrete periodic checking. This would be more
+difficult to support as a plugin mechanism in Cylc, but we may decide to do it
+in the future. In the meantime, consider implementing a small daemon process as
+the watcher (e.g. to watch continuously for filesystem events) and have your
+Cylc trigger functions interact with it.</p>
+</section>
+<section id="push-external-triggers">
+<span id="old-style-external-triggers"></span><h2>Push External Triggers<a class="headerlink" href="#push-external-triggers" title="Link to this heading"></a></h2>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The external triggering mechanism described here is harder to use than the
+newer method of <a class="reference internal" href="#section-external-triggers"><span class="std std-ref">External Triggers</span></a>. The trigger is a task
+property rather than something the task depends on, it requires the
+external system to push a message to the scheduler, and it has a less
+flexible way to pass information to downstream tasks. However, a push
+mechanism may sometimes be preferred over polling by the scheduler, so we
+have retained support pending something better in a future Cylc 8 release.</p>
+</div>
+<p>These external triggers are hidden task prerequisites that must be satisfied by
+using the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">ext-trigger</span></code> client command to send a pre-defined message to
+the workflow along with an ID string that distinguishes one instance of the
+event from another (the name of the target task and its current cycle point are
+not required). The event ID is just an arbitrary string to Cylc, but it can be
+used to identify something associated with the event to the workflow - such as
+the filename of a new externally-generated dataset. When the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a>
+receives the event notification it will trigger the next instance of any task
+waiting on that trigger (whatever its cycle point) and then broadcast
+(see <a class="reference internal" href="../running-workflows/dynamic-behaviour.html#cylc-broadcast"><span class="std std-ref">Cylc Broadcast</span></a>) the event ID to the cycle point of the triggered
+task as <code class="docutils literal notranslate"><span class="pre">$CYLC_EXT_TRIGGER_ID</span></code>. Downstream tasks with the same cycle
+point therefore know the new event ID too and can use it, if they need to, to
+identify the same new dataset. In this way a whole workflow can be associated
+with each new dataset, and multiple datasets can be processed in parallel if
+they happen to arrive in quick succession.</p>
+<p>An externally-triggered task must register the event it waits on in the workflow
+scheduling section:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># workflow &quot;sat-proc&quot;</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">cycling mode </span><span class="o">=</span><span class="s"> integer</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 1</span>
+    <span class="nt">[[special tasks]]</span>
+        <span class="nv">external-trigger </span><span class="o">=</span><span class="s"> get-data(&quot;new sat X data avail&quot;)</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P1 = get-data =&gt; conv-data </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">products</span>
+</pre></div>
+</div>
+<p>Then, each time a new dataset arrives the external detection system should
+notify the workflow like this:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>ext-trigger<span class="w"> </span>sat-proc<span class="w"> </span><span class="s2">&quot;new sat X data avail&quot;</span><span class="w"> </span>passX12334a
+</pre></div>
+</div>
+<p>where “sat-proc” is the workflow name and “passX12334a” is the ID string for
+the new event. The workflow passphrase must be installed on triggering account.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Only one task in a workflow can trigger off a particular external message.
+Other tasks can trigger off the externally triggered task as required,
+of course.</p>
+</div>
+<p>Here is a working example of a simulated satellite processing workflow:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="ch">#!Jinja2</span>
+
+<span class="c1"># WARNING: this uses the old-style push external trigger mechanism.</span>
+
+<span class="nt">[meta]</span>
+    <span class="nv">title </span><span class="o">=</span><span class="s"> Real time satellite data processing demo, variant 3 of 3</span>
+
+    <span class="nv">description </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">        Successive cycle points retrieve and process the next arbitrarily timed</span>
+<span class="s2">        and labelled dataset, in parallel if the data comes in quickly. This</span>
+<span class="s2">        variant of the workflow has initial get_data tasks with external triggers:</span>
+<span class="s2">        they do not submit until triggered by an external system.</span>
+<span class="s2">    &quot;&quot;&quot;</span>
+
+<span class="c1"># Note that the satellite simulator task here that supplies the external event</span>
+<span class="c1"># trigger happens to be a workflow task - i.e. it is not really &quot;external&quot; - but</span>
+<span class="c1"># this is only a convenience - an easy route to a self-contained example workflow.</span>
+
+<span class="c1"># you can monitor output processing with:</span>
+<span class="c1"># $ watch -n 1 \</span>
+<span class="c1">#    &quot;find ~/cylc-run/&lt;workflow-id&gt;/share; find ~/cylc-run/&lt;workflow-id&gt;/work&quot;</span>
+
+<span class="cp">{% set N_DATASETS = 5 %}</span>
+
+<span class="c1"># define shared directories (could use runtime namespaces for this)</span>
+<span class="cp">{% set DATA_IN_DIR = &quot;$CYLC_WORKFLOW_SHARE_DIR/incoming&quot; %}</span>
+<span class="cp">{% set PRODUCT_DIR = &quot;$CYLC_WORKFLOW_SHARE_DIR/products&quot; %}</span>
+
+<span class="nt">[scheduling]</span>
+    <span class="nv">cycling mode </span><span class="o">=</span><span class="s"> integer</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 1</span>
+    <span class="nv">final cycle point </span><span class="o">=</span><span class="s"> </span><span class="cp">{{N_DATASETS}}</span>
+    <span class="nt">[[special tasks]]</span>
+        <span class="nv">external-trigger </span><span class="o">=</span><span class="s"> get_data(&quot;new dataset ready for processing&quot;)</span>
+    <span class="nt">[[graph]]</span>
+        <span class="c1"># first cycle</span>
+        <span class="nv">R1 = prep </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">satsim</span> <span class="o">&amp;</span> <span class="kd">get_data</span>
+<span class="nv">        P1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="c1"># Processing chain for each dataset</span>
+            <span class="kd">get_data</span> <span class="o">=&gt;</span> <span class="kd">proc1</span> <span class="o">=&gt;</span> <span class="kd">proc2</span> <span class="o">=&gt;</span> <span class="kd">products</span>
+            <span class="c1"># As one dataset is retrieved, start waiting on another.</span>
+            <span class="kd">get_data</span>[<span class="nb">-P1</span>] <span class="o">=&gt;</span> <span class="kd">get_data</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+        <span class="c1"># last cycle</span>
+        <span class="nv">R1//{{N_DATASETS}} = products </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">collate</span>
+
+<span class="nt">[runtime]</span>
+    <span class="nt">[[prep]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> \</span>
+<span class="s">rm -rf $CYLC_WORKFLOW_SHARE_DIR $CYLC_WORKFLOW_WORK_DIR</span>
+        <span class="nt">[[[meta]]]</span>
+            <span class="nv">title </span><span class="o">=</span><span class="s"> clean the workflow output directories</span>
+    <span class="nt">[[satsim]]</span>
+        <span class="nv">pre-script </span><span class="o">=</span><span class="s"> mkdir -p </span><span class="cp">{{DATA_IN_DIR}}</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            COUNT=0</span>
+<span class="s2">            while true; do</span>
+<span class="s2">                ((COUNT == </span><span class="cp">{{N_DATASETS}}</span><span class="s2">)) &amp;&amp; break</span>
+                <span class="c1"># sleep $((RANDOM % 20))</span>
+                <span class="c1"># Generate datasets very quickly to test parallel processing.</span>
+<span class="s2">                DATA_ID=$(date +%s).$((RANDOM % 100))</span>
+<span class="s2">                DATA_FILE=dataset-${DATA_ID}.raw</span>
+<span class="s2">                touch </span><span class="cp">{{DATA_IN_DIR}}</span><span class="s2">/$DATA_FILE</span>
+<span class="s2">                ((COUNT += 1))</span>
+                <span class="c1"># (required to distinguish fast-arriving messages).</span>
+                <span class="c1"># Trigger downstream processing in the workflow.</span>
+<span class="s2">                cylc ext-trigger $CYLC_WORKFLOW_ID \</span>
+<span class="s2">                   &quot;new dataset ready for processing&quot; $DATA_ID</span>
+<span class="s2">            done</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+        <span class="nt">[[[meta]]]</span>
+            <span class="nv">title </span><span class="o">=</span><span class="s"> simulate a satellite data feed</span>
+            <span class="nv">description </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">                Generates </span><span class="cp">{{N_DATASETS}}</span><span class="s2"> arbitrarily labelled datasets very</span>
+<span class="s2">                quickly, to show parallel processing streams.</span>
+<span class="s2">            &quot;&quot;&quot;</span>
+    <span class="nt">[[WORKDIR]]</span>
+        <span class="c1"># Define a common cycle-point-specific work-directory for all</span>
+        <span class="c1"># processing tasks so that they all work on the same dataset.</span>
+        <span class="nv">work sub-directory </span><span class="o">=</span><span class="s"> proc-$CYLC_TASK_CYCLE_POINT</span>
+        <span class="nv">post-script </span><span class="o">=</span><span class="s"> sleep 5</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">DATASET </span><span class="o">=</span><span class="s"> dataset-$CYLC_EXT_TRIGGER_ID</span>
+
+    <span class="nt">[[get_data]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> WORKDIR</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> mv </span><span class="cp">{{DATA_IN_DIR}}</span><span class="s">/${DATASET}.raw $PWD</span>
+        <span class="nt">[[[meta]]]</span>
+            <span class="nv">title </span><span class="o">=</span><span class="s"> retrieve next dataset</span>
+            <span class="nv">description </span><span class="o">=</span><span class="s"> just do it - we know it exists already</span>
+  <span class="nt">[[proc1]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> WORKDIR</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> mv ${DATASET}.raw ${DATASET}.proc1</span>
+        <span class="nt">[[[meta]]]</span>
+            <span class="nv">title </span><span class="o">=</span><span class="s"> convert .raw dataset to .proc1 form</span>
+   <span class="nt">[[proc2]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> WORKDIR</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> mv ${DATASET}.proc1 ${DATASET}.proc2</span>
+        <span class="nt">[[[meta]]]</span>
+            <span class="nv">title </span><span class="o">=</span><span class="s"> convert .proc1 dataset to .proc2 form</span>
+   <span class="nt">[[products]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> WORKDIR</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            mkdir -p </span><span class="cp">{{PRODUCT_DIR}}</span>
+<span class="s2">            mv ${DATASET}.proc2 </span><span class="cp">{{PRODUCT_DIR}}</span><span class="s2">/${DATASET}.prod</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+        <span class="nt">[[[meta]]]</span>
+            <span class="nv">title </span><span class="o">=</span><span class="s"> generate products from .proc2 processed dataset</span>
+    <span class="nt">[[collate]]</span>
+        <span class="c1"># Note you might want to use &quot;cylc workflow-state&quot; to check that</span>
+        <span class="c1"># _all_ product tasks have finished before collating results.</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            echo PRODUCTS:</span>
+<span class="s2">            ls </span><span class="cp">{{PRODUCT_DIR}}</span>
+<span class="s2">            sleep 20</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+        <span class="nt">[[[meta]]]</span>
+            <span class="nv">title </span><span class="o">=</span><span class="s"> collate all products from the workflow run</span>
+</pre></div>
+</div>
+<p>External triggers are not normally needed in datetime cycling workflows driven
+by real time data that comes in at regular intervals. In these cases a data
+retrieval task can be clock-triggered (and have appropriate retry intervals) to
+submit at the expected data arrival time, so little time is wasted in polling.
+However, if the arrival time of the cycle-point-specific data is highly
+variable, external triggering may be used with the cycle point embedded in the
+message:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># workflow &quot;data-proc&quot;</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 20150125T00</span>
+    <span class="nv">final cycle point   </span><span class="o">=</span><span class="s"> 20150126T00</span>
+    <span class="nt">[[special tasks]]</span>
+        <span class="nv">external-trigger </span><span class="o">=</span><span class="s"> get-data(&quot;data arrived for $CYLC_TASK_CYCLE_POINT&quot;)</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00 = init-process =&gt; get-data </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">post</span><span class="c">-</span><span class="kd">process</span>
+</pre></div>
+</div>
+<p>Once the variable-length waiting is finished, an external detection system
+should notify the workflow like this:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>ext-trigger<span class="w"> </span>data-proc<span class="w"> </span><span class="s2">&quot;data arrived for 20150126T00&quot;</span><span class="w"> </span>passX12334a
+</pre></div>
+</div>
+<p>where “data-proc” is the workflow name, the cycle point has replaced the
+variable in the trigger string, and “passX12334a” is the ID string for
+the new event. The workflow passphrase must be installed on the triggering
+account. In this case, the event will trigger for the second cycle point but
+not the first because of the cycle-point matching.</p>
+</section>
+<section id="triggering-off-of-tasks-in-other-workflows">
+<span id="workflowstatepolling"></span><h2>Triggering Off Of Tasks In Other Workflows<a class="headerlink" href="#triggering-off-of-tasks-in-other-workflows" title="Link to this heading"></a></h2>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Please read <a class="reference internal" href="#section-external-triggers"><span class="std std-ref">External Triggers</span></a> before using the older
+inter-workflow triggering mechanism described in this section.</p>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">workflow-state</span></code> command interrogates workflow run databases. It
+has a polling mode that waits for a given task in the target workflow to achieve a
+given state, or receive a given message. This can be used to make task
+scripting wait for a remote task to succeed (for example).</p>
+<p>Automatic workflow-state polling tasks can be defined with in the graph. They get
+automatically-generated task scripting that uses <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">workflow-state</span></code>
+appropriately (it is an error to give your own <code class="docutils literal notranslate"><span class="pre">script</span></code> item for these
+tasks).</p>
+<p>Here’s how to trigger a task <code class="docutils literal notranslate"><span class="pre">bar</span></code> off a task <code class="docutils literal notranslate"><span class="pre">foo</span></code> in
+a remote workflow called <code class="docutils literal notranslate"><span class="pre">other.workflow</span></code>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00, T12 = &quot;my-foo&lt;other.workflow::foo&gt; </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">bar</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>Local task <code class="docutils literal notranslate"><span class="pre">my-foo</span></code> will poll for the success of <code class="docutils literal notranslate"><span class="pre">foo</span></code>
+in workflow <code class="docutils literal notranslate"><span class="pre">other.workflow</span></code>, at the same cycle point, succeeding only when
+or if it succeeds. Other task states can also be polled:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">T00, T12 </span><span class="o">=</span><span class="s"> &quot;my-foo&lt;other.workflow::foo:fail&gt; =&gt; bar&quot;</span>
+</pre></div>
+</div>
+<p>The default polling parameters (e.g. maximum number of polls and the interval
+between them) are printed by <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">workflow-state</span> <span class="pre">--help</span></code> and can be
+configured if necessary under the local polling task runtime section:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00,T12 = &quot;my-foo&lt;other.workflow::foo&gt; </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">bar</span><span class="c">&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[my-foo]]</span>
+        <span class="nt">[[[workflow state polling]]]</span>
+            <span class="nv">max-polls </span><span class="o">=</span><span class="s"> 100</span>
+            <span class="nv">interval </span><span class="o">=</span><span class="s"> PT10S</span>
+</pre></div>
+</div>
+<p>To poll for the target task to receive a message rather than achieve a state,
+give the message in the runtime configuration (in which case the task status
+inferred from the graph syntax will be ignored):</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[my-foo]]</span>
+        <span class="nt">[[[workflow state polling]]]</span>
+            <span class="nv">message </span><span class="o">=</span><span class="s"> &quot;the quick brown fox&quot;</span>
+</pre></div>
+</div>
+<p>For workflows owned by others, or those with run databases in non-standard
+locations, use the <code class="docutils literal notranslate"><span class="pre">--run-dir</span></code> option, or in-workflow:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[my-foo]]</span>
+        <span class="nt">[[[workflow state polling]]]</span>
+            <span class="nv">run-dir </span><span class="o">=</span><span class="s"> /path/to/top/level/cylc/run-directory</span>
+</pre></div>
+</div>
+<p>If the remote task has a different cycling sequence, just arrange for the
+local polling task to be on the same sequence as the remote task that it
+represents. For instance, if local task <code class="docutils literal notranslate"><span class="pre">cat</span></code> cycles 6-hourly at
+<code class="docutils literal notranslate"><span class="pre">0,6,12,18</span></code> but needs to trigger off a remote task <code class="docutils literal notranslate"><span class="pre">dog</span></code>
+at <code class="docutils literal notranslate"><span class="pre">3,9,15,21</span></code>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T03,T09,T15,T21 </span><span class="o">=</span> <span class="c">&quot;</span><span class="kd">my</span><span class="c">-</span><span class="kd">dog</span>&lt;<span class="bp">other.workflow</span>::<span class="nb">dog</span>&gt;<span class="c">&quot;</span>
+<span class="nv">        T00,T06,T12,T18 = &quot;my-dog[-PT3H] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">cat</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>For workflow-state polling, the cycle point is automatically converted to the
+cycle point format of the target workflow.</p>
+<p>The remote workflow does not have to be running when polling commences because the
+command interrogates the workflow run database, not the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The graph syntax for workflow polling tasks cannot be combined with
+cycle point offsets, family triggers, or parameterized task notation.
+This does not present a problem because workflow polling tasks can be put on
+the same cycling sequence as the remote-workflow target task (as recommended
+above), and there is no point in having multiple tasks (family members or
+parameterized tasks) performing the same polling operation. Task state
+triggers can be used with workflow polling, e.g. to trigger another task if
+polling fails after 10 tries at 10 second intervals:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = &quot;poller&lt;other-workflow::foo:succeed&gt;:fail </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">another</span><span class="c">-</span><span class="kd">task</span><span class="c">&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[my-foo]]</span>
+        <span class="nt">[[[workflow state polling]]]</span>
+            <span class="nv">max-polls </span><span class="o">=</span><span class="s"> 10</span>
+            <span class="nv">interval </span><span class="o">=</span><span class="s"> PT10S</span>
+</pre></div>
+</div>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="empy.html" class="btn btn-neutral float-left" title="EmPy" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="suicide-triggers.html" class="btn btn-neutral float-right" title="Suicide Triggers" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/writing-workflows/external-triggers";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/writing-workflows/index.html b/nightly_8.3/html/user-guide/writing-workflows/index.html
new file mode 100644
index 00000000000..18ba7fd297c
--- /dev/null
+++ b/nightly_8.3/html/user-guide/writing-workflows/index.html
@@ -0,0 +1,263 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Writing Workflows &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Workflow Configuration" href="configuration.html" />
+    <link rel="prev" title="Introduction" href="../introduction.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Writing Workflows</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="configuration.html">Workflow Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="runtime.html">Task Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameterized-tasks.html">Task Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="jinja2.html">Jinja2</a></li>
+<li class="toctree-l3"><a class="reference internal" href="empy.html">EmPy</a></li>
+<li class="toctree-l3"><a class="reference internal" href="external-triggers.html">External Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Suicide Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler.html">Scheduler Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+      <li class="breadcrumb-item active">Writing Workflows</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/writing-workflows/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="writing-workflows">
+<h1>Writing Workflows<a class="headerlink" href="#writing-workflows" title="Link to this heading"></a></h1>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="configuration.html">Workflow Configuration</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="configuration.html#the-flow-cylc-file">The <code class="docutils literal notranslate"><span class="pre">flow.cylc</span></code> File</a></li>
+<li class="toctree-l2"><a class="reference internal" href="configuration.html#workflow-configuration-directories">Workflow Configuration Directories</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="scheduling.html">Scheduling Configuration</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="scheduling.html#the-graph">The Graph</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduling.html#graph-types">Graph Types</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduling.html#cycling-syntax-rules">Cycling Syntax Rules</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduling.html#task-triggering">Task Triggering</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduling.html#incomplete-tasks">Required Outputs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduling.html#user-guide-optional-outputs">Optional Outputs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduling.html#graph-branching">Graph Branching</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduling.html#limiting-workflow-activity">Limiting Workflow Activity</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduling.html#valid-task-cycle-points">Valid Task Cycle Points</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduling.html#omitting-tasks">Omitting Tasks</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="runtime.html">Task Configuration</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="runtime.html#task-and-family-names">Task and Family Names</a></li>
+<li class="toctree-l2"><a class="reference internal" href="runtime.html#the-root-family">The Root Family</a></li>
+<li class="toctree-l2"><a class="reference internal" href="runtime.html#defining-multiple-tasks-or-families-at-once">Defining Multiple Tasks or Families at Once</a></li>
+<li class="toctree-l2"><a class="reference internal" href="runtime.html#families-of-families">Families of Families</a></li>
+<li class="toctree-l2"><a class="reference internal" href="runtime.html#inheriting-from-multiple-parents">Inheriting from Multiple Parents</a></li>
+<li class="toctree-l2"><a class="reference internal" href="runtime.html#job-environment">Job Environment</a></li>
+<li class="toctree-l2"><a class="reference internal" href="runtime.html#remote-task-hosting">Remote Task Hosting</a></li>
+<li class="toctree-l2"><a class="reference internal" href="runtime.html#implicit-tasks">Implicit Tasks</a></li>
+<li class="toctree-l2"><a class="reference internal" href="runtime.html#task-retry-on-failure">Task Retry On Failure</a></li>
+<li class="toctree-l2"><a class="reference internal" href="runtime.html#task-event-handling">Task Event Handling</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="parameterized-tasks.html">Task Parameters</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="parameterized-tasks.html#parameter-expansion">Parameter Expansion</a></li>
+<li class="toctree-l2"><a class="reference internal" href="parameterized-tasks.html#passing-values-to-tasks">Passing Values To Tasks</a></li>
+<li class="toctree-l2"><a class="reference internal" href="parameterized-tasks.html#selecting-specific-values">Selecting Specific Values</a></li>
+<li class="toctree-l2"><a class="reference internal" href="parameterized-tasks.html#selecting-partial-ranges">Selecting Partial Ranges</a></li>
+<li class="toctree-l2"><a class="reference internal" href="parameterized-tasks.html#offsets-in-the-graph">Offsets in the Graph</a></li>
+<li class="toctree-l2"><a class="reference internal" href="parameterized-tasks.html#task-families-and-parameters">Task Families and Parameters</a></li>
+<li class="toctree-l2"><a class="reference internal" href="parameterized-tasks.html#parameterized-cycling">Parameterized Cycling</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="jinja2.html">Jinja2</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="jinja2.html#access-to-workflow-files">Access to Workflow Files</a></li>
+<li class="toctree-l2"><a class="reference internal" href="jinja2.html#workflow-context-variables">Workflow Context variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="jinja2.html#environment-variables">Environment Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="jinja2.html#custom-jinja2-filters-tests-and-globals">Custom Jinja2 Filters, Tests and Globals</a></li>
+<li class="toctree-l2"><a class="reference internal" href="jinja2.html#associative-arrays-in-jinja2">Associative Arrays In Jinja2</a></li>
+<li class="toctree-l2"><a class="reference internal" href="jinja2.html#default-values-and-template-variables">Default Values and Template Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="jinja2.html#jinja2-variable-scope">Jinja2 Variable Scope</a></li>
+<li class="toctree-l2"><a class="reference internal" href="jinja2.html#raising-exceptions">Raising Exceptions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="jinja2.html#importing-python-modules">Importing Python modules</a></li>
+<li class="toctree-l2"><a class="reference internal" href="jinja2.html#logging">Logging</a></li>
+<li class="toctree-l2"><a class="reference internal" href="jinja2.html#debugging">Debugging</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="empy.html">EmPy</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="empy.html#workflow-files-and-context-variables">Workflow files and Context Variables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="external-triggers.html">External Triggers</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="external-triggers.html#built-in-clock-triggers">Built-in Clock Triggers</a></li>
+<li class="toctree-l2"><a class="reference internal" href="external-triggers.html#built-in-workflow-state-triggers">Built-in Workflow State Triggers</a></li>
+<li class="toctree-l2"><a class="reference internal" href="external-triggers.html#custom-trigger-functions">Custom Trigger Functions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="external-triggers.html#current-limitations">Current Limitations</a></li>
+<li class="toctree-l2"><a class="reference internal" href="external-triggers.html#filesystem-events">Filesystem Events?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="external-triggers.html#continuous-event-watchers">Continuous Event Watchers?</a></li>
+<li class="toctree-l2"><a class="reference internal" href="external-triggers.html#push-external-triggers">Push External Triggers</a></li>
+<li class="toctree-l2"><a class="reference internal" href="external-triggers.html#triggering-off-of-tasks-in-other-workflows">Triggering Off Of Tasks In Other Workflows</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="suicide-triggers.html">Suicide Triggers</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="suicide-triggers.html#remaining-use-case">Remaining Use Case</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="scheduler.html">Scheduler Configuration</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="scheduler.html#workflow-event-handling">Workflow Event Handling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduler.html#external-command-execution">External Command Execution</a></li>
+<li class="toctree-l2"><a class="reference internal" href="scheduler.html#submitting-workflows-to-a-pool-of-hosts">Submitting Workflows To a Pool Of Hosts</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../introduction.html" class="btn btn-neutral float-left" title="Introduction" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="configuration.html" class="btn btn-neutral float-right" title="Workflow Configuration" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/writing-workflows/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/writing-workflows/jinja2.html b/nightly_8.3/html/user-guide/writing-workflows/jinja2.html
new file mode 100644
index 00000000000..c65050bfad2
--- /dev/null
+++ b/nightly_8.3/html/user-guide/writing-workflows/jinja2.html
@@ -0,0 +1,963 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Jinja2 &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="EmPy" href="empy.html" />
+    <link rel="prev" title="Task Parameters" href="parameterized-tasks.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Writing Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="configuration.html">Workflow Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="runtime.html">Task Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameterized-tasks.html">Task Parameters</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Jinja2</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#access-to-workflow-files">Access to Workflow Files</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#workflow-context-variables">Workflow Context variables</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#environment-variables">Environment Variables</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#custom-jinja2-filters-tests-and-globals">Custom Jinja2 Filters, Tests and Globals</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#associative-arrays-in-jinja2">Associative Arrays In Jinja2</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#default-values-and-template-variables">Default Values and Template Variables</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#jinja2-variable-scope">Jinja2 Variable Scope</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#raising-exceptions">Raising Exceptions</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#importing-python-modules">Importing Python modules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#logging">Logging</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#debugging">Debugging</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="empy.html">EmPy</a></li>
+<li class="toctree-l3"><a class="reference internal" href="external-triggers.html">External Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Suicide Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler.html">Scheduler Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Writing Workflows</a></li>
+      <li class="breadcrumb-item active">Jinja2</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/writing-workflows/jinja2.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="jinja2">
+<span id="user-guide-jinja2"></span><span id="jinja"></span><h1>Jinja2<a class="headerlink" href="#jinja2" title="Link to this heading"></a></h1>
+<div class="tip tutorial-ref admonition">
+<p class="admonition-title">Related Tutorial</p>
+<p><a class="reference internal" href="../../tutorial/runtime/configuration-consolidation/index.html#tutorial-cylc-consolidating-configuration"><span class="std std-ref">Configuration Consolidation Tutorial</span></a></p>
+</div>
+<p>Cylc supports the <a class="reference external" href="https://jinja.palletsprojects.com/en/3.0.x/">Jinja2</a> template processor in workflow configurations.
+Jinja2 code can appear anywhere in the file. The result after Jinja2 processing
+must be valid Cylc syntax.</p>
+<p>To use Jinja2, put a hash-bang comment in the first line of <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="ch">#!jinja2</span>
+</pre></div>
+</div>
+<p>Embedded Jinja2 code should be reasonably easy to understand for those with
+coding experience; otherwise Jinja2 is documented <a class="reference external" href="https://jinja.palletsprojects.com/en/3.0.x/">here</a>.</p>
+<p>Uses of Jinja2 in Cylc include:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p>Inclusion or exclusion of config sections by logical switch, e.g. to make
+portable workflows</p></li>
+<li><p>Computation of config values from input data</p></li>
+<li><p>Inclusion of files and sub-templates</p></li>
+<li><p>Looping over parameters to generate groups of similar tasks and associated
+dependencies - but see <a class="reference internal" href="parameterized-tasks.html#user-guide-param"><span class="std std-ref">Parameterized Tasks</span></a> for a
+simpler alternative to this where appropriate</p></li>
+</ul>
+</div></blockquote>
+<figure class="align-center" id="id2">
+<span id="fig-jinja2-ensemble"></span><img alt="../../_images/jinja2-ensemble-graph.png" src="../../_images/jinja2-ensemble-graph.png" />
+<figcaption>
+<p><span class="caption-text">The Jinja2 ensemble example workflow graph.</span><a class="headerlink" href="#id2" title="Link to this image"></a></p>
+</figcaption>
+</figure>
+<p>The graph above shows an ensemble of similar tasks generated with a Jinja2 loop:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="ch">#!jinja2</span>
+<span class="cp">{% set N_MEMBERS = 5 %}</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="c c-Multi">{# generate ensemble dependencies #}</span>
+<span class="cp">{% for I in range( 0, N_MEMBERS ) %}</span>
+            <span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">mem_</span><span class="cp">{{ I }}</span> <span class="o">=&gt;</span> <span class="kd">post_</span><span class="cp">{{ I }}</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+<span class="cp">{% endfor %}</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>Note that Jinja2 code is encapsulated in curly braces to distinguish it from
+the surrounding text.</p>
+<blockquote>
+<div><table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Jinja2 Syntax</p></th>
+<th class="head"><p>Description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">{#</span> <span class="pre">comment</span> <span class="pre">#}</span></code></p></td>
+<td><p>Comment</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">{%</span> <span class="pre">if</span> <span class="pre">true</span> <span class="pre">%}</span></code></p></td>
+<td><p>Expression</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">{{</span> <span class="pre">var</span> <span class="pre">}}</span></code></p></td>
+<td><p>Print statement</p></td>
+</tr>
+</tbody>
+</table>
+</div></blockquote>
+<p>Here is the workflow configuration after Jinja2 processing:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="ch">#!jinja2</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">mem_0</span> <span class="o">=&gt;</span> <span class="kd">post_0</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+            <span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">mem_1</span> <span class="o">=&gt;</span> <span class="kd">post_1</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+            <span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">mem_2</span> <span class="o">=&gt;</span> <span class="kd">post_2</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+            <span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">mem_3</span> <span class="o">=&gt;</span> <span class="kd">post_3</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+            <span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">mem_4</span> <span class="o">=&gt;</span> <span class="kd">post_4</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>This example illustrates Jinja2 loops nicely, but note it is now easier
+to generate task names automatically with built-in
+<a class="reference internal" href="parameterized-tasks.html#user-guide-param"><span class="std std-ref">task parameters</span></a>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+    <span class="nv">m </span><span class="o">=</span><span class="s"> 0..4</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = &quot;foo =&gt; mem&lt;m&gt; =&gt; post&lt;m&gt; </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">bar</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>The next workflow, which generates weather forecasts over a number of cities, is
+more complex. To add a new city and associated tasks and dependencies just add
+the new city name to list at the top of the file. It makes use of Jinja2
+variables, loops, math, and logical flags to include or exclude tasks.</p>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>This example could also be simplified with built in
+<a class="reference internal" href="parameterized-tasks.html#user-guide-param"><span class="std std-ref">task parameters</span></a></p>
+</div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="ch">#!Jinja2</span>
+<span class="nt">[meta]</span>
+    <span class="nv">title </span><span class="o">=</span><span class="s"> &quot;Jinja2 city workflow example.&quot;</span>
+    <span class="nv">description </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">        Illustrates use of variables and math expressions, and programmatic</span>
+<span class="s2">        generation of groups of related dependencies and runtime properties.</span>
+<span class="s2">    &quot;&quot;&quot;</span>
+
+<span class="nt">[scheduler]</span>
+    <span class="nv">allow implicit tasks </span><span class="o">=</span><span class="s"> True</span>
+
+<span class="cp">{% set HOST = &quot;SuperComputer&quot; %}</span>
+<span class="cp">{% set CITIES = &#39;NewYork&#39;, &#39;Philadelphia&#39;, &#39;Newark&#39;, &#39;Houston&#39;, &#39;SantaFe&#39;, &#39;Chicago&#39; %}</span>
+<span class="cp">{% set CITYJOBS = &#39;one&#39;, &#39;two&#39;, &#39;three&#39;, &#39;four&#39; %}</span>
+<span class="cp">{% set LIMIT_MINS = 20 %}</span>
+
+<span class="cp">{% set CLEANUP = True %}</span>
+
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2011-08-08T12</span>
+    <span class="nt">[[graph]]</span>
+<span class="cp">{% if CLEANUP %}</span>
+        <span class="nv">T23 </span><span class="o">=</span> <span class="c">&quot;</span><span class="kd">clean</span><span class="c">&quot;</span>
+<span class="cp">{% endif %}</span>
+        <span class="nv">T00,T12 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">setup</span> <span class="o">=&gt;</span> <span class="kd">get_lbc</span> <span class="o">&amp;</span> <span class="kd">get_ic</span> <span class="c1"># foo</span>
+    <span class="cp">{% for CITY in CITIES %}</span> <span class="c c-Multi">{# comment #}</span>
+            <span class="kd">get_lbc</span> <span class="o">=&gt;</span> <span class="cp">{{ CITY }}</span><span class="kd">_one</span>
+            <span class="kd">get_ic</span> <span class="o">=&gt;</span> <span class="cp">{{ CITY }}</span><span class="kd">_two</span>
+            <span class="cp">{{ CITY }}</span><span class="kd">_one</span> <span class="o">&amp;</span> <span class="cp">{{ CITY }}</span><span class="kd">_two</span> <span class="o">=&gt;</span> <span class="cp">{{ CITY }}</span><span class="kd">_three</span> <span class="o">&amp;</span> <span class="cp">{{ CITY }}</span><span class="kd">_four</span>
+        <span class="cp">{% if CLEANUP %}</span>
+            <span class="cp">{{ CITY }}</span><span class="kd">_three</span> <span class="o">&amp;</span> <span class="cp">{{ CITY }}</span><span class="kd">_four</span> <span class="o">=&gt;</span> <span class="kd">cleanup</span>
+    <span class="cp">{% endif %}</span>
+<span class="cp">{% endfor %}</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+
+<span class="nt">[runtime]</span>
+    <span class="nt">[[on_</span><span class="cp">{{ HOST }}</span><span class="nt"> ]]</span>
+        <span class="nt">[[[remote]]]</span>
+            <span class="nv">host </span><span class="o">=</span><span class="s"> </span><span class="cp">{{ HOST }}</span>
+            <span class="c1"># (remote cylc directory is set in site/user config for this host)</span>
+        <span class="nt">[[[directives]]]</span>
+            <span class="nv">wall_clock_limit </span><span class="o">=</span><span class="s"> &quot;00:</span><span class="cp">{{ LIMIT_MINS|int() + 2 }}</span><span class="s">:00,00:</span><span class="cp">{{ LIMIT_MINS }}</span><span class="s">:00&quot;</span>
+
+<span class="cp">{% for CITY in CITIES %}</span>
+    <span class="nt">[[ </span><span class="cp">{{ CITY }}</span><span class="nt"> ]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> on_</span><span class="cp">{{ HOST }}</span>
+    <span class="cp">{% for JOB in CITYJOBS %}</span>
+    <span class="nt">[[ </span><span class="cp">{{ CITY }}</span><span class="nt">_</span><span class="cp">{{ JOB }}</span><span class="nt"> ]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> </span><span class="cp">{{ CITY }}</span>
+    <span class="cp">{% endfor %}</span>
+<span class="cp">{% endfor %}</span>
+</pre></div>
+</div>
+<figure class="align-center" id="id3">
+<span id="fig-jinja2-cities"></span><img alt="../../_images/jinja2-workflow-graph.png" src="../../_images/jinja2-workflow-graph.png" />
+<figcaption>
+<p><span class="caption-text">Jinja2 cities example workflow graph, with the
+New York City task family expanded.</span><a class="headerlink" href="#id3" title="Link to this image"></a></p>
+</figcaption>
+</figure>
+<section id="access-to-workflow-files">
+<span id="jinja2-workflow-files"></span><h2>Access to Workflow Files<a class="headerlink" href="#access-to-workflow-files" title="Link to this heading"></a></h2>
+<p>Your Jinja2 code can see the workflow directory by using
+<a class="reference internal" href="#jinja2-importing-python-modules"><span class="std std-ref">Python code</span></a>
+that simply reads from the <em>current working directory</em>.</p>
+<p>This will be the source directory if parsing a source workflow, or the run
+directory if parsing an installed workflow.</p>
+</section>
+<section id="workflow-context-variables">
+<span id="jinja2-workflow-context"></span><h2>Workflow Context variables<a class="headerlink" href="#workflow-context-variables" title="Link to this heading"></a></h2>
+<p>Jinja2 CYLC variables available when parsing any workflow (source or installed):</p>
+<table class="docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p>CYLC_VERSION</p></td>
+<td><p>Version of Cylc parsing the configuration</p></td>
+</tr>
+<tr class="row-even"><td><p>CYLC_WORKFLOW_NAME</p></td>
+<td><p>Workflow name (source, or run ID minus run name)</p></td>
+</tr>
+<tr class="row-odd"><td><p>CYLC_TEMPLATE_VARS</p></td>
+<td><p>Variables set by ‘–set’ CLI options or plugins</p></td>
+</tr>
+</tbody>
+</table>
+<p>Additional Jinja2 CYLC variables available when parsing an installed workflow:</p>
+<table class="docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p>CYLC_WORKFLOW_ID</p></td>
+<td><p>Workflow ID</p></td>
+</tr>
+<tr class="row-even"><td><p>CYLC_WORKFLOW_RUN_DIR</p></td>
+<td><p>Workflow run directory</p></td>
+</tr>
+</tbody>
+</table>
+<p>Additional Jinja2 CYLC variables available when the scheduler is parsing an
+installed workflow at run time:</p>
+<table class="docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p>CYLC_WORKFLOW_LOG_DIR</p></td>
+<td><p>Workflow log sub-directory</p></td>
+</tr>
+<tr class="row-even"><td><p>CYLC_WORKFLOW_SHARE_DIR</p></td>
+<td><p>Workflow share sub-directory</p></td>
+</tr>
+<tr class="row-odd"><td><p>CYLC_WORKFLOW_WORK_DIR</p></td>
+<td><p>Workflow work sub-directory</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Set default values for CYLC variables that are only defined for installed or
+running workflows, to allow successful parsing in other contexts as well:
+<code class="docutils literal notranslate"><span class="pre">{{CYLC_WORKFLOW_RUN_DIR</span> <span class="pre">|</span> <span class="pre">default(&quot;not-defined&quot;)}}</span></code>.</p>
+</div>
+</section>
+<section id="environment-variables">
+<h2>Environment Variables<a class="headerlink" href="#environment-variables" title="Link to this heading"></a></h2>
+<p>Cylc automatically imports the parse-time environment to the template
+processor’s global namespace (see <a class="reference internal" href="#customjinja2filters"><span class="std std-ref">Custom Jinja2 Filters, Tests and Globals</span></a>),
+in a dictionary called <code class="docutils literal notranslate"><span class="pre">environ</span></code>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="ch">#!Jinja2</span>
+<span class="c1">#...</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">HOME_DIR_ON_WORKFLOW_HOST </span><span class="o">=</span><span class="s"> </span><span class="cp">{{environ[&#39;HOME&#39;]}}</span>
+</pre></div>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>The environment is read during configuration parsing. It is not the run time
+job environment.</p>
+</div>
+</section>
+<section id="custom-jinja2-filters-tests-and-globals">
+<span id="customjinja2filters"></span><h2>Custom Jinja2 Filters, Tests and Globals<a class="headerlink" href="#custom-jinja2-filters-tests-and-globals" title="Link to this heading"></a></h2>
+<p>Jinja2 has three namespaces that separate “globals”, “filters” and “tests”.
+Globals are template-wide variables and functions. Cylc extends this namespace
+with the <code class="docutils literal notranslate"><span class="pre">environ</span></code> dictionary above, and
+<a class="reference internal" href="#jinja2-raise"><span class="std std-ref">raise</span></a> and <a class="reference internal" href="#jinja2-assert"><span class="std std-ref">assert</span></a>
+functions for raising exceptions to abort Cylc config parsing.</p>
+<p>Filters can be used to modify variable values and are applied using pipe
+notation. For example, the built-in <code class="docutils literal notranslate"><span class="pre">trim</span></code> filter strips leading
+and trailing white space from a string:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="cp">{% set MyString = &quot;   dog   &quot; %}</span>
+<span class="cp">{{ MyString | trim() }}</span>  <span class="c1"># &quot;dog&quot;</span>
+</pre></div>
+</div>
+<p>Variable values can be tested using the <code class="docutils literal notranslate"><span class="pre">is</span></code> keyword followed by
+the name of the test, e.g. <code class="docutils literal notranslate"><span class="pre">{%</span> <span class="pre">if</span> <span class="pre">VARIABLE</span> <span class="pre">is</span> <span class="pre">defined</span> <span class="pre">%}</span></code>. See Jinja2
+documentation for available built-in globals, filters and tests.</p>
+<p>Cylc also supports custom Jinja2 globals, filters and tests. A custom global,
+filter or test is a single Python function in a source file with the same name
+as the function (plus <code class="docutils literal notranslate"><span class="pre">.py</span></code> extension). These must be located in a
+subdirectory of the <a class="reference internal" href="../../glossary.html#term-run-directory"><span class="xref std std-term">run directory</span></a> called
+<code class="docutils literal notranslate"><span class="pre">Jinja2Filters</span></code>, <code class="docutils literal notranslate"><span class="pre">Jinja2Globals</span></code> or <code class="docutils literal notranslate"><span class="pre">Jinja2Tests</span></code> respectively.</p>
+<p>In the argument list of a filter or test function, the first argument is
+the variable value to be filtered or tested, and subsequent arguments can be
+whatever is needed. Currently three custom filters are supplied:</p>
+<table class="autosummary longtable docutils align-default">
+<tbody>
+<tr class="row-odd"><td><p><a class="reference internal" href="#cylc.flow.jinja.filters.pad.pad" title="cylc.flow.jinja.filters.pad.pad"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.jinja.filters.pad.pad</span></code></a></p></td>
+<td><p>Pads a string to some length with a fill character</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="#cylc.flow.jinja.filters.strftime.strftime" title="cylc.flow.jinja.filters.strftime.strftime"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.jinja.filters.strftime.strftime</span></code></a></p></td>
+<td><p>Format an <a class="reference internal" href="../../glossary.html#term-ISO8601-datetime"><span class="xref std std-term">ISO8601 datetime</span></a> string using an strftime string.</p></td>
+</tr>
+<tr class="row-odd"><td><p><a class="reference internal" href="#cylc.flow.jinja.filters.duration_as.duration_as" title="cylc.flow.jinja.filters.duration_as.duration_as"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cylc.flow.jinja.filters.duration_as.duration_as</span></code></a></p></td>
+<td><p>Format an <a class="reference internal" href="../../glossary.html#term-ISO8601-duration"><span class="xref std std-term">ISO8601 duration</span></a> string as the specified units.</p></td>
+</tr>
+</tbody>
+</table>
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.jinja.filters.pad.pad">
+<span class="sig-prename descclassname"><span class="pre">cylc.flow.jinja.filters.pad.</span></span><span class="sig-name descname"><span class="pre">pad</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fillchar</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'</span> <span class="pre">'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.jinja.filters.pad.pad" title="Link to this definition"></a></dt>
+<dd><p>Pads a string to some length with a fill character</p>
+<p>Useful for generating task names and related values in ensemble workflows.</p>
+<dl>
+<dt>Args:</dt><dd><dl class="simple">
+<dt>value (str):</dt><dd><p>The string to pad.</p>
+</dd>
+<dt>length (int/str):</dt><dd><p>The length for the returned string.</p>
+</dd>
+<dt>fillchar (str - optional):</dt><dd><p>The character to fill in surplus space (space by default).</p>
+</dd>
+</dl>
+</dd>
+<dt>Returns:</dt><dd><p>str: value padded to the left with fillchar to length length.</p>
+</dd>
+<dt>Python Examples:</dt><dd><div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="n">pad</span><span class="p">(</span><span class="s1">&#39;13&#39;</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="s1">&#39;0&#39;</span><span class="p">)</span>
+<span class="go">&#39;013&#39;</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">pad</span><span class="p">(</span><span class="s1">&#39;foo&#39;</span><span class="p">,</span> <span class="mi">6</span><span class="p">)</span>
+<span class="go">&#39;   foo&#39;</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">pad</span><span class="p">(</span><span class="s1">&#39;foo&#39;</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
+<span class="go">&#39;foo&#39;</span>
+</pre></div>
+</div>
+</dd>
+<dt>Jinja2 Examples:</dt><dd><div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="cp">{% for i in range(0,100) %}</span>  <span class="c1"># 0, 1, ..., 99</span>
+    <span class="cp">{% set j = i | pad(2,&#39;0&#39;) %}</span>
+    <span class="nt">[[A_</span><span class="cp">{{j}}</span><span class="nt">]]</span>         <span class="c1"># [[A_00]], [[A_01]], ..., [[A_99]]</span>
+<span class="cp">{% endfor %}</span>
+</pre></div>
+</div>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.jinja.filters.strftime.strftime">
+<span class="sig-prename descclassname"><span class="pre">cylc.flow.jinja.filters.strftime.</span></span><span class="sig-name descname"><span class="pre">strftime</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">iso8601_datetime</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">strftime_str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">strptime_str</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.jinja.filters.strftime.strftime" title="Link to this definition"></a></dt>
+<dd><p>Format an <a class="reference internal" href="../../glossary.html#term-ISO8601-datetime"><span class="xref std std-term">ISO8601 datetime</span></a> string using an strftime string.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="cp">{{ &#39;10661004T08+01&#39; | strftime(&#39;%H&#39;) }}</span>  <span class="c1"># 00</span>
+</pre></div>
+</div>
+<p>It is also possible to parse non-standard date-time strings by passing a
+strptime string as the second argument.</p>
+<dl>
+<dt>Args:</dt><dd><dl class="simple">
+<dt>iso8601_datetime (str):</dt><dd><p>Any valid ISO8601 datetime as a string.</p>
+</dd>
+<dt>strftime_str (str):</dt><dd><p>A valid strftime string to format the output datetime.</p>
+</dd>
+<dt>strptime_str (str - optional):</dt><dd><p>A valid strptime string defining the format of the provided
+iso8601_datetime.</p>
+</dd>
+</dl>
+</dd>
+<dt>Return:</dt><dd><p>The result of applying the strftime to the iso8601_datetime as parsed
+by the strptime string if provided.</p>
+</dd>
+<dt>Raises:</dt><dd><p>ISO8601SyntaxError: In the event of an invalid datetime string.
+StrftimeSyntaxError: In the event of an invalid strftime string.</p>
+</dd>
+<dt>Python Examples:</dt><dd><div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="c1"># Basic usage.</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;2000-01-01T00Z&#39;</span><span class="p">,</span> <span class="s1">&#39;%H&#39;</span><span class="p">)</span>
+<span class="go">&#39;00&#39;</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;2000&#39;</span><span class="p">,</span> <span class="s1">&#39;%H&#39;</span><span class="p">)</span>
+<span class="go">&#39;00&#39;</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;2000&#39;</span><span class="p">,</span> <span class="s1">&#39;%Y/%m/</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">)</span>
+<span class="go">&#39;2000/01/01 00:00:00&#39;</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;10661014T08+01&#39;</span><span class="p">,</span> <span class="s1">&#39;%z&#39;</span><span class="p">)</span>  <span class="c1"># Timezone offset.</span>
+<span class="go">&#39;+0100&#39;</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;10661014T08+01&#39;</span><span class="p">,</span> <span class="s1">&#39;%j&#39;</span><span class="p">)</span>  <span class="c1"># Day of the year</span>
+<span class="go">&#39;287&#39;</span>
+</pre></div>
+</div>
+<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="c1"># Strptime.</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;12,30,2000&#39;</span><span class="p">,</span> <span class="s1">&#39;%m&#39;</span><span class="p">,</span> <span class="s1">&#39;%m,</span><span class="si">%d</span><span class="s1">,%Y&#39;</span><span class="p">)</span>
+<span class="go">&#39;12&#39;</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;1066/10/14 08:00:00&#39;</span><span class="p">,</span> <span class="s1">&#39;%Y%m</span><span class="si">%d</span><span class="s1">T%H&#39;</span><span class="p">,</span> <span class="s1">&#39;%Y/%m/</span><span class="si">%d</span><span class="s1"> %H:%M:%S&#39;</span><span class="p">)</span>
+<span class="go">&#39;10661014T08&#39;</span>
+</pre></div>
+</div>
+<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="c1"># Exceptions.</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;invalid&#39;</span><span class="p">,</span> <span class="s1">&#39;%H&#39;</span><span class="p">)</span>  
+<span class="gt">Traceback (most recent call last):</span>
+<span class="gr">&lt;class &#39;metomi.isodatetime.exceptions.ISO8601SyntaxError&#39;&gt;</span>
+<span class="gr">metomi.isodatetime.exceptions.ISO8601SyntaxError</span>: <span class="n">Invalid ISO 8601         date representation: invalid</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;2000&#39;</span><span class="p">,</span> <span class="s1">&#39;</span><span class="si">%i</span><span class="s1">nvalid&#39;</span><span class="p">)</span>  
+<span class="gt">Traceback (most recent call last):</span>
+<span class="gr">metomi.isodatetime.exceptions.StrftimeSyntaxError</span>: <span class="n">Invalid         strftime/strptime representation: %i</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">strftime</span><span class="p">(</span><span class="s1">&#39;2000&#39;</span><span class="p">,</span> <span class="s1">&#39;%Y&#39;</span><span class="p">,</span> <span class="s1">&#39;</span><span class="si">%i</span><span class="s1">nvalid&#39;</span><span class="p">)</span>
+<span class="gp">... </span>
+<span class="gt">Traceback (most recent call last):</span>
+<span class="gr">metomi.isodatetime.exceptions.StrftimeSyntaxError</span>: <span class="n">Invalid         strftime/strptime representation: %i</span>
+</pre></div>
+</div>
+</dd>
+<dt>Jinja2 Examples:</dt><dd><div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="cp">{% set START_CYCLE = &#39;10661004T08+01&#39; %}</span>
+
+<span class="cp">{{START_CYCLE | strftime(&#39;%Y&#39;)}}</span>  <span class="c1"># 1066</span>
+<span class="cp">{{START_CYCLE | strftime(&#39;%m&#39;)}}</span>  <span class="c1"># 10</span>
+<span class="cp">{{START_CYCLE | strftime(&#39;%d&#39;)}}</span>  <span class="c1"># 14</span>
+<span class="cp">{{START_CYCLE | strftime(&#39;%H:%M:%S %z&#39;)}}</span>  <span class="c1"># 08:00:00 +01</span>
+<span class="cp">{{&#39;12,30,2000&#39; | strftime(&#39;%m&#39;, &#39;%m,%d,%Y&#39;)}}</span>  <span class="c1"># 12</span>
+</pre></div>
+</div>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="py function">
+<dt class="sig sig-object py" id="cylc.flow.jinja.filters.duration_as.duration_as">
+<span class="sig-prename descclassname"><span class="pre">cylc.flow.jinja.filters.duration_as.</span></span><span class="sig-name descname"><span class="pre">duration_as</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">iso8601_duration</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">units</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#cylc.flow.jinja.filters.duration_as.duration_as" title="Link to this definition"></a></dt>
+<dd><p>Format an <a class="reference internal" href="../../glossary.html#term-ISO8601-duration"><span class="xref std std-term">ISO8601 duration</span></a> string as the specified units.</p>
+<p>Units for the conversion can be specified in a case-insensitive short or
+long form:</p>
+<ul class="simple">
+<li><p>Seconds - “s” or “seconds”</p></li>
+<li><p>Minutes - “m” or “minutes”</p></li>
+<li><p>Hours - “h” or “hours”</p></li>
+<li><p>Days - “d” or “days”</p></li>
+<li><p>Weeks - “w” or “weeks”</p></li>
+</ul>
+<p>While the filtered value is a floating-point number, it is often required
+to supply an integer to workflow entities (e.g. environment variables) that
+require it.  This is accomplished by chaining filters:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">{{CYCLE_INTERVAL</span> <span class="pre">|</span> <span class="pre">duration_as('h')</span> <span class="pre">|</span> <span class="pre">int}}</span></code> - 24</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">{{CYCLE_SUBINTERVAL</span> <span class="pre">|</span> <span class="pre">duration_as('h')</span> <span class="pre">|</span> <span class="pre">int}}</span></code> - 0</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">{{CYCLE_INTERVAL</span> <span class="pre">|</span> <span class="pre">duration_as('s')</span> <span class="pre">|</span> <span class="pre">int}}</span></code> - 86400</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">{{CYCLE_SUBINTERVAL</span> <span class="pre">|</span> <span class="pre">duration_as('s')</span> <span class="pre">|</span> <span class="pre">int}}</span></code> - 1800</p></li>
+</ul>
+<dl>
+<dt>Args:</dt><dd><p>iso8601_duration (str): Any valid ISO8601 duration as a string.
+units (str): Destination unit for the duration conversion</p>
+</dd>
+<dt>Return:</dt><dd><p>The total number of the specified unit contained in the specified
+duration as a floating-point number.</p>
+</dd>
+<dt>Raises:</dt><dd><p>ISO8601SyntaxError: In the event of an invalid datetime string.</p>
+</dd>
+<dt>Python Examples:</dt><dd><div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="c1"># Basic usage.</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">duration_as</span><span class="p">(</span><span class="s1">&#39;PT1M&#39;</span><span class="p">,</span> <span class="s1">&#39;s&#39;</span><span class="p">)</span>
+<span class="go">60.0</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">duration_as</span><span class="p">(</span><span class="s1">&#39;PT1H&#39;</span><span class="p">,</span> <span class="s1">&#39;seconds&#39;</span><span class="p">)</span>
+<span class="go">3600.0</span>
+</pre></div>
+</div>
+<div class="doctest highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">&gt;&gt;&gt; </span><span class="c1"># Exceptions.</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">duration_as</span><span class="p">(</span><span class="s1">&#39;invalid value&#39;</span><span class="p">,</span> <span class="s1">&#39;s&#39;</span><span class="p">)</span>  
+<span class="gt">Traceback (most recent call last):</span>
+<span class="gr">metomi.isodatetime.exceptions.ISO8601SyntaxError</span>: <span class="n">Invalid ISO 8601        duration representation: invalid value</span>
+<span class="gp">&gt;&gt;&gt; </span><span class="n">duration_as</span><span class="p">(</span><span class="s1">&#39;invalid unit&#39;</span><span class="p">,</span> <span class="s1">&#39;#&#39;</span><span class="p">)</span>  
+<span class="gt">Traceback (most recent call last):</span>
+<span class="gr">ValueError</span>: <span class="n">No matching units found for #</span>
+</pre></div>
+</div>
+</dd>
+<dt>Jinja2 Examples:</dt><dd><div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="cp">{% set CYCLE_INTERVAL = &#39;PT1D&#39; %}</span>
+<span class="cp">{{ CYCLE_INTERVAL | duration_as(&#39;h&#39;) }}</span>  <span class="c1"># 24.0</span>
+<span class="cp">{% set CYCLE_SUBINTERVAL = &#39;PT30M&#39; %}</span>
+<span class="cp">{{ CYCLE_SUBINTERVAL | duration_as(&#39;hours&#39;) }}</span>  <span class="c1"># 0.5</span>
+<span class="cp">{% set CYCLE_INTERVAL = &#39;PT1D&#39; %}</span>
+<span class="cp">{{ CYCLE_INTERVAL | duration_as(&#39;s&#39;) }}</span>  <span class="c1"># 86400.0</span>
+<span class="cp">{% set CYCLE_SUBINTERVAL = &#39;PT30M&#39; %}</span>
+<span class="cp">{{ CYCLE_SUBINTERVAL | duration_as(&#39;seconds&#39;) }}</span>  <span class="c1"># 1800.0</span>
+</pre></div>
+</div>
+</dd>
+</dl>
+</dd></dl>
+
+</section>
+<section id="associative-arrays-in-jinja2">
+<h2>Associative Arrays In Jinja2<a class="headerlink" href="#associative-arrays-in-jinja2" title="Link to this heading"></a></h2>
+<p>Associative arrays (or <strong>dictionaries</strong>) are very useful. For example:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="ch">#!Jinja2</span>
+<span class="cp">{% set obs_types = [&#39;airs&#39;, &#39;iasi&#39;] %}</span>
+<span class="cp">{% set resource = { &#39;airs&#39;:&#39;ncpus=9&#39;, &#39;iasi&#39;:&#39;ncpus=20&#39; } %}</span>
+
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="kd">OBS</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[OBS]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> platform_using_pbs</span>
+    <span class="cp">{% for i in obs_types %}</span>
+    <span class="nt">[[ </span><span class="cp">{{i}}</span><span class="nt"> ]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> OBS</span>
+        <span class="nt">[[[directives]]]</span>
+             <span class="nv">-I </span><span class="o">=</span><span class="s"> </span><span class="cp">{{ resource[i] }}</span>
+     <span class="cp">{% endfor %}</span>
+</pre></div>
+</div>
+<p>Here’s the result:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>config<span class="w"> </span>-i<span class="w"> </span><span class="o">[</span>runtime<span class="o">][</span>airs<span class="o">]</span>directives<span class="w"> </span>&lt;workflow-id&gt;
+<span class="go">-I = ncpus=9</span>
+</pre></div>
+</div>
+</section>
+<section id="default-values-and-template-variables">
+<span id="jinja2-template-variables"></span><h2>Default Values and Template Variables<a class="headerlink" href="#default-values-and-template-variables" title="Link to this heading"></a></h2>
+<p>You can provide template variables to Cylc in 4 ways:</p>
+<ul class="simple">
+<li><p>Using the <code class="docutils literal notranslate"><span class="pre">--set-file</span></code> (<code class="docutils literal notranslate"><span class="pre">-S</span></code>) option.</p></li>
+<li><p>Using the <code class="docutils literal notranslate"><span class="pre">--set</span></code> (<code class="docutils literal notranslate"><span class="pre">-s</span></code>) option.</p></li>
+<li><p>Using the <code class="docutils literal notranslate"><span class="pre">--set-list</span></code> (<code class="docutils literal notranslate"><span class="pre">-z</span></code>) option.</p></li>
+<li><p><a class="reference internal" href="#using-a-plugin">Using a plugin</a>, such as <a class="reference internal" href="../../plugins/cylc-rose.html#cylc-rose"><span class="std std-ref">Cylc Rose</span></a>.</p></li>
+</ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>If the same variable is set by more than one method, the last source in the
+above list is used.</p>
+</div>
+<section id="the-s-z-and-set-file-options">
+<h3>The <code class="docutils literal notranslate"><span class="pre">-s</span></code>, <code class="docutils literal notranslate"><span class="pre">-z</span></code> and <code class="docutils literal notranslate"><span class="pre">--set-file</span></code> Options<a class="headerlink" href="#the-s-z-and-set-file-options" title="Link to this heading"></a></h3>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span><span class="c1"># set the Jinja2 variable &quot;answer&quot; to 42</span>
+<span class="gp">$ </span>cylc<span class="w"> </span>play<span class="w"> </span>&lt;workflow-id&gt;<span class="w"> </span>-s<span class="w"> </span><span class="nv">answer</span><span class="o">=</span><span class="m">42</span>
+</pre></div>
+</div>
+<p>A Python string-list is a valid value, but a lot to type, so <code class="docutils literal notranslate"><span class="pre">--set-list</span></code>
+(<code class="docutils literal notranslate"><span class="pre">-z</span></code>) is provided as a convenience:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp"># </span>The<span class="w"> </span><span class="nb">set</span><span class="w"> </span>syntax
+<span class="gp">$ </span>cylc<span class="w"> </span>play<span class="w"> </span>&lt;workflow-id&gt;<span class="w"> </span>-s<span class="w"> </span><span class="s2">&quot;answers=[&#39;mice&#39;, &#39;dolphins&#39;]&quot;</span>
+<span class="gp"># </span>...<span class="w"> </span>can<span class="w">  </span>be<span class="w"> </span>shortened<span class="w"> </span>to:
+<span class="gp">$ </span>cylc<span class="w"> </span>play<span class="w"> </span>&lt;workflow-id&gt;<span class="w"> </span>-z<span class="w"> </span><span class="nv">answers</span><span class="o">=</span>mice,dolphins
+</pre></div>
+</div>
+<p>If you need to define a lot of variables, you can so in a file
+using the <code class="docutils literal notranslate"><span class="pre">--set-file</span></code> option:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span><span class="c1"># create a set file</span>
+<span class="gp">$ </span>cat<span class="w"> </span>&gt;<span class="w"> </span>my-set-file<span class="w"> </span><span class="s">&lt;&lt;__SET_FILE__</span>
+<span class="go">question=&#39;the meaning of life, the universe and everything&#39;</span>
+<span class="go">answer=42</span>
+<span class="go">host=&#39;deep-thought&#39;</span>
+<span class="go">__SET_FILE__</span>
+
+<span class="gp">$ </span><span class="c1"># run using the options in the set file</span>
+<span class="gp">$ </span>cylc<span class="w"> </span>play<span class="w"> </span>&lt;workflow-id&gt;<span class="w"> </span>--set-file<span class="w"> </span>my-set-file
+</pre></div>
+</div>
+<p>Values must be Python literals e.g:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="s2">&quot;string&quot;</span>   <span class="c1"># string</span>
+<span class="mi">123</span>        <span class="c1"># integer</span>
+<span class="mf">12.34</span>      <span class="c1"># float</span>
+<span class="kc">True</span>       <span class="c1"># boolean</span>
+<span class="kc">None</span>       <span class="c1"># None type</span>
+<span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">]</span>  <span class="c1"># list</span>
+<span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">)</span>  <span class="c1"># tuple</span>
+<span class="p">{</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">}</span>  <span class="c1"># set</span>
+<span class="p">{</span><span class="s2">&quot;a&quot;</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">&quot;b&quot;</span><span class="p">:</span> <span class="mi">2</span><span class="p">,</span> <span class="s2">&quot;c&quot;</span><span class="p">:</span> <span class="mi">3</span><span class="p">}</span>  <span class="c1"># dictionary</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>On the command line you may need to wrap strings with an extra
+pair of quotes as the shell you are using (e.g. Bash) will strip
+the outer pair of quotes.</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span><span class="c1"># wrap the key=value pair in single quotes stop the shell from</span>
+<span class="gp">$ </span><span class="c1"># stripping the inner quotes around the string:</span>
+<span class="gp">$ </span>cylc<span class="w"> </span>play<span class="w"> </span>&lt;workflow-id&gt;<span class="w"> </span>-s<span class="w"> </span><span class="s1">&#39;my_string=&quot;a b c&quot;&#39;</span>
+</pre></div>
+</div>
+</div>
+<p>Here’s an example:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="ch">#!Jinja2</span>
+<span class="nt">[meta]</span>
+    <span class="nv">title </span><span class="o">=</span><span class="s"> &quot;Jinja2 example: use of defaults and external input&quot;</span>
+
+    <span class="nv">description </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">        The template variable N_MEMBERS can be set on the command line with</span>
+<span class="s2">        --set or --set-file=FILE; but if not a default values is supplied.</span>
+<span class="s2">    &quot;&quot;&quot;</span>
+
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 20100808T00</span>
+    <span class="nv">final cycle point   </span><span class="o">=</span><span class="s"> 20100816T00</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">ENS</span>
+            <span class="kd">ENS</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">all</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+
+<span class="nt">[runtime]</span>
+    <span class="nt">[[foo, bar]]</span>
+    <span class="nt">[[ENS]]</span>
+<span class="cp">{% for I in range( 0, N_MEMBERS | default( 3 )) %}</span>
+    <span class="nt">[[ mem_</span><span class="cp">{{ I }}</span><span class="nt"> ]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> ENS</span>
+<span class="cp">{% endfor %}</span>
+</pre></div>
+</div>
+<p>Here’s the result:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>list<span class="w"> </span>&lt;workflow-id&gt;
+<span class="go">Jinja2 Template Error</span>
+<span class="go">&#39;FIRST_TASK&#39; is undefined</span>
+<span class="go">cylc-list &lt;workflow-id&gt;  failed:  1</span>
+
+<span class="gp">$ </span><span class="c1"># Note: quoting &quot;bob&quot; so that it is evaluated as a string</span>
+<span class="gp">$ </span>cylc<span class="w"> </span>list<span class="w"> </span>--set<span class="w"> </span><span class="s1">&#39;FIRST_TASK=&quot;bob&quot;&#39;</span><span class="w"> </span>&lt;workflow-id&gt;
+<span class="go">bob</span>
+<span class="go">baz</span>
+<span class="go">mem_2</span>
+<span class="go">mem_1</span>
+<span class="go">mem_0</span>
+
+<span class="gp">$ </span>cylc<span class="w"> </span>list<span class="w"> </span>--set<span class="w"> </span><span class="s1">&#39;FIRST_TASK=&quot;bob&quot;&#39;</span><span class="w"> </span>--set<span class="w"> </span><span class="s1">&#39;LAST_TASK=&quot;alice&quot;&#39;</span><span class="w"> </span>&lt;workflow-id&gt;
+<span class="go">bob</span>
+<span class="go">alice</span>
+<span class="go">mem_2</span>
+<span class="go">mem_1</span>
+<span class="go">mem_0</span>
+
+<span class="gp">$ </span><span class="c1"># Note: no quotes required for N_MEMBERS since it is an integer</span>
+<span class="gp">$ </span>cylc<span class="w"> </span>list<span class="w"> </span>--set<span class="w"> </span><span class="s1">&#39;FIRST_TASK=&quot;bob&quot;&#39;</span><span class="w"> </span>--set<span class="w"> </span><span class="nv">N_MEMBERS</span><span class="o">=</span><span class="m">10</span><span class="w"> </span>&lt;workflow-id&gt;
+<span class="go">mem_9</span>
+<span class="go">mem_8</span>
+<span class="go">mem_7</span>
+<span class="go">mem_6</span>
+<span class="go">mem_5</span>
+<span class="go">mem_4</span>
+<span class="go">mem_3</span>
+<span class="go">mem_2</span>
+<span class="go">mem_1</span>
+<span class="go">mem_0</span>
+<span class="go">baz</span>
+<span class="go">bob</span>
+</pre></div>
+</div>
+<p>Note also that <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">view</span> <span class="pre">--set</span> <span class="pre">FIRST_TASK=bob</span> <span class="pre">--jinja2</span> <span class="pre">&lt;workflow-id&gt;</span></code>
+will show the workflow with the Jinja2 variables as set.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Workflows started with template variables set on the command
+line will <a class="reference internal" href="../../glossary.html#term-restart"><span class="xref std std-term">restart</span></a> with the same settings. You can set
+them again on the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> command line if they need to
+be overridden.</p>
+</div>
+</section>
+<section id="using-a-plugin">
+<h3>Using a plugin<a class="headerlink" href="#using-a-plugin" title="Link to this heading"></a></h3>
+<p>Template plugins such as <a class="reference internal" href="../../plugins/cylc-rose.html#cylc-rose"><span class="std std-ref">Cylc Rose</span></a> should provide a set of template
+variables which can be provided to Cylc. For example, using Cylc Rose you
+add a <code class="docutils literal notranslate"><span class="pre">rose-suite.conf</span></code> file containing a <code class="docutils literal notranslate"><span class="pre">[template</span> <span class="pre">variables]</span></code>
+section which the plugin makes available to Cylc:</p>
+<div class="literal-block-wrapper docutils container" id="id4">
+<div class="code-block-caption"><span class="caption-text">rose-suite.conf</span><a class="headerlink" href="#id4" title="Link to this code"></a></div>
+<div class="highlight-ini notranslate"><div class="highlight"><pre><span></span><span class="k">[template variables]</span>
+<span class="na">ICP</span><span class="o">=</span><span class="s">1068</span>
+</pre></div>
+</div>
+</div>
+<div class="literal-block-wrapper docutils container" id="id5">
+<div class="code-block-caption"><span class="caption-text">flow.cylc</span><a class="headerlink" href="#id5" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="ch">#!jinja2</span>
+<span class="nt">[scheduler]</span>
+   <span class="nv">allow implicit tasks </span><span class="o">=</span><span class="s"> True</span>
+<span class="nt">[scheduling]</span>
+   <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> </span><span class="cp">{{ICP}}</span>
+   <span class="nt">[[dependencies]]</span>
+      <span class="nv">P1Y </span><span class="o">=</span><span class="s"> Task1</span>
+</pre></div>
+</div>
+</div>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>config<span class="w"> </span>.<span class="w"> </span>-i<span class="w"> </span><span class="s2">&quot;[scheduling]initial cycle point&quot;</span>
+<span class="go">1068</span>
+</pre></div>
+</div>
+</section>
+</section>
+<section id="jinja2-variable-scope">
+<h2>Jinja2 Variable Scope<a class="headerlink" href="#jinja2-variable-scope" title="Link to this heading"></a></h2>
+<p>Jinja2 variable scoping rules may be surprising. For instance, variables set
+inside a <code class="docutils literal notranslate"><span class="pre">for</span></code> loop can’t be accessed outside of the block,
+so the following will not print <code class="docutils literal notranslate"><span class="pre">#</span> <span class="pre">FOO</span> <span class="pre">is</span> <span class="pre">True</span></code>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="cp">{% set FOO = False %}</span>
+<span class="cp">{% for item in items %}</span>
+    <span class="cp">{% if item.check_something() %}</span>
+        <span class="cp">{% set FOO = True %}</span>
+    <span class="cp">{% endif %}</span>
+<span class="cp">{% endfor %}</span>
+<span class="c1"># FOO is {{FOO}}</span>
+</pre></div>
+</div>
+<p>Jinja2 documentation suggests using alternative constructs like the loop
+<code class="docutils literal notranslate"><span class="pre">else</span></code> block or the special <code class="docutils literal notranslate"><span class="pre">loop</span></code> variable. More complex use cases can be
+handled using <code class="docutils literal notranslate"><span class="pre">namespace</span></code> objects that allow propagating of changes across scopes:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="cp">{% set ns = namespace(foo=false) %}</span>
+<span class="cp">{% for item in items %}</span>
+    <span class="cp">{% if item.check_something() %}</span>
+        <span class="cp">{% set ns.foo = true %}</span>
+    <span class="cp">{% endif %}</span>
+<span class="cp">{% endfor %}</span>
+<span class="c1"># FOO is {{ns.foo}}</span>
+</pre></div>
+</div>
+<p>For detail, see
+<a class="reference external" href="https://jinja.palletsprojects.com/en/3.0.x/templates/#assignments">Jinja2 Template Designer Documentation - Assignments</a></p>
+</section>
+<section id="raising-exceptions">
+<span id="jinja2raisingexceptions"></span><h2>Raising Exceptions<a class="headerlink" href="#raising-exceptions" title="Link to this heading"></a></h2>
+<p>Cylc provides two functions for raising exceptions in Jinja2 code. These
+exceptions are raised when the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file is loaded and will
+prevent a workflow from running.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>These functions must be contained within <code class="docutils literal notranslate"><span class="pre">{{</span></code> Jinja2 print statements, not
+<code class="docutils literal notranslate"><span class="pre">{%</span></code> code blocks.</p>
+</div>
+<section id="raise">
+<span id="jinja2-raise"></span><h3>Raise<a class="headerlink" href="#raise" title="Link to this heading"></a></h3>
+<p>The <code class="docutils literal notranslate"><span class="pre">raise</span></code> function will result in an error containing the provided text.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="cp">{% if not VARIABLE is defined %}</span>
+    <span class="cp">{{ raise(&#39;VARIABLE must be defined for this workflow.&#39;) }}</span>
+<span class="cp">{% endif %}</span>
+</pre></div>
+</div>
+</section>
+<section id="assert">
+<span id="jinja2-assert"></span><h3>Assert<a class="headerlink" href="#assert" title="Link to this heading"></a></h3>
+<p>The <code class="docutils literal notranslate"><span class="pre">assert</span></code> function will raise an exception containing the text provided in
+the second argument providing that the first argument evaluates as False. The
+following example is equivalent to the “raise” example above.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="cp">{{ assert(VARIABLE is defined, &#39;VARIABLE must be defined for this workflow.&#39;) }}</span>
+</pre></div>
+</div>
+</section>
+</section>
+<section id="importing-python-modules">
+<span id="jinja2-importing-python-modules"></span><h2>Importing Python modules<a class="headerlink" href="#importing-python-modules" title="Link to this heading"></a></h2>
+<p>Jinja2 allows to gather variable and macro definitions in a separate template
+that can be imported into (and thus shared among) other templates.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="cp">{% import &quot;flow-utils.cylc&quot; as utils %}</span>
+<span class="cp">{% from &quot;flow-utils.cylc&quot; import VARIABLE as ALIAS %}</span>
+<span class="cp">{{ utils.VARIABLE is equalto(ALIAS)) }}</span>
+</pre></div>
+</div>
+<p>Cylc extends this functionality to allow import of arbitrary Python modules.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="cp">{% from &quot;itertools&quot; import product %}</span>
+<span class="nt">[runtime]</span>
+<span class="cp">{% for group, member in product([&#39;a&#39;, &#39;b&#39;], [0, 1, 2]) %}</span>
+    <span class="nt">[[</span><span class="cp">{{group}}</span><span class="nt">_</span><span class="cp">{{member}}</span><span class="nt">]]</span>
+<span class="cp">{% endfor %}</span>
+</pre></div>
+</div>
+<p>For better clarity and disambiguation Python modules can be prefixed with
+<code class="docutils literal notranslate"><span class="pre">__python__</span></code>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="cp">{% from &quot;__python__.itertools&quot; import product %}</span>
+</pre></div>
+</div>
+</section>
+<section id="logging">
+<h2>Logging<a class="headerlink" href="#logging" title="Link to this heading"></a></h2>
+<p>It is possible to output messages to the Cylc log from within Jinja2, these
+messages will appear on the console when validating or starting a workflow.
+This can be useful for development or debugging.</p>
+<p>Example <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="ch">#!Jinja2</span>
+<span class="cp">{% from &quot;cylc.flow&quot; import LOG %}</span>
+<span class="cp">{% do LOG.debug(&quot;Hello World!&quot;) %}</span>
+</pre></div>
+</div>
+<p>Example output:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>validate<span class="w"> </span>.<span class="w"> </span>--debug
+<span class="go">DEBUG - Loading site/user config files</span>
+<span class="go">DEBUG - Reading file &lt;file&gt;</span>
+<span class="go">DEBUG - Processing with Jinja2</span>
+<span class="go">DEBUG - Hello World!</span>
+<span class="go">...</span>
+<span class="go">Valid for cylc-&lt;version&gt;</span>
+</pre></div>
+</div>
+<p>Log messages will appear whenever the workflow configuration is loaded so it is
+advisable to use the <code class="docutils literal notranslate"><span class="pre">DEBUG</span></code> logging level which is suppressed unless the
+<code class="docutils literal notranslate"><span class="pre">--debug</span></code> option is provided.</p>
+</section>
+<section id="debugging">
+<h2>Debugging<a class="headerlink" href="#debugging" title="Link to this heading"></a></h2>
+<p>It is possible to run Python debuggers from within Jinja2 via the
+<a class="reference internal" href="#jinja2-importing-python-modules"><span class="std std-ref">import mechanism</span></a>.</p>
+<p>For example to use a <a class="reference external" href="https://docs.python.org/3/library/pdb.html">PDB</a> breakpoint you could do the following:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="ch">#!Jinja2</span>
+
+<span class="cp">{% set ANSWER = 42 %}</span>
+
+<span class="cp">{% from &quot;pdb&quot; import set_trace %}</span>
+<span class="cp">{% do set_trace() %}</span>
+</pre></div>
+</div>
+<p>The debugger will open within the Jinja2 code, local variables can be accessed
+via the <code class="docutils literal notranslate"><span class="pre">_Context__self</span></code> variable e.g:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>validate<span class="w"> </span>&lt;id&gt;
+<span class="gp gp-VirtualEnv">(Pdb)</span> <span class="go">_Context__self[&#39;ANSWER&#39;]</span>
+<span class="go">42</span>
+</pre></div>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="parameterized-tasks.html" class="btn btn-neutral float-left" title="Task Parameters" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="empy.html" class="btn btn-neutral float-right" title="EmPy" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/writing-workflows/jinja2";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/writing-workflows/parameterized-tasks.html b/nightly_8.3/html/user-guide/writing-workflows/parameterized-tasks.html
new file mode 100644
index 00000000000..2fb94e1d6ce
--- /dev/null
+++ b/nightly_8.3/html/user-guide/writing-workflows/parameterized-tasks.html
@@ -0,0 +1,715 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Task Parameters &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Jinja2" href="jinja2.html" />
+    <link rel="prev" title="Task Configuration" href="runtime.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Writing Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="configuration.html">Workflow Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="runtime.html">Task Configuration</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Task Parameters</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#parameter-expansion">Parameter Expansion</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#passing-values-to-tasks">Passing Values To Tasks</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#selecting-specific-values">Selecting Specific Values</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#selecting-partial-ranges">Selecting Partial Ranges</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#offsets-in-the-graph">Offsets in the Graph</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#task-families-and-parameters">Task Families and Parameters</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#parameterized-cycling">Parameterized Cycling</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="jinja2.html">Jinja2</a></li>
+<li class="toctree-l3"><a class="reference internal" href="empy.html">EmPy</a></li>
+<li class="toctree-l3"><a class="reference internal" href="external-triggers.html">External Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Suicide Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler.html">Scheduler Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Writing Workflows</a></li>
+      <li class="breadcrumb-item active">Task Parameters</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/writing-workflows/parameterized-tasks.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="task-parameters">
+<span id="user-guide-param"></span><h1>Task Parameters<a class="headerlink" href="#task-parameters" title="Link to this heading"></a></h1>
+<p>Cylc can automatically generate related tasks and dependencies by expanding
+<a class="reference internal" href="../../glossary.html#term-parameterization"><span class="xref std std-term">parameterized</span></a> names over lists or ranges of
+values. Uses for this include:</p>
+<ul class="simple">
+<li><p>Generating an ensemble of similar model runs</p></li>
+<li><p>Generating chains of tasks to process similar datasets</p></li>
+<li><p>Replicating an entire workflow, or part thereof, over several runs</p></li>
+<li><p>Splitting a long model run into smaller chunks</p></li>
+<li><p>Parameterized cycling</p></li>
+</ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Cylc supports use of <a class="reference internal" href="jinja2.html#user-guide-jinja2"><span class="std std-ref">Jinja2</span></a> and <a class="reference internal" href="empy.html#user-guide-empy"><span class="std std-ref">Empy</span></a> templating for programmatic generation of workflow
+configurations. The built-in parameterization system described here
+is a cleaner and easier alternative <em>for generating tasks and families
+over a range of parameters</em>, but unlike general templating it can only be
+used for that specific purpose.</p>
+</div>
+<section id="parameter-expansion">
+<h2>Parameter Expansion<a class="headerlink" href="#parameter-expansion" title="Link to this heading"></a></h2>
+<p>Parameter values can be lists of strings, or lists of integers and
+integer ranges (with inclusive bounds). Numeric values in a list of strings are
+considered strings. It is not possible to mix strings with integer ranges.</p>
+<p>For example:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+    <span class="c1"># parameters: &quot;ship&quot;, &quot;buoy&quot;, &quot;plane&quot;</span>
+    <span class="c1"># default task suffixes: _ship, _buoy, _plane</span>
+    <span class="nv">obs </span><span class="o">=</span><span class="s"> ship, buoy, plane</span>
+
+    <span class="c1"># parameters: 1, 2, 3, 4, 5</span>
+    <span class="c1"># default task suffixes: _run1, _run2, _run3, _run4, _run5</span>
+    <span class="nv">run </span><span class="o">=</span><span class="s"> 1..5</span>
+
+    <span class="c1"># parameters: 1, 3, 5, 7, 9</span>
+    <span class="c1"># default task suffixes: _idx1, _idx3, _idx5, _idx7, _idx9</span>
+    <span class="nv">idx </span><span class="o">=</span><span class="s"> 1..9..2</span>
+
+    <span class="c1"># parameters: -11, -1, 9</span>
+    <span class="c1"># default task suffixes: _idx-11, _idx-01, _idx+09</span>
+    <span class="nv">idx </span><span class="o">=</span><span class="s"> -11..9..10</span>
+
+    <span class="c1"># parameters: 1, 3, 5, 10, 11, 12, 13</span>
+    <span class="c1"># default task suffixes: _i01, _i03, _i05, _i10, _i11, _i12, _i13</span>
+    <span class="nv">i </span><span class="o">=</span><span class="s"> 1..5..2, 10, 11..13</span>
+
+    <span class="c1"># parameters: &quot;0&quot;, &quot;1&quot;, &quot;e&quot;, &quot;pi&quot;, &quot;i&quot;</span>
+    <span class="c1"># default task suffixes: _0, _1, _e, _pi, _i</span>
+    <span class="nv">item </span><span class="o">=</span><span class="s"> 0, 1, e, pi, i</span>
+
+    <span class="c1"># ERROR: mix strings with int range</span>
+    <span class="nv">p </span><span class="o">=</span><span class="s"> one, two, 3..5</span>
+</pre></div>
+</div>
+<p>Then angle brackets denote use of these parameters throughout the workflow
+configuration. For the values above, this parameterized name:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>model<span class="s">&lt;run&gt;</span>  <span class="c"># for run = 1..5</span>
+</pre></div>
+</div>
+<p>expands to these concrete task names:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>model_run1, model_run2, model_run3, model_run4, model_run5
+</pre></div>
+</div>
+<p>and this parameterized name:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>proc<span class="s">&lt;obs&gt;</span>  <span class="c"># for obs = ship, buoy, plane</span>
+</pre></div>
+</div>
+<p>expands to these concrete task names:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>proc_ship, proc_buoy, proc_plane
+</pre></div>
+</div>
+<p>By default, to avoid any ambiguity, the parameter name appears in the expanded
+task names for integer values, but not for string values. For example,
+<code class="docutils literal notranslate"><span class="pre">model_run1</span></code> for <code class="docutils literal notranslate"><span class="pre">run</span> <span class="pre">=</span> <span class="pre">1</span></code>, but <code class="docutils literal notranslate"><span class="pre">proc_ship</span></code> for
+<code class="docutils literal notranslate"><span class="pre">obs</span> <span class="pre">=</span> <span class="pre">ship</span></code>. However, the default expansion templates can be
+overridden if need be:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+    <span class="nv">obs </span><span class="o">=</span><span class="s"> ship, buoy, plane</span>
+    <span class="nv">run </span><span class="o">=</span><span class="s"> 1..5</span>
+    <span class="nt">[[templates]]</span>
+        <span class="nv">run </span><span class="o">=</span><span class="s"> -R%(run)s</span>  <span class="c1"># Make foo&lt;run&gt; expand to foo-R1 etc.</span>
+</pre></div>
+</div>
+<p>See <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[task parameters][templates]" title="flow.cylc[task parameters][templates]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[task</span> <span class="pre">parameters][templates]</span></code></a> for more on the string
+template syntax.</p>
+<p>Any number of parameters can be used at once. This parameterization:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>model<span class="s">&lt;run,obs&gt;</span>  <span class="c"># for run = 1..2 and obs = ship, buoy, plane</span>
+model<span class="s">&lt;run&gt;&lt;obs&gt;</span> <span class="c"># Alternatively, from Cylc 8.2.0</span>
+</pre></div>
+</div>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.2.0: </span>From this version you can also use the equivalent <code class="docutils literal notranslate"><span class="pre">model&lt;run&gt;&lt;obs&gt;</span></code>
+syntax. This allows more flexibility in templating: You can now construct
+names like <code class="docutils literal notranslate"><span class="pre">beginning&lt;run&gt;middle&lt;obs&gt;end</span></code>.</p>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Before Cylc 8.2.0 this syntax worked in many cases, but was
+not formally supported, and failed if used in the names of
+<a class="reference internal" href="#families-and-parameters"><span class="std std-ref">families</span></a>.</p>
+</div>
+<p>expands to these tasks names:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>model_run1_ship, model_run1_buoy, model_run1_plane,
+model_run2_ship, model_run2_buoy, model_run2_plane
+</pre></div>
+</div>
+<p>Here’s a simple but complete example workflow:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+        <span class="nv">run </span><span class="o">=</span><span class="s"> 1..2</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = &quot;prep </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">model</span>&lt;<span class="nb">run</span>&gt;<span class="c">&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[model</span>&lt;<span class="nb">run</span>&gt;<span class="nt">]]</span>
+        <span class="c1"># ...</span>
+</pre></div>
+</div>
+<p>The result, post parameter expansion, is this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = &quot;prep </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">model_run1</span> <span class="o">&amp;</span> <span class="kd">model_run2</span><span class="c">&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[model_run1]]</span>
+        <span class="c1"># ...</span>
+    <span class="nt">[[model_run2]]</span>
+        <span class="c1"># ...</span>
+</pre></div>
+</div>
+<p>Here’s a more complex graph using two parameters (<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime]" title="flow.cylc[runtime]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime]</span></code></a>
+omitted):</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+        <span class="nv">run </span><span class="o">=</span><span class="s"> 1..2</span>
+        <span class="nv">mem </span><span class="o">=</span><span class="s"> cat, dog</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">prep</span> <span class="o">=&gt;</span> <span class="kd">init</span>&lt;<span class="nb">run</span>&gt; <span class="o">=&gt;</span> <span class="kd">model</span>&lt;<span class="nb">run,mem</span>&gt; <span class="o">=&gt;</span>
+            <span class="kd">post</span>&lt;<span class="nb">run,mem</span>&gt; <span class="o">=&gt;</span> <span class="kd">wrap</span>&lt;<span class="nb">run</span>&gt; <span class="o">=&gt;</span> <span class="kd">done</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>The result as visualized by <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span></code> is:</p>
+<figure class="align-center" id="id4">
+<span id="fig-params-1"></span><img alt="../../_images/params1.png" src="../../_images/params1.png" />
+<figcaption>
+<p><span class="caption-text">Parameter expansion example.</span><a class="headerlink" href="#id4" title="Link to this image"></a></p>
+</figcaption>
+</figure>
+<section id="zero-padded-integer-values">
+<h3>Zero-Padded Integer Values<a class="headerlink" href="#zero-padded-integer-values" title="Link to this heading"></a></h3>
+<p>Integer parameter values are given a default template for generating task
+suffixes that are zero-padded according to the longest size of their values.
+For example, the default template for <code class="docutils literal notranslate"><span class="pre">p</span> <span class="pre">=</span> <span class="pre">9..10</span></code> would be
+<code class="docutils literal notranslate"><span class="pre">_p%(p)02d</span></code>, so that <code class="docutils literal notranslate"><span class="pre">foo&lt;p&gt;</span></code> would become <code class="docutils literal notranslate"><span class="pre">foo_p09,</span> <span class="pre">foo_p10</span></code>.
+If negative values are present in the parameter list, the
+default template will include the sign.
+For example, the default template for <code class="docutils literal notranslate"><span class="pre">p</span> <span class="pre">=</span> <span class="pre">-1..1</span></code> would be
+<code class="docutils literal notranslate"><span class="pre">_p%(p)+02d</span></code>, so that <code class="docutils literal notranslate"><span class="pre">foo&lt;p&gt;</span></code> would become
+<code class="docutils literal notranslate"><span class="pre">foo_p-1,</span> <span class="pre">foo_p+0,</span> <span class="pre">foo_p+1</span></code>.</p>
+<p>To get thicker padding and/or alternate suffixes, use a template. E.g.:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+    <span class="nv">i </span><span class="o">=</span><span class="s"> 1..9</span>
+    <span class="nv">p </span><span class="o">=</span><span class="s"> 3..14</span>
+    <span class="nt">[[templates]]</span>
+        <span class="nv">i </span><span class="o">=</span><span class="s"> _i%(i)02d</span>  <span class="c1"># suffixes = _i01, _i02, ..., _i09</span>
+        <span class="c1"># A double-percent gives a literal percent character</span>
+        <span class="nv">p </span><span class="o">=</span><span class="s"> %%p%(p)03d</span>  <span class="c1"># suffixes = %p003, %p004, ..., %p013, %p014</span>
+</pre></div>
+</div>
+</section>
+<section id="parameters-as-full-task-names">
+<h3>Parameters as Full Task Names<a class="headerlink" href="#parameters-as-full-task-names" title="Link to this heading"></a></h3>
+<p>Parameter values can be used as full task names, but the default template
+should be overridden to remove the initial underscore. For example:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+    <span class="nv">i </span><span class="o">=</span><span class="s"> 1..4</span>
+    <span class="nv">obs </span><span class="o">=</span><span class="s"> ship, buoy, plane</span>
+    <span class="nt">[[templates]]</span>
+        <span class="nv">i </span><span class="o">=</span><span class="s"> i%(i)d</span>  <span class="c1"># task name must begin with an alphabet</span>
+        <span class="nv">obs </span><span class="o">=</span><span class="s"> %(obs)s</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">foo</span> <span class="o">=&gt;</span> &lt;<span class="nb">i</span>&gt;  <span class="c1"># foo =&gt; i1 &amp; i2 &amp; i3 &amp; i4</span>
+            &lt;<span class="nb">obs</span>&gt; <span class="o">=&gt;</span> <span class="kd">bar</span>  <span class="c1"># ship &amp; buoy &amp; plane =&gt; bar</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</section>
+</section>
+<section id="passing-values-to-tasks">
+<h2>Passing Values To Tasks<a class="headerlink" href="#passing-values-to-tasks" title="Link to this heading"></a></h2>
+<p>Parameter values are passed as environment variables to tasks generated by
+parameter expansion. For example, if we have:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+        <span class="nv">obs </span><span class="o">=</span><span class="s"> ship, buoy, plane</span>
+        <span class="nv">run </span><span class="o">=</span><span class="s"> 1..5</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="kd">model</span>&lt;<span class="nb">run,obs</span>&gt;
+</pre></div>
+</div>
+<p>Then task <code class="docutils literal notranslate"><span class="pre">model_run2_ship</span></code> would get the following standard
+environment variables:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># In a job script of an instance of the &quot;model_run2_ship&quot; task:</span>
+<span class="nb">export</span><span class="w"> </span><span class="nv">CYLC_TASK_PARAM_run</span><span class="o">=</span><span class="s2">&quot;2&quot;</span>
+<span class="nb">export</span><span class="w"> </span><span class="nv">CYLC_TASK_PARAM_obs</span><span class="o">=</span><span class="s2">&quot;ship&quot;</span>
+</pre></div>
+</div>
+<p>These variables allow tasks to determine which member of a parameterized
+group they are, and so to vary their behaviour accordingly.</p>
+<p>You can also define custom variables and string templates for parameter value
+substitution. For example, if we add this to the above configuration:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[model</span>&lt;<span class="nb">run,obs</span>&gt;<span class="nt">]]</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">MYNAME </span><span class="o">=</span><span class="s"> %(obs)sy-mc%(obs)sface</span>
+            <span class="nv">MYFILE </span><span class="o">=</span><span class="s"> /path/to/run%(run)03d/%(obs)s</span>
+</pre></div>
+</div>
+<p>Then task <code class="docutils literal notranslate"><span class="pre">model_run2_ship</span></code> would get the following custom
+environment variables:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="c1"># In a job script of an instance of the &quot;model_run2_ship&quot; task:</span>
+<span class="nb">export</span><span class="w"> </span><span class="nv">MYNAME</span><span class="o">=</span>shipy-mcshipface
+<span class="nb">export</span><span class="w"> </span><span class="nv">MYFILE</span><span class="o">=</span>/path/to/run002/ship
+</pre></div>
+</div>
+</section>
+<section id="selecting-specific-values">
+<h2>Selecting Specific Values<a class="headerlink" href="#selecting-specific-values" title="Link to this heading"></a></h2>
+<p>Specific parameter values can be singled out in the graph and under
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime]" title="flow.cylc[runtime]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime]</span></code></a> with the notation <code class="docutils literal notranslate"><span class="pre">&lt;p=5&gt;</span></code> (for example).
+Here’s how to make a special task trigger off just the first of a
+set of model runs:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+        <span class="nv">run </span><span class="o">=</span><span class="s"> 1..5</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">model</span>&lt;<span class="nb">run</span>&gt; <span class="o">=&gt;</span> <span class="kd">post_proc</span>&lt;<span class="nb">run</span>&gt;  <span class="c1"># general case</span>
+            <span class="kd">model</span>&lt;<span class="nb">run=1</span>&gt; <span class="o">=&gt;</span> <span class="kd">check_first_run</span>  <span class="c1"># special case</span>
+         <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[model</span>&lt;<span class="nb">run</span>&gt;<span class="nt">]]</span>
+        <span class="c1"># config for all &quot;model&quot; runs...</span>
+    <span class="nt">[[model</span>&lt;<span class="nb">run=1</span>&gt;<span class="nt">]]</span>
+        <span class="c1"># special config (if any) for the first model run...</span>
+    <span class="c1">#...</span>
+</pre></div>
+</div>
+</section>
+<section id="selecting-partial-ranges">
+<h2>Selecting Partial Ranges<a class="headerlink" href="#selecting-partial-ranges" title="Link to this heading"></a></h2>
+<p>The parameter notation does not currently support partial range selection such
+as <code class="docutils literal notranslate"><span class="pre">foo&lt;p=5..10&gt;</span></code>, but you can achieve the same result by defining a
+second parameter that covers the partial range and giving it the same expansion
+template as the full-range parameter. For example:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+    <span class="nv">run </span><span class="o">=</span><span class="s"> 1..10</span>  <span class="c1"># 1, 2, ..., 10</span>
+    <span class="nv">runx </span><span class="o">=</span><span class="s"> 1..3</span>  <span class="c1"># 1, 2, 3</span>
+    <span class="nt">[[parameter templates]]</span>
+        <span class="nv">run </span><span class="o">=</span><span class="s"> _R%(run)02d</span>   <span class="c1"># _R01, _R02, ..., _R10</span>
+        <span class="nv">runx </span><span class="o">=</span><span class="s"> _R%(runx)02d</span>  <span class="c1"># _R01, _R02, _R03</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span><span class="kd">model</span>&lt;<span class="nb">run</span>&gt; <span class="o">=&gt;</span> <span class="kd">post</span>&lt;<span class="nb">run</span>&gt;
+                <span class="kd">model</span>&lt;<span class="nb">runx</span>&gt; <span class="o">=&gt;</span> <span class="kd">checkx</span>&lt;<span class="nb">runx</span>&gt;<span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[model</span>&lt;<span class="nb">run</span>&gt;<span class="nt">]]</span>
+        <span class="c1"># ...</span>
+    <span class="c1">#...</span>
+</pre></div>
+</div>
+</section>
+<section id="offsets-in-the-graph">
+<h2>Offsets in the Graph<a class="headerlink" href="#offsets-in-the-graph" title="Link to this heading"></a></h2>
+<p>A negative offset notation <code class="docutils literal notranslate"><span class="pre">&lt;NAME-1&gt;</span></code> is interpreted as the previous
+value in the ordered list of parameter values, while a positive offset is
+interpreted as the next value. For example, to split a model run into multiple
+steps with each step depending on the previous one, either of these graph lines:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">model</span>&lt;<span class="nb">run-1</span>&gt; <span class="o">=&gt;</span> <span class="kd">model</span>&lt;<span class="nb">run</span>&gt;  <span class="c1"># for run = 1, 2, 3</span>
+<span class="kd">model</span>&lt;<span class="nb">run</span>&gt; <span class="o">=&gt;</span> <span class="kd">model</span>&lt;<span class="nb">run+1</span>&gt;  <span class="c1"># for run = 1, 2, 3</span>
+</pre></div>
+</div>
+<p>expands to:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">model_run1</span> <span class="o">=&gt;</span> <span class="kd">model_run2</span>
+<span class="kd">model_run2</span> <span class="o">=&gt;</span> <span class="kd">model_run3</span>
+
+<span class="c1"># or equivalently:</span>
+
+<span class="kd">model_run1</span> <span class="o">=&gt;</span> <span class="kd">model_run2</span> <span class="o">=&gt;</span> <span class="kd">model_run3</span>
+</pre></div>
+</div>
+<p>And this graph:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">proc</span>&lt;<span class="nb">size-1</span>&gt; <span class="o">=&gt;</span> <span class="kd">proc</span>&lt;<span class="nb">size</span>&gt;  <span class="c1"># for size = small, big, huge</span>
+</pre></div>
+</div>
+<p>expands to:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">proc_small</span> <span class="o">=&gt;</span> <span class="kd">proc_big</span>
+<span class="kd">proc_big</span> <span class="o">=&gt;</span> <span class="kd">proc_huge</span>
+
+<span class="c1"># or equivalently:</span>
+
+<span class="kd">proc_small</span> <span class="o">=&gt;</span> <span class="kd">proc_big</span> <span class="o">=&gt;</span> <span class="kd">proc_huge</span>
+</pre></div>
+</div>
+</section>
+<section id="task-families-and-parameters">
+<span id="families-and-parameters"></span><h2>Task Families and Parameters<a class="headerlink" href="#task-families-and-parameters" title="Link to this heading"></a></h2>
+<p>Task family members can be generated by parameter expansion:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[FAM]]</span>
+    <span class="nt">[[member</span>&lt;<span class="nb">r</span>&gt;<span class="nt">]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> FAM</span>
+<span class="c1"># Result: family FAM contains member_r1, member_r2, etc.</span>
+</pre></div>
+</div>
+<p>Family names can be parameterized too, just like task names:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[RUN</span>&lt;<span class="nb">r</span>&gt;<span class="nt">]]</span>
+    <span class="nt">[[model</span>&lt;<span class="nb">r</span>&gt;<span class="nt">]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> RUN&lt;r&gt;</span>
+    <span class="nt">[[post_proc</span>&lt;<span class="nb">r</span>&gt;<span class="nt">]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> RUN&lt;r&gt;</span>
+<span class="c1"># Result: family RUN_r1 contains model_r1 and post_proc_r1,</span>
+<span class="c1">#         family RUN_r2 contains model_r2 and post_proc_r1, etc.</span>
+</pre></div>
+</div>
+<p>As described in <a class="reference internal" href="scheduling.html#familytriggers"><span class="std std-ref">Family Triggers</span></a> family names can be used to
+trigger all members at once:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">FAMILY</span>
+</pre></div>
+</div>
+<p>or to trigger off all members:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">FAMILY</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">all</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+</pre></div>
+</div>
+<p>or to trigger off any members:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">FAMILY</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">any</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+</pre></div>
+</div>
+<p>If the members of <code class="docutils literal notranslate"><span class="pre">FAMILY</span></code> were generated with parameters, you can
+also trigger them all at once with parameter notation:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">member</span>&lt;<span class="nb">m</span>&gt;
+</pre></div>
+</div>
+<p>Similarly, to trigger off all members:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">member</span>&lt;<span class="nb">m</span>&gt; <span class="o">=&gt;</span> <span class="kd">bar</span>
+<span class="c1"># (member&lt;m&gt;:fail etc., for other trigger types)</span>
+</pre></div>
+</div>
+<p>Family names are still needed in the graph, however, to succinctly express
+“succeed-any” triggering semantics, and all-to-all or any-to-all triggering:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">FAM1</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">any</span> <span class="o">=&gt;</span> <span class="kd">FAM2</span>
+</pre></div>
+</div>
+<p>(Direct all-to-all and any-to-all family triggering is not recommended for
+efficiency reasons though - see <a class="reference internal" href="scheduling.html#efficientinterfamilytriggering"><span class="std std-ref">Efficient Inter-Family Triggering</span></a>).</p>
+<p>For family <em>member-to-member</em> triggering use parameterized members.
+For example, if family <code class="docutils literal notranslate"><span class="pre">OBS_GET</span></code> has members <code class="docutils literal notranslate"><span class="pre">get&lt;obs&gt;</span></code> and
+family <code class="docutils literal notranslate"><span class="pre">OBS_PROC</span></code> has members <code class="docutils literal notranslate"><span class="pre">proc&lt;obs&gt;</span></code> then this graph:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">get</span>&lt;<span class="nb">obs</span>&gt; <span class="o">=&gt;</span> <span class="kd">proc</span>&lt;<span class="nb">obs</span>&gt;  <span class="c1"># for obs = ship, buoy, plane</span>
+</pre></div>
+</div>
+<p>expands to:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">get_ship</span> <span class="o">=&gt;</span> <span class="kd">proc_ship</span>
+<span class="kd">get_buoy</span> <span class="o">=&gt;</span> <span class="kd">proc_buoy</span>
+<span class="kd">get_plane</span> <span class="o">=&gt;</span> <span class="kd">proc_plane</span>
+</pre></div>
+</div>
+</section>
+<section id="parameterized-cycling">
+<span id="id1"></span><h2>Parameterized Cycling<a class="headerlink" href="#parameterized-cycling" title="Link to this heading"></a></h2>
+<p>For smaller workflows of finite duration, parameter expansion can be used to
+generate a sequence of pre-defined tasks as a proxy for cycling.</p>
+<p>Here’s a cycling workflow of two-monthly model runs for one year, with
+previous-instance model dependence:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2020-01</span>
+    <span class="nv">final cycle point </span><span class="o">=</span><span class="s"> 2020-12</span>
+    <span class="nt">[[graph]]</span>
+        <span class="c1"># Run once, at the initial point.</span>
+        <span class="nv">R1 = &quot;prep </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">model</span><span class="c">&quot;</span>
+        <span class="c1"># Run at 2-month intervals between the initial and final points.</span>
+        <span class="nv">P2M = &quot;model[-P2M] =&gt; model </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">post_proc</span> <span class="o">&amp;</span> <span class="kd">archive</span><span class="c">&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[model]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> &quot;run-model $CYLC_TASK_CYCLE_POINT&quot;</span>
+</pre></div>
+</div>
+<p>And here’s how to do the same thing with parameterized tasks instead of cycling:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+    <span class="nv">chunk </span><span class="o">=</span><span class="s"> 1..6</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">prep</span> <span class="o">=&gt;</span> <span class="kd">model</span>&lt;<span class="nb">chunk=1</span>&gt;
+            <span class="kd">model</span>&lt;<span class="nb">chunk-1</span>&gt; <span class="o">=&gt;</span> <span class="kd">model</span>&lt;<span class="nb">chunk</span>&gt; <span class="o">=&gt;</span>
+            <span class="kd">post_proc</span>&lt;<span class="nb">chunk</span>&gt; <span class="o">&amp;</span> <span class="kd">archive</span>&lt;<span class="nb">chunk</span>&gt;
+         <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[model</span>&lt;<span class="nb">chunk</span>&gt;<span class="nt">]]</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="c1"># Compute start date from chunk index and interval.</span>
+<span class="s2">            INITIAL_POINT=2020-01</span>
+<span class="s2">            INTERVAL_MONTHS=2</span>
+<span class="s2">            OFFSET_MONTHS=(( (CYLC_TASK_PARAM_chunk - 1)*INTERVAL_MONTHS ))</span>
+<span class="s2">            OFFSET=P${OFFSET_MONTHS}M</span>  <span class="c1"># e.g. P4M for chunk=3</span>
+            <span class="c1"># Run the model.</span>
+<span class="s2">            run-model $(cylc cyclepoint --offset=$OFFSET $INITIAL_POINT)</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>The two workflows achieve the same result, and both can include special
+behaviour at the start, end, or anywhere in between.</p>
+<figure class="align-center">
+<img alt="../../_images/eg2-static.png" src="../../_images/eg2-static.png" />
+</figure>
+<figure class="align-center" id="id5">
+<span id="fig-eg2"></span><img alt="../../_images/eg2-dynamic.png" src="../../_images/eg2-dynamic.png" />
+<figcaption>
+<p><span class="caption-text">Parameterized (top) and cycling (bottom) versions of the same
+workflow. The first three cycle points are shown in the
+cycling case. The parameterized case does not have cycle points (technically
+all of its tasks have the cycle point 1).</span><a class="headerlink" href="#id5" title="Link to this image"></a></p>
+</figcaption>
+</figure>
+<p>The parameterized version has several disadvantages, however:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p>The workflow must be finite in extent and not too large because every
+parameterized task generates a new task definition</p>
+<ul>
+<li><p>(In a cycling workflow a single task definition acts as a template for
+all cycle point instances of a task)</p></li>
+</ul>
+</li>
+<li><p>Datetime arithmetic has to be done manually</p>
+<ul>
+<li><p>(This doesn’t apply if it’s not a datetime sequence; parameterized
+integer cycling is straightforward.)</p></li>
+</ul>
+</li>
+</ul>
+</div></blockquote>
+<section id="parameterized-sub-cycles">
+<h3>Parameterized Sub-Cycles<a class="headerlink" href="#parameterized-sub-cycles" title="Link to this heading"></a></h3>
+<p>A workflow can have multiple main cycling sequences, but sub-cycles within each
+main cycle point have to be parameterized. A typical use case for this is
+incremental processing of files generated sequentially during a long model run.</p>
+<p>Here’s a workflow that uses parameters to split a long model run in each
+datetime cycle point into four smaller runs:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+    <span class="nv">chunk </span><span class="o">=</span><span class="s"> 1..4</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2020-01</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P1Y </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">model</span>&lt;<span class="nb">chunk-1</span>&gt; <span class="o">=&gt;</span> <span class="kd">model</span>&lt;<span class="nb">chunk</span>&gt;
+            <span class="kd">model</span>&lt;<span class="nb">chunk=4</span>&gt;[<span class="nb">-P1Y</span>] <span class="o">=&gt;</span> <span class="kd">model</span>&lt;<span class="nb">chunk=1</span>&gt;
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>The intercycle trigger connects the first chunk in each cycle point to the
+last chunk in the previous cycle point. However, in this particular case it
+might be simpler to use a 3-monthly datetime cycle instead:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2020-01</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P3M = &quot;model[-P3M] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">model</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>For another example, here task <code class="docutils literal notranslate"><span class="pre">model</span></code> generates 10 files in sequence as it
+runs. Task <code class="docutils literal notranslate"><span class="pre">proc_file0</span></code> triggers when the model starts running, to wait for
+and process the first file; when that is done, <code class="docutils literal notranslate"><span class="pre">proc_file1</span></code> triggers to wait
+for the second file; and so on.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[task parameters]</span>
+    <span class="nv">file </span><span class="o">=</span><span class="s"> 0..9</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2020-01</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P1Y </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">model</span><span class="c">:</span><span class="kd">start</span> <span class="o">=&gt;</span> <span class="kd">proc</span>&lt;<span class="nb">file=0</span>&gt;
+            <span class="kd">proc</span>&lt;<span class="nb">file-1</span>&gt; <span class="o">=&gt;</span> <span class="kd">proc</span>&lt;<span class="nb">file</span>&gt;
+            <span class="kd">proc</span>&lt;<span class="nb">file=9</span>&gt; <span class="o">=&gt;</span> <span class="kd">upload_products</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[proc</span>&lt;<span class="nb">file</span>&gt;<span class="nt">]]</span>
+    <span class="c1"># ...</span>
+</pre></div>
+</div>
+</section>
+<section id="offsets-at-sequence-start">
+<h3>Offsets at Sequence Start<a class="headerlink" href="#offsets-at-sequence-start" title="Link to this heading"></a></h3>
+<p>In cycling workflows, dependence on tasks prior to the start cycle point is
+ignored <a class="footnote-reference brackets" href="#id3" id="id2" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a>. So this graph:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">P1D </span><span class="o">=</span><span class="s"> &quot;model[-P1D] =&gt; model&quot;</span>
+</pre></div>
+</div>
+<p>simplifies at the initial cycle point to this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">P1D </span><span class="o">=</span><span class="s"> &quot;model&quot;</span>
+</pre></div>
+</div>
+<p>(Note this is a convenient way to bootstrap into an infinite cycle, but special
+behaviour at the start point can be configured explicitly if desired).</p>
+<p>Similarly, parameter offsets that go out of range are ignored. So this graph:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># for chunk = 1..4</span>
+<span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;model&lt;chunk-1&gt; =&gt; model&lt;chunk&gt;&quot;</span>
+</pre></div>
+</div>
+<p>simplifies for <code class="docutils literal notranslate"><span class="pre">chunk=1</span></code> to this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;model_chunk0&quot;</span>
+</pre></div>
+</div>
+<aside class="footnote-list brackets">
+<aside class="footnote brackets" id="id3" role="doc-footnote">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id2">1</a><span class="fn-bracket">]</span></span>
+<p>Currently this only applies to the unique workflow start cycle point, so
+it may be easier to use parameterized cycling if you have multiple
+(finite) sequences starting at different points. We plan to extend this
+convenience to all sequences regardless of start point, but use will be
+optional because delayed-start cycling tasks may need to trigger off of
+earlier cycles.</p>
+</aside>
+</aside>
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="runtime.html" class="btn btn-neutral float-left" title="Task Configuration" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="jinja2.html" class="btn btn-neutral float-right" title="Jinja2" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/writing-workflows/parameterized-tasks";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/writing-workflows/runtime.html b/nightly_8.3/html/user-guide/writing-workflows/runtime.html
new file mode 100644
index 00000000000..dee569f41c0
--- /dev/null
+++ b/nightly_8.3/html/user-guide/writing-workflows/runtime.html
@@ -0,0 +1,1153 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Task Configuration &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Task Parameters" href="parameterized-tasks.html" />
+    <link rel="prev" title="Scheduling Configuration" href="scheduling.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Writing Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="configuration.html">Workflow Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Configuration</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Task Configuration</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#task-and-family-names">Task and Family Names</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#the-root-family">The Root Family</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#defining-multiple-tasks-or-families-at-once">Defining Multiple Tasks or Families at Once</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#families-of-families">Families of Families</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#inheriting-from-multiple-parents">Inheriting from Multiple Parents</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#job-environment">Job Environment</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#remote-task-hosting">Remote Task Hosting</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#implicit-tasks">Implicit Tasks</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#task-retry-on-failure">Task Retry On Failure</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#task-event-handling">Task Event Handling</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="parameterized-tasks.html">Task Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="jinja2.html">Jinja2</a></li>
+<li class="toctree-l3"><a class="reference internal" href="empy.html">EmPy</a></li>
+<li class="toctree-l3"><a class="reference internal" href="external-triggers.html">External Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Suicide Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler.html">Scheduler Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Writing Workflows</a></li>
+      <li class="breadcrumb-item active">Task Configuration</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/writing-workflows/runtime.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="task-configuration">
+<span id="user-guide-runtime"></span><h1>Task Configuration<a class="headerlink" href="#task-configuration" title="Link to this heading"></a></h1>
+<div class="tip tutorial-ref admonition">
+<p class="admonition-title">Related Tutorial</p>
+<p><a class="reference internal" href="../../tutorial/runtime/index.html#tutorial-runtime"><span class="std std-ref">Runtime Tutorial</span></a></p>
+</div>
+<p>The <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime]" title="flow.cylc[runtime]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime]</span></code></a> section of the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file
+defines what job each <a class="reference internal" href="../../glossary.html#term-task"><span class="xref std std-term">task</span></a> should run, and where and how to
+submit each one to run.</p>
+<p>It is an inheritance hierarchy that allows common settings to be factored
+out and defined once in task <a class="reference internal" href="../../glossary.html#term-family"><span class="xref std std-term">families</span></a> (duplication
+of configuration is a maintenance risk in a complex workflow).</p>
+<section id="task-and-family-names">
+<span id="namespace-names"></span><h2>Task and Family Names<a class="headerlink" href="#task-and-family-names" title="Link to this heading"></a></h2>
+<p>Task and family names must match in the graph and runtime sections of the
+workflow config file. They do not need to match the names of the external
+applications wrapped by the tasks.</p>
+<dl class="py class">
+<dt class="sig sig-object py" id="cylc.flow.unicode_rules.TaskNameValidator">
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">cylc.flow.unicode_rules.</span></span><span class="sig-name descname"><span class="pre">TaskNameValidator</span></span><a class="headerlink" href="#cylc.flow.unicode_rules.TaskNameValidator" title="Link to this definition"></a></dt>
+<dd><p>The rules for valid task and family names:</p>
+<ul class="simple">
+<li><p>must start with: alphanumeric</p></li>
+<li><p>can only contain: alphanumeric, <code class="docutils literal notranslate"><span class="pre">-</span></code>, <code class="docutils literal notranslate"><span class="pre">+</span></code>, <code class="docutils literal notranslate"><span class="pre">%</span></code>, <code class="docutils literal notranslate"><span class="pre">&#64;</span></code></p></li>
+<li><p>cannot start with: <code class="docutils literal notranslate"><span class="pre">_cylc</span></code></p></li>
+<li><p>cannot be: <code class="docutils literal notranslate"><span class="pre">root</span></code></p></li>
+</ul>
+</dd></dl>
+
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>At runtime, tasks can access their own workflow task name as
+<code class="docutils literal notranslate"><span class="pre">$CYLC_TASK_NAME</span></code> in the job environment <a class="reference internal" href="#taskexecutionenvironment"><span class="std std-ref">job environment</span></a> if needed.</p>
+</div>
+<p>The following runtime configuration defines one family called <code class="docutils literal notranslate"><span class="pre">FAM</span></code> and two
+member tasks <code class="docutils literal notranslate"><span class="pre">fm1</span></code> and <code class="docutils literal notranslate"><span class="pre">fm2</span></code> that inherit settings from it. Members can
+also override inherited settings and define their own private settings.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[FAM]]</span>  <span class="c1"># &lt;-- a family</span>
+        <span class="c1">#...  settings for all FAM members</span>
+
+    <span class="nt">[[fm1]]</span>  <span class="c1"># &lt;-- task</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> FAM</span>
+        <span class="c1">#...  fm1-specific settings</span>
+
+    <span class="nt">[[fm2]]</span>  <span class="c1"># &lt;-- a task</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> FAM</span>
+        <span class="c1">#...  fm2-specific settings</span>
+</pre></div>
+</div>
+<p>Note that families are not nested in terms of the file sub-heading structure. A
+runtime subsection defines a family if others inherit from it, otherwise
+it defines a task.</p>
+</section>
+<section id="the-root-family">
+<h2>The Root Family<a class="headerlink" href="#the-root-family" title="Link to this heading"></a></h2>
+<p>All tasks inherit implicitly from a family called <code class="docutils literal notranslate"><span class="pre">root</span></code> that can provide
+default settings for all tasks in the workflow (non-root families require an
+explicit <code class="docutils literal notranslate"><span class="pre">inherit</span></code> statement).</p>
+<p>For example, if all tasks are to run on the same platform, that could
+can be specified once for all tasks under <code class="docutils literal notranslate"><span class="pre">root</span></code>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="c1"># all tasks run on hpc1 (unless they override this setting)</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> hpc1</span>
+</pre></div>
+</div>
+</section>
+<section id="defining-multiple-tasks-or-families-at-once">
+<span id="multitaskdef"></span><h2>Defining Multiple Tasks or Families at Once<a class="headerlink" href="#defining-multiple-tasks-or-families-at-once" title="Link to this heading"></a></h2>
+<p>Runtime sub-section headings can be a comma-separated list of task or family
+names, in which case the settings below it apply to each list member.</p>
+<p>Here a group of three related tasks all run the same script on the same
+<a class="reference internal" href="../../glossary.html#term-platform"><span class="xref std std-term">platform</span></a>, but pass their own names to it on the command line:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[ENSEMBLE]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> hpc1</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> &quot;run-model.sh $CYLC_TASK_NAME&quot;</span>
+
+    <span class="nt">[[m1, m2, m3]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> ENSEMBLE</span>
+
+    <span class="nt">[[m1]]</span>
+        <span class="c1">#...  m1-specific settings</span>
+</pre></div>
+</div>
+<p>Particular tasks (such as <code class="docutils literal notranslate"><span class="pre">m1</span></code> above) can still be singled out to add
+task-specific settings.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><a class="reference internal" href="parameterized-tasks.html#user-guide-param"><span class="std std-ref">Task parameters</span></a> or template processing (see
+<a class="reference internal" href="jinja2.html#user-guide-jinja2"><span class="std std-ref">Jinja2</span></a> and <a class="reference internal" href="empy.html#user-guide-empy"><span class="std std-ref">EmPy</span></a>) can be used to
+programmatically generate family members and associated dependencies.</p>
+</div>
+</section>
+<section id="families-of-families">
+<h2>Families of Families<a class="headerlink" href="#families-of-families" title="Link to this heading"></a></h2>
+<p>Families can inherit from other families, to any depth.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[HPC1]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> hpc1</span>
+
+    <span class="nt">[[BIG-HPC1]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> HPC1</span>
+        <span class="c1">#...  add in high memory batch system directives</span>
+
+    <span class="nt">[[model]]</span>  <span class="c1"># a big task that runs on hpc1</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> BIG-HPC1</span>
+</pre></div>
+</div>
+<p>If the same item is defined (and redefined) at several levels in the family
+tree, the highest level (closest to the task) takes precedence.</p>
+</section>
+<section id="inheriting-from-multiple-parents">
+<h2>Inheriting from Multiple Parents<a class="headerlink" href="#inheriting-from-multiple-parents" title="Link to this heading"></a></h2>
+<p>Sometimes a multi-level single-parent tree is not sufficient to avoid all
+duplication of settings. Fortunately tasks can inherit from multiple parents at
+once <a class="footnote-reference brackets" href="#id4" id="id1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[HPC1]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> hpc1</span>
+
+    <span class="nt">[[BIG]]</span>  <span class="c1"># high memory batch system directives</span>
+        <span class="c1">#...</span>
+
+    <span class="nt">[[model]]</span>  <span class="c1"># a big task that runs on hpc1</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> BIG, HPC1</span>
+</pre></div>
+</div>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>Use <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span></code> to check exactly what settings a task or family ends up
+with after inheritance processing:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>config<span class="w"> </span>--item<span class="w"> </span><span class="s2">&quot;[runtime][model]environment&quot;</span><span class="w"> </span>&lt;workflow-id&gt;
+</pre></div>
+</div>
+</div>
+<section id="first-parent-family-hierarchy-for-visualization">
+<h3>First-parent Family Hierarchy for Visualization<a class="headerlink" href="#first-parent-family-hierarchy-for-visualization" title="Link to this heading"></a></h3>
+<p>Tasks can be collapsed into first-parent families in the Cylc GUI, so first
+parents should reflect the logical purpose of a task where possible, rather
+than (say) shared technical settings:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[HPC]]</span>
+        <span class="c1"># technical platform settings</span>
+
+    <span class="nt">[[MODEL]]</span>
+        <span class="c1"># atmospheric model tasks</span>
+
+    <span class="nt">[[atmos]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> MODEL, HPC</span>  <span class="c1"># (not HPC, MODEL)</span>
+</pre></div>
+</div>
+<p>If this is not what you want, given that the primary purpose of the family
+hierarchy is inheritance of runtime settings, a dummy first parent <code class="docutils literal notranslate"><span class="pre">None</span></code> can
+be used to disable the visualization usage without affecting inheritance:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[BAR]]</span>
+        <span class="c1">#...</span>
+    <span class="nt">[[foo]]</span>
+        <span class="c1"># inherit from BAR but stay under root for visualization</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> None, BAR</span>
+</pre></div>
+</div>
+</section>
+</section>
+<section id="job-environment">
+<span id="taskexecutionenvironment"></span><h2>Job Environment<a class="headerlink" href="#job-environment" title="Link to this heading"></a></h2>
+<p><a class="reference internal" href="../../glossary.html#term-job-script"><span class="xref std std-term">Job scripts</span></a> export various environment variables before
+running <code class="docutils literal notranslate"><span class="pre">script</span></code> blocks (see <a class="reference internal" href="../task-implementation/job-submission.html#taskjobsubmission"><span class="std std-ref">Job Submission and Management</span></a>).</p>
+<p>Scheduler-defined variables appear first to identify the workflow, the task,
+and log directory locations. These are followed by user-defined variables from
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][environment]" title="flow.cylc[runtime][&lt;namespace&gt;][environment]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][environment]</span></code></a>. Order of variable definition
+is preserved so that new variable assignments can reference previous ones.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Task environment variables are evaluated at runtime, by jobs, on the
+job platform. So <code class="docutils literal notranslate"><span class="pre">$HOME</span></code> in a task environment, for instance, evaluates at
+runtime to the home directory on the job platform, not on the scheduler
+platform.</p>
+</div>
+<p>In this example the task <code class="docutils literal notranslate"><span class="pre">foo</span></code> ends up with <code class="docutils literal notranslate"><span class="pre">SHAPE=circle</span></code>, <code class="docutils literal notranslate"><span class="pre">COLOR=blue</span></code>,
+and <code class="docutils literal notranslate"><span class="pre">TEXTURE=rough</span></code> in its environment:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">COLOR </span><span class="o">=</span><span class="s"> red</span>
+            <span class="nv">SHAPE </span><span class="o">=</span><span class="s"> circle</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">COLOR </span><span class="o">=</span><span class="s"> blue</span>  <span class="c1"># root override</span>
+            <span class="nv">TEXTURE </span><span class="o">=</span><span class="s"> rough</span> <span class="c1"># new variable</span>
+</pre></div>
+</div>
+<p>Job access to Cylc itself is configured first so that variable
+assignment expressions (as well as scripting) can use Cylc commands:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">REFERENCE_TIME </span><span class="o">=</span><span class="s"> $(cylc cyclepoint --offset-hours=6)</span>
+</pre></div>
+</div>
+<section id="overriding-inherited-environment-variables">
+<h3>Overriding Inherited Environment Variables<a class="headerlink" href="#overriding-inherited-environment-variables" title="Link to this heading"></a></h3>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>If you override an inherited task environment variable the parent config
+item gets <em>replaced</em> before it is ever used to define the shell variable in
+the <a class="reference internal" href="../../glossary.html#term-job-script"><span class="xref std std-term">job script</span></a>. Consequently the job cannot see the parent value as
+well as the task value:</p>
+</div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[FOO]]</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">COLOR </span><span class="o">=</span><span class="s"> red</span>
+    <span class="nt">[[bar]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> FOO</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">tmp </span><span class="o">=</span><span class="s"> $COLOR</span>  <span class="c1"># !! ERROR: $COLOR is undefined here</span>
+            <span class="nv">COLOR </span><span class="o">=</span><span class="s"> dark-$tmp</span>  <span class="c1"># !! as this overrides COLOR in FOO.</span>
+</pre></div>
+</div>
+<p>The compressed variant of this, <code class="docutils literal notranslate"><span class="pre">COLOR</span> <span class="pre">=</span> <span class="pre">dark-$COLOR</span></code>, is also an error for
+the same reason. To achieve the desired result, use a different name for the
+parent variable:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[FOO]]</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">FOO_COLOR </span><span class="o">=</span><span class="s"> red</span>
+    <span class="nt">[[bar]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> FOO</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">COLOR </span><span class="o">=</span><span class="s"> dark-$FOO_COLOR</span>  <span class="c1"># OK</span>
+</pre></div>
+</div>
+</section>
+<section id="job-script-variables">
+<span id="task-job-script-variables"></span><h3>Job Script Variables<a class="headerlink" href="#job-script-variables" title="Link to this heading"></a></h3>
+<p>These variables provided by the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> are available to
+<a class="reference internal" href="../../glossary.html#term-job-script"><span class="xref std std-term">job scripts</span></a>:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>CYLC_VERSION                       <span class="c"># Version of cylc installation used</span>
+CYLC_VERBOSE                       <span class="c"># Verbose mode, true or false</span>
+CYLC_DEBUG                         <span class="c"># Debug mode (even more verbose), true or false</span>
+
+CYLC_CYCLING_MODE                  <span class="c"># Cycling mode, e.g. gregorian</span>
+ISODATETIMECALENDAR                <span class="c"># Calendar mode for the `isodatetime` command,</span>
+                                   <span class="c">#   defined with the value of CYLC_CYCLING_MODE</span>
+                                   <span class="c">#   when in any datetime cycling mode</span>
+
+CYLC_WORKFLOW_FINAL_CYCLE_POINT    <span class="c"># Final cycle point</span>
+CYLC_WORKFLOW_INITIAL_CYCLE_POINT  <span class="c"># Initial cycle point</span>
+CYLC_WORKFLOW_ID                   <span class="c"># Workflow ID</span>
+                                   <span class="c"># e.g. &quot;a/b/c/run1&quot;</span>
+CYLC_WORKFLOW_NAME                 <span class="c"># Workflow ID with the run name removed</span>
+                                   <span class="c"># (use CYLC_WORKFLOW_ID for most purposes)</span>
+                                   <span class="c"># e.g. &quot;a/b/c&quot;</span>
+CYLC_WORKFLOW_NAME_BASE            <span class="c"># The basename of the workflow name</span>
+                                   <span class="c"># (use CYLC_WORKFLOW_ID for most purposes)</span>
+                                   <span class="c"># e.g. &quot;c&quot;</span>
+CYLC_UTC                           <span class="c"># UTC mode, True or False</span>
+TZ                                 <span class="c"># Set to &quot;UTC&quot; in UTC mode or not defined</span>
+
+CYLC_WORKFLOW_RUN_DIR              <span class="c"># Location of the run directory in</span>
+                                   <span class="c"># job host, e.g. ~/cylc-run/foo</span>
+CYLC_WORKFLOW_HOST                 <span class="c"># Host running the workflow process</span>
+CYLC_WORKFLOW_OWNER                <span class="c"># User ID running the workflow process</span>
+
+CYLC_WORKFLOW_SHARE_DIR            <span class="c"># Workflow (or task!) shared directory (see below)</span>
+CYLC_WORKFLOW_UUID                 <span class="c"># Workflow UUID string</span>
+CYLC_WORKFLOW_WORK_DIR             <span class="c"># Workflow work directory (see below)</span>
+
+CYLC_TASK_JOB                      <span class="c"># Job identifier expressed as</span>
+                                   <span class="c"># CYCLE-POINT/TASK-NAME/SUBMIT-NUMBER</span>
+                                   <span class="c">#   e.g. 20110511T1800Z/t1/01</span>
+
+CYLC_TASK_CYCLE_POINT              <span class="c"># Cycle point, e.g. 20110511T1800Z</span>
+ISODATETIMEREF                     <span class="c"># Reference time for the `isodatetime` command,</span>
+                                   <span class="c">#   defined with the value of CYLC_TASK_CYCLE_POINT</span>
+                                   <span class="c">#   when in any datetime cycling mode</span>
+
+CYLC_TASK_NAME                     <span class="c"># Job&#39;s task name, e.g. t1</span>
+CYLC_TASK_ID                       <span class="c"># Task instance identifier CYCLE-POINT/TASK-NAME</span>
+                                   <span class="c">#   e.g. 20110511T1800Z/t1</span>
+
+CYLC_TASK_SUBMIT_NUMBER            <span class="c"># Job&#39;s submit number, e.g. 1,</span>
+                                   <span class="c">#   increments with every submit</span>
+CYLC_TASK_TRY_NUMBER               <span class="c"># Number of execution tries, e.g. 1</span>
+                                   <span class="c">#   increments with automatic execution retry delays.</span>
+CYLC_TASK_FLOW_NUMBERS             <span class="c"># Flows this task belongs to, e.g. 1,2</span>
+
+CYLC_TASK_LOG_DIR                  <span class="c"># Location of the job log directory</span>
+                                   <span class="c">#   e.g. ~/cylc-run/foo/log/job/20110511T1800Z/t1/01/</span>
+CYLC_TASK_LOG_ROOT                 <span class="c"># The job script path</span>
+                                   <span class="c">#   e.g. ~/cylc-run/foo/log/job/20110511T1800Z/t1/01/job</span>
+CYLC_TASK_WORK_DIR                 <span class="c"># Location of task work directory (see below)</span>
+                                   <span class="c">#   e.g. ~/cylc-run/foo/work/20110511T1800Z/t1</span>
+
+CYLC_TASK_NAMESPACE_HIERARCHY      <span class="c"># Linearised family namespace of the task,</span>
+                                   <span class="c">#   e.g. root postproc t1</span>
+CYLC_TASK_DEPENDENCIES             <span class="c"># List of met dependencies that triggered the task</span>
+                                   <span class="c">#   e.g. 1/foo 1/bar</span>
+                                   <span class="c">#   (note this variable will not be</span>
+                                   <span class="c">#   exported if there are more than 50</span>
+                                   <span class="c">#   dependencies)</span>
+
+CYLC_TASK_COMMS_METHOD             <span class="c"># Set to &quot;ssh&quot; if communication method is &quot;ssh&quot;</span>
+CYLC_TASK_SSH_LOGIN_SHELL          <span class="c"># With &quot;ssh&quot; communication, if set to &quot;True&quot;,</span>
+                                   <span class="c">#   use login shell on workflow host</span>
+</pre></div>
+</div>
+<p>Some global shell variables are also defined in the job script, but not
+exported to subshells:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>CYLC_FAIL_SIGNALS               <span class="c"># List of signals trapped by the error trap</span>
+CYLC_VACATION_SIGNALS           <span class="c"># List of signals trapped by the vacation trap</span>
+CYLC_TASK_MESSAGE_STARTED_PID   <span class="c"># PID of &quot;cylc message&quot; job started&quot; command</span>
+CYLC_TASK_WORK_DIR_BASE         <span class="c"># Alternate task work directory,</span>
+                                <span class="c">#   relative to the workflow work directory</span>
+</pre></div>
+</div>
+</section>
+<section id="workflow-share-directories">
+<span id="id2"></span><h3>Workflow Share Directories<a class="headerlink" href="#workflow-share-directories" title="Link to this heading"></a></h3>
+<p>The workflow <a class="reference internal" href="../../glossary.html#term-share-directory"><span class="xref std std-term">share directory</span></a> is created automatically under the
+workflow run directory as a convenient shared space for tasks. The location is
+available to tasks as <code class="docutils literal notranslate"><span class="pre">$CYLC_WORKFLOW_SHARE_DIR</span></code>. In a cycling workflow,
+output files are typically held in cycle point sub-directories of this.</p>
+<p>The top level share directory location can be changed, e.g. to a large data
+area, by global config settings under <a class="reference internal" href="../../reference/config/global.html#global.cylc[install][symlink dirs]" title="global.cylc[install][symlink dirs]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs]</span></code></a>.</p>
+<p>If your workflow creates or installs executables or Python libraries
+as it is running, these can be placed in:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">share/bin/</span></code> - for executables. This location is automatically added to <code class="docutils literal notranslate"><span class="pre">PATH</span></code>
+(before the top-level <code class="docutils literal notranslate"><span class="pre">bin/</span></code> in the run dir).</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">share/lib/python/</span></code> - for Python modules. This location is automatically added
+to <code class="docutils literal notranslate"><span class="pre">PYTHONPATH</span></code> (before the top-level <code class="docutils literal notranslate"><span class="pre">lib/python/</span></code> in the run dir).</p></li>
+</ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Cylc will not create these folders.</p>
+</div>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="configuration.html#workflowdefinitiondirectories"><span class="std std-ref">Top level “bin/” and “lib/python/” directories</span></a>.</p>
+</div>
+</section>
+<section id="task-work-directories">
+<h3>Task Work Directories<a class="headerlink" href="#task-work-directories" title="Link to this heading"></a></h3>
+<p>Job scripts are executed from within <a class="reference internal" href="../../glossary.html#term-work-directory"><span class="xref std std-term">work directories</span></a> created automatically under the workflow run directory. A task can
+access its own work directory via <code class="docutils literal notranslate"><span class="pre">$CYLC_TASK_WORK_DIR</span></code> (or simply <code class="docutils literal notranslate"><span class="pre">$PWD</span></code>
+if it does not change to another location at runtime). By default the location
+contains task name and cycle point, to provide a unique workspace for every
+instance of every task.</p>
+<p>The top level work directory location can be changed, e.g. to a large data
+area, by global config settings under <a class="reference internal" href="../../reference/config/global.html#global.cylc[install][symlink dirs]" title="global.cylc[install][symlink dirs]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[install][symlink</span> <span class="pre">dirs]</span></code></a>.</p>
+</section>
+</section>
+<section id="remote-task-hosting">
+<span id="runningtasksonaremotehost"></span><h2>Remote Task Hosting<a class="headerlink" href="#remote-task-hosting" title="Link to this heading"></a></h2>
+<p>Job <a class="reference internal" href="../../glossary.html#term-platform"><span class="xref std std-term">platforms</span></a> are defined in <code class="docutils literal notranslate"><span class="pre">global.cylc[platforms]</span></code>.</p>
+<p>If a task declares a different platform to that where the scheduler is running,
+Cylc uses non-interactive SSH to submit the job to the platform <a class="reference internal" href="../../glossary.html#term-job-runner"><span class="xref std std-term">job
+runner</span></a> on one of the platform hosts. Workflow source files will be installed
+on the platform, via the associated <code class="docutils literal notranslate"><span class="pre">global.cylc[install</span> <span class="pre">targets]</span></code>, just
+before the first job is submitted to run there.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+   <span class="nt">[[foo]]</span>
+       <span class="nv">platform </span><span class="o">=</span><span class="s"> orca</span>
+</pre></div>
+</div>
+<p>For this to work:</p>
+<ul class="simple">
+<li><p>Non-interactive SSH is required from the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> host
+to the platform hosts</p></li>
+<li><p>Cylc must be installed on the hosts of the destination platform</p>
+<ul>
+<li><p>If polling task communication is used, there is no other requirement</p></li>
+<li><p>If SSH task communication is configured, non-interactive SSH is required
+from the job platform to the scheduler platform</p></li>
+<li><p>If TCP (default) task communication is configured, the task platform
+should have access to the Cylc ports on the scheduler host</p></li>
+</ul>
+</li>
+</ul>
+<p>Platforms, like other runtime settings, can be declared globally in the root
+family, or in other families, or for individual tasks.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The platform known as <code class="docutils literal notranslate"><span class="pre">localhost</span></code> is the platform where the scheduler
+is running, in many cases a dedicated server and <em>not</em> your desktop.</p>
+</div>
+<section id="internal-platform-and-host-selection">
+<h3>Internal Platform and Host Selection<a class="headerlink" href="#internal-platform-and-host-selection" title="Link to this heading"></a></h3>
+<p>The <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]platform" title="flow.cylc[runtime][&lt;namespace&gt;]platform"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;]platform</span></code></a> item points to either a
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[platforms][&lt;platform name&gt;]" title="global.cylc[platforms][&lt;platform name&gt;]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">platform</span></code></a> or a
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[platform groups][&lt;group&gt;]" title="global.cylc[platform groups][&lt;group&gt;]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">platform</span> <span class="pre">group</span></code></a>.</p>
+<p><a class="reference internal" href="../../glossary.html#term-platform"><span class="xref std std-term">Cylc platforms</span></a> allow you to configure compute platforms
+you wish Cylc to run jobs on.</p>
+<p><a class="reference internal" href="../../glossary.html#term-platform-group"><span class="xref std std-term">Platform groups</span></a> allow you to group together platforms
+any of which would be suitable for a given job.
+Platform groups can improve robustness by allowing jobs to be submitted on
+any platform in the group, as well as providing an interface for
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[platform groups][&lt;group&gt;][selection]method" title="global.cylc[platform groups][&lt;group&gt;][selection]method"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">basic</span> <span class="pre">load</span> <span class="pre">balancing</span></code></a>.</p>
+<p><a class="reference internal" href="../../glossary.html#term-platform"><span class="xref std std-term">Platforms</span></a> are selected from a <a class="reference internal" href="../../glossary.html#term-platform-group"><span class="xref std std-term">platform group</span></a> once,
+when a job is submitted.</p>
+<p>Hosts within a <a class="reference internal" href="../../glossary.html#term-platform"><span class="xref std std-term">platform</span></a> are re-selected each time the scheduler
+needs to communicate with a job.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../reference/config/writing-platform-configs.html#adminguide-platformconfigs"><span class="std std-ref">Platform Configuration</span></a>: For details of how Platforms and
+Platform Groups are set up and in-depth examples.</p>
+</div>
+</section>
+<section id="external-platform-selection-scripts">
+<h3>External Platform Selection Scripts<a class="headerlink" href="#external-platform-selection-scripts" title="Link to this heading"></a></h3>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Cylc 8 can select hosts from a group of suitable hosts listed in the
+platform config, so in many cases this logic should no longer be necessary.</p>
+</div>
+<p>Instead of hardwiring platform names into the workflow configuration you can
+give a command that prints a platform name, or an environment variable, as the
+value of <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]platform" title="flow.cylc[runtime][&lt;namespace&gt;]platform"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;]platform</span></code></a>.</p>
+<p>For example:</p>
+<div class="literal-block-wrapper docutils container" id="id5">
+<div class="code-block-caption"><span class="caption-text">flow.cylc</span><a class="headerlink" href="#id5" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[mytask]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> $(script-which-returns-a-platform-name)</span>
+</pre></div>
+</div>
+</div>
+<p>Job hosts are always selected dynamically, for the chosen platform or
+platform group.</p>
+<div class="admonition caution">
+<p class="admonition-title">Caution</p>
+<p>If <code class="docutils literal notranslate"><span class="pre">$(script-which-returns-a-platform-name)</span></code> returns a non-zero exit
+code then the scheduler will assign the
+<a class="reference internal" href="../running-workflows/task-job-states.html#task-job-states"><span class="std std-ref">submit-failed</span></a> state to this <a class="reference internal" href="../../glossary.html#term-job"><span class="xref std std-term">job</span></a>.
+If you have submit retries set up for the job, the scheduler will retry
+running your platform selection script in the same was is it would for
+any other submission failure.</p>
+</div>
+</section>
+<section id="remote-job-log-directories">
+<h3>Remote Job Log Directories<a class="headerlink" href="#remote-job-log-directories" title="Link to this heading"></a></h3>
+<p>Job stdout and stderr streams are written to <a class="reference internal" href="../../glossary.html#term-job-log"><span class="xref std std-term">log files</span></a>
+under the workflow <a class="reference internal" href="../../glossary.html#term-run-directory"><span class="xref std std-term">run directory</span></a> (see <a class="reference internal" href="../task-implementation/job-submission.html#whitherstdoutandstderr"><span class="std std-ref">Task stdout and stderr Logs</span></a>).
+For remote tasks the same directory is used, on the job host.</p>
+</section>
+</section>
+<section id="implicit-tasks">
+<span id="implicittasks"></span><h2>Implicit Tasks<a class="headerlink" href="#implicit-tasks" title="Link to this heading"></a></h2>
+<p>An implicit task is one that appears in the graph but is not defined under
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime]" title="flow.cylc[runtime]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime]</span></code></a>.</p>
+<p>Depending on the value of <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler]allow implicit tasks" title="flow.cylc[scheduler]allow implicit tasks"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]allow</span> <span class="pre">implicit</span> <span class="pre">tasks</span></code></a>,
+Cylc can automatically create default task definitions for these, to submit
+local dummy jobs that just return the standard job status messages.</p>
+<p>Implicit tasks can be used to mock up functional workflows very quickly. A
+default <code class="docutils literal notranslate"><span class="pre">script</span></code> can be added to the root family, e.g. to slow job execution
+down a little. Here is a complete workflow definition using implicit tasks:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">allow implicit tasks </span><span class="o">=</span><span class="s"> True</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = &quot;prep =&gt; run-a &amp; run-b </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">done</span><span class="c">&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> &quot;sleep 10&quot;</span>
+</pre></div>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Implicit tasks are somewhat dangerous because they can easily be created by
+mistake: misspelling a task’s name divorces it from its <code class="docutils literal notranslate"><span class="pre">runtime</span></code> definition.</p>
+</div>
+<p>For this reason implicit tasks are not allowed by default, and if used they
+should be turned off once the real task definitions are complete.</p>
+<p>You can get the convenience without the danger with a little more effort, by
+adding empty runtime placeholders instead of allowing implicit tasks:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = &quot;prep =&gt; run-a &amp; run-b </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">done</span><span class="c">&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> &quot;sleep 10&quot;</span>
+    <span class="nt">[[prep]]</span>
+    <span class="nt">[[run-a, run-b]]</span>
+    <span class="nt">[[done]]</span>
+</pre></div>
+</div>
+</section>
+<section id="task-retry-on-failure">
+<span id="taskretries"></span><h2>Task Retry On Failure<a class="headerlink" href="#task-retry-on-failure" title="Link to this heading"></a></h2>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution retry delays" title="flow.cylc[runtime][&lt;namespace&gt;]execution retry delays"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;]execution</span> <span class="pre">retry</span> <span class="pre">delays</span></code></a>.</p>
+</div>
+<p>Tasks can have a list of <a class="reference internal" href="../../glossary.html#term-ISO8601-duration"><span class="xref std std-term">ISO8601 durations</span></a> as retry
+intervals. If the job fails the task will return to the <code class="docutils literal notranslate"><span class="pre">waiting</span></code> state
+with a clock-trigger configured with the next retry delay.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Tasks only enter the <code class="docutils literal notranslate"><span class="pre">submit-failed</span></code> state if job submission fails with no
+retries left. Otherwise they return to the waiting state, to wait on the
+next try.</p>
+<p>Tasks only enter the <code class="docutils literal notranslate"><span class="pre">failed</span></code> state if job execution fails with no retries
+left. Otherwise they return to the waiting state, to wait on the next try.</p>
+</div>
+<p>In the following example, tasks <code class="docutils literal notranslate"><span class="pre">bad</span></code> and <code class="docutils literal notranslate"><span class="pre">flaky</span></code> each have 3 retries
+configured, with a 10 second delay between. On the final try, <code class="docutils literal notranslate"><span class="pre">bad</span></code> fails
+again and goes to the <code class="docutils literal notranslate"><span class="pre">failed</span></code> state, while <code class="docutils literal notranslate"><span class="pre">flaky</span></code> succeeds and triggers
+task <code class="docutils literal notranslate"><span class="pre">whizz</span></code> downstream. The scheduler will then stall with
+<code class="docutils literal notranslate"><span class="pre">bad</span></code> retained as an incomplete task.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">bad</span> <span class="o">=&gt;</span> <span class="kd">cheese</span>
+            <span class="kd">flaky</span> <span class="o">=&gt;</span> <span class="kd">whizz</span>
+         <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[bad]]</span>
+        <span class="c1"># retry 3 times then fail</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            sleep 10</span>
+<span class="s2">            false</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+        <span class="nv">execution retry delays </span><span class="o">=</span><span class="s"> 3*PT10S</span>
+    <span class="nt">[[flaky]]</span>
+        <span class="c1"># retry 3 times then succeed</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            sleep 10</span>
+<span class="s2">            test $CYLC_TASK_TRY_NUMBER -gt 3</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+        <span class="nv">execution retry delays </span><span class="o">=</span><span class="s"> 3*PT10S</span>
+    <span class="nt">[[cheese, whizz]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> &quot;sleep 10&quot;</span>
+</pre></div>
+</div>
+</section>
+<section id="task-event-handling">
+<span id="user-guide-runtime-task-event-handling"></span><h2>Task Event Handling<a class="headerlink" href="#task-event-handling" title="Link to this heading"></a></h2>
+<p>Task event handlers allow configured commands to run when task events occur.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Cylc supports workflow events e.g. <code class="docutils literal notranslate"><span class="pre">startup</span></code> and <code class="docutils literal notranslate"><span class="pre">shutdown</span></code>
+and task events e.g. <code class="docutils literal notranslate"><span class="pre">submitted</span></code> and <code class="docutils literal notranslate"><span class="pre">failed</span></code>.</p>
+<p>See also <a class="reference internal" href="scheduler.html#user-guide-scheduler-workflow-event-handling"><span class="std std-ref">Workflow Event Handling</span></a>.</p>
+</div>
+<p>Event handlers can be used to send a message, raise an alarm, or whatever you
+like. They can even call <code class="docutils literal notranslate"><span class="pre">cylc</span></code> commands to intervene in the workflow.</p>
+<p>Task event handlers are configured by
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][events]" title="flow.cylc[runtime][&lt;namespace&gt;][events]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][events]</span></code></a>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Task event handlers are called by the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a>, not by the task
+jobs that generate the events - so they do not see the job environment.</p>
+</div>
+<p>Event handlers can be stored in the workflow <code class="docutils literal notranslate"><span class="pre">bin</span></code> directory, or anywhere in
+<code class="docutils literal notranslate"><span class="pre">$PATH</span></code> in the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> environment.</p>
+<p>They should return quickly to avoid tying up the scheduler process pool -
+see <a class="reference internal" href="scheduler.html#managing-external-command-execution"><span class="std std-ref">External Command Execution</span></a>.</p>
+<section id="event-specific-handlers">
+<span id="user-guide-runtime-task-event-handling-event-specific-handlers"></span><h3>Event-Specific Handlers<a class="headerlink" href="#event-specific-handlers" title="Link to this heading"></a></h3>
+<p>Event-specific handlers are configured by <code class="docutils literal notranslate"><span class="pre">&lt;event&gt;</span> <span class="pre">handlers</span></code>
+under <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][events]" title="flow.cylc[runtime][&lt;namespace&gt;][events]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][events]</span></code></a>, where <code class="docutils literal notranslate"><span class="pre">&lt;event&gt;</span></code>
+can be:</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Event</p></th>
+<th class="head"><p>Description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>submitted</p></td>
+<td><p>job submitted</p></td>
+</tr>
+<tr class="row-odd"><td><p>submission retry</p></td>
+<td><p>job submission failed but will retry later</p></td>
+</tr>
+<tr class="row-even"><td><p>submission failed</p></td>
+<td><p>job submission failed</p></td>
+</tr>
+<tr class="row-odd"><td><p>started</p></td>
+<td><p>job started running</p></td>
+</tr>
+<tr class="row-even"><td><p>retry</p></td>
+<td><p>job failed but will retry later</p></td>
+</tr>
+<tr class="row-odd"><td><p>failed</p></td>
+<td><p>job failed</p></td>
+</tr>
+<tr class="row-even"><td><p>succeeded</p></td>
+<td><p>job succeeded</p></td>
+</tr>
+<tr class="row-odd"><td><p>submission timeout</p></td>
+<td><p>job timed out in the <code class="docutils literal notranslate"><span class="pre">submitted</span></code> state</p></td>
+</tr>
+<tr class="row-even"><td><p>execution timeout</p></td>
+<td><p>job timed out in the <code class="docutils literal notranslate"><span class="pre">running</span></code> state</p></td>
+</tr>
+<tr class="row-odd"><td><p>warning</p></td>
+<td><p>scheduler received a message of severity WARNING from job</p></td>
+</tr>
+<tr class="row-even"><td><p>critical</p></td>
+<td><p>scheduler received a message of severity CRITICAL from job</p></td>
+</tr>
+<tr class="row-odd"><td><p>custom</p></td>
+<td><p>scheduler received a message of severity CUSTOM from job <br> (note: literally, the word <code class="docutils literal notranslate"><span class="pre">CUSTOM</span></code>)</p></td>
+</tr>
+<tr class="row-even"><td><p>expired</p></td>
+<td><p>task expired and will not submit (too far behind)</p></td>
+</tr>
+<tr class="row-odd"><td><p>late</p></td>
+<td><p>task running later than expected</p></td>
+</tr>
+</tbody>
+</table>
+<p>Values should be a list of commands, command lines, or command line templates
+(see below) to call if the specified event is triggered.</p>
+</section>
+<section id="general-event-handlers">
+<span id="user-guide-runtime-task-event-handling-general-event-handlers"></span><h3>General Event Handlers<a class="headerlink" href="#general-event-handlers" title="Link to this heading"></a></h3>
+<p>Alternatively you can configure a list of generic event <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][events]handlers" title="flow.cylc[runtime][&lt;namespace&gt;][events]handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">handlers</span></code></a> to be run
+for configured <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][events]handler events" title="flow.cylc[runtime][&lt;namespace&gt;][events]handler events"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">handler</span> <span class="pre">events</span></code></a>.</p>
+<dl class="simple">
+<dt><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][events]handler events" title="flow.cylc[runtime][&lt;namespace&gt;][events]handler events"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">handler</span> <span class="pre">events</span></code></a></dt><dd><p>A list of events which may include any of the above
+events (e.g. <code class="docutils literal notranslate"><span class="pre">submission</span> <span class="pre">failed</span></code> or <code class="docutils literal notranslate"><span class="pre">warning</span></code>) or
+any of a task’s <a class="reference internal" href="../../glossary.html#term-custom-output"><span class="xref std std-term">custom outputs</span></a>.</p>
+</dd>
+<dt><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][events]handlers" title="flow.cylc[runtime][&lt;namespace&gt;][events]handlers"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">handlers</span></code></a></dt><dd><p>A list of commands to be run for these events.
+Information about the event can be provided using
+<a class="reference internal" href="#user-guide-runtime-event-handlers-task-event-handling-template-variables"><span class="std std-ref">Task Event Template Variables</span></a>.</p>
+</dd>
+</dl>
+<p>Example:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">handlers </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">   my-handler %(event)s %(workflow)s,</span>
+<span class="s2">   echo %(workflow)s-%(event)s &gt;&gt; my-log-file</span>
+<span class="s2">&quot;&quot;&quot;</span>
+<span class="nv">handler events </span><span class="o">=</span><span class="s"> submission failed, failed, warning, my-custom-output</span>
+</pre></div>
+</div>
+</section>
+<section id="task-event-template-variables">
+<span id="user-guide-runtime-event-handlers-task-event-handling-template-variables"></span><h3>Task Event Template Variables<a class="headerlink" href="#task-event-template-variables" title="Link to this heading"></a></h3>
+<dl>
+<p>The following variables are available to task event handlers.</p>
+<p>They can be templated into event handlers with Python percent style string
+formatting e.g:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>%(workflow)s is running on %(host)s
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">%(event)s</span></code> string, for instance, will be replaced by the actual
+event name when the handler is invoked.</p>
+<p>If no templates or arguments are specified the following default command
+line will be used:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>&lt;event-handler&gt; %(event)s %(workflow)s %(id)s %(message)s
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Substitution patterns should not be quoted in the template strings.
+This is done automatically where required.</p>
+</div>
+<p>For an explanation of the substitution syntax, see
+<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting">String Formatting Operations in the Python documentation</a>.</p>
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">event</span></span></dt>
+<dd><p>Event name.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">workflow</span></span></dt>
+<dd><p>Workflow ID.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">suite</span></span></dt>
+<dd><p>Workflow ID.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Use “workflow”.</p>
+</div>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">uuid</span></span></dt>
+<dd><p>The unique identification string for this workflow run.</p>
+<p>This string is preserved for the lifetime of the scheduler and is restored
+from the database on restart.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">suite_uuid</span></span></dt>
+<dd><p>The unique identification string for this workflow run.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Use ‘uuid’.</p>
+</div>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">point</span></span></dt>
+<dd><p>The task’s cycle point.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">submit_num</span></span></dt>
+<dd><p>The job’s submit number.</p>
+<p>This starts at 1 and increments with each additional job submission.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">try_num</span></span></dt>
+<dd><p>The job’s try number.</p>
+<p>The number of execution attempts.
+It starts at 1 and increments with automatic
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution retry delays" title="flow.cylc[runtime][&lt;namespace&gt;]execution retry delays"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]execution</span> <span class="pre">retry</span> <span class="pre">delays</span></code></a>.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">id</span></span></dt>
+<dd><p>The task ID (i.e. <code class="docutils literal notranslate"><span class="pre">%(point)/%(name)</span></code>).</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">message</span></span></dt>
+<dd><p>Events message, if any.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">job_runner_name</span></span></dt>
+<dd><p>The job runner name.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">batch_sys_name</span></span></dt>
+<dd><p>The job runner name.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Use “job_runner_name”.</p>
+</div>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">job_id</span></span></dt>
+<dd><p>The job ID in the job runner.</p>
+<p>I.E. The job submission ID. For background jobs this is the process ID.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">batch_sys_job_id</span></span></dt>
+<dd><p>The job ID in the job runner.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Use “job_id”.</p>
+</div>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">submit_time</span></span></dt>
+<dd><p>Date-time when the job was submitted, in ISO8601 format.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">start_time</span></span></dt>
+<dd><p>Date-time when the job started, in ISO8601 format.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">finish_time</span></span></dt>
+<dd><p>Date-time when the job finished, in ISO8601 format.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">platform_name</span></span></dt>
+<dd><p>The name of the platform where the job is submitted.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">user&#64;host</span></span></dt>
+<dd><p>The name of the platform where the job is submitted.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Use “platform_name”.</p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>This now provides the platform name rather than <code class="docutils literal notranslate"><span class="pre">user&#64;host</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">name</span></span></dt>
+<dd><p>The name of the task.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">task_url</span></span></dt>
+<dd><p>The URL defined in the task’s metadata.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Use <code class="docutils literal notranslate"><span class="pre">URL</span></code> from <code class="docutils literal notranslate"><span class="pre">&lt;task</span> <span class="pre">metadata&gt;</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">workflow_url</span></span></dt>
+<dd><p>The URL defined in the workflow’s metadata.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Use <code class="docutils literal notranslate"><span class="pre">workflow_URL</span></code> from <code class="docutils literal notranslate"><span class="pre">workflow_&lt;workflow</span> <span class="pre">metadata&gt;</span></code>.</p>
+</div>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">&lt;task</span> <span class="pre">metadata&gt;</span></span></dt>
+<dd><p>Any task metadata defined in
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][meta]" title="flow.cylc[runtime][&lt;namespace&gt;][meta]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][meta]</span></code></a> can be used e.g:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">%(title)s</span></code></dt><dd><p>Task title</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">%(URL)s</span></code></dt><dd><p>Task URL</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">%(importance)s</span></code></dt><dd><p>Example custom task metadata</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">workflow_&lt;workflow</span> <span class="pre">metadata&gt;</span></span></dt>
+<dd><p>Any workflow metadata defined in
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[meta]" title="flow.cylc[meta]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[meta]</span></code></a> can be used with the <code class="docutils literal notranslate"><span class="pre">workflow_</span></code>
+e.g. prefix:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">%(workflow_title)s</span></code></dt><dd><p>Workflow title</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">%(workflow_URL)s</span></code></dt><dd><p>Workflow URL.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">%(workflow_rating)s</span></code></dt><dd><p>Example custom workflow metadata.</p>
+</dd>
+</dl>
+</dd></dl>
+
+</dl>
+
+</section>
+<section id="examples">
+<h3>Examples<a class="headerlink" href="#examples" title="Link to this heading"></a></h3>
+<p>The following <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> snippets illustrate the two (general and
+task-specific) ways to configure event handlers:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> test ${CYLC_TASK_TRY_NUMBER} -eq 2</span>
+        <span class="nv">execution retry delays </span><span class="o">=</span><span class="s"> PT0S, PT30S</span>
+        <span class="nt">[[[events]]]</span>  <span class="c1"># event-specific handlers:</span>
+            <span class="nv">retry handlers </span><span class="o">=</span><span class="s"> notify-retry.py</span>
+            <span class="nv">failed handlers </span><span class="o">=</span><span class="s"> notify-failed.py</span>
+</pre></div>
+</div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            test ${CYLC_TASK_TRY_NUMBER} -eq 2</span>
+<span class="s2">            cylc message -- &quot;${CYLC_WORKFLOW_ID}&quot; &quot;${CYLC_TASK_JOB}&quot; &#39;oopsy daisy&#39;</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+        <span class="nv">execution retry delays </span><span class="o">=</span><span class="s"> PT0S, PT30S</span>
+        <span class="nt">[[[events]]]</span>  <span class="c1"># general handlers:</span>
+            <span class="nv">handlers </span><span class="o">=</span><span class="s"> notify-events.py</span>
+            <span class="c1"># Note: task output name can be used as an event in this method</span>
+            <span class="nv">handler events </span><span class="o">=</span><span class="s"> retry, failed, oops</span>
+        <span class="nt">[[[outputs]]]</span>
+            <span class="nv">oops </span><span class="o">=</span><span class="s"> oopsy daisy</span>
+</pre></div>
+</div>
+</section>
+<section id="built-in-email-event-handler">
+<h3>Built-in Email Event Handler<a class="headerlink" href="#built-in-email-event-handler" title="Link to this heading"></a></h3>
+<p>To send an email on task events, configure relevant tasks with a list of events
+to handle by email. Custom task output names can also be used as event names,
+in which case the event triggers when the output message is received.</p>
+<p>E.g. to send an email on task failed, retry, and a custom message event:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            test ${CYLC_TASK_TRY_NUMBER} -eq 3</span>
+<span class="s2">            cylc message -- &quot;${CYLC_WORKFLOW_ID}&quot; &quot;${CYLC_TASK_JOB}&quot; &#39;oopsy daisy&#39;</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+        <span class="nv">execution retry delays </span><span class="o">=</span><span class="s"> PT0S, PT30S</span>
+        <span class="nt">[[[events]]]</span>
+            <span class="nv">mail events </span><span class="o">=</span><span class="s"> failed, retry, oops</span>
+        <span class="nt">[[[outputs]]]</span>
+            <span class="nv">oops </span><span class="o">=</span><span class="s"> oopsy daisy</span>
+</pre></div>
+</div>
+<p>By default, event emails will be sent to the current user with:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">to:</span></code> set as <code class="docutils literal notranslate"><span class="pre">$USER</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">from:</span></code> set as <code class="docutils literal notranslate"><span class="pre">notifications&#64;$(hostname)</span></code></p></li>
+<li><p>SMTP server at <code class="docutils literal notranslate"><span class="pre">localhost:25</span></code></p></li>
+</ul>
+<p>These can be configured using the settings:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][mail]to" title="flow.cylc[runtime][&lt;namespace&gt;][mail]to"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[mail]to</span></code></a> (list of email addresses)</p></li>
+<li><p><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][mail]from" title="flow.cylc[runtime][&lt;namespace&gt;][mail]from"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[mail]from</span></code></a></p></li>
+</ul>
+<p>The scheduler batches events over a 5 minute interval, by default, to avoid
+flooding your Inbox if many events occur in a short time. The batching interval
+can be configured with <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler][mail]task event batch interval" title="flow.cylc[scheduler][mail]task event batch interval"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler][mail]task</span> <span class="pre">event</span> <span class="pre">batch</span> <span class="pre">interval</span></code></a>.</p>
+</section>
+<section id="late-events">
+<span id="id3"></span><h3>Late Events<a class="headerlink" href="#late-events" title="Link to this heading"></a></h3>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>The scheduler can only check for lateness once a task has appeared in its
+active task window. In Cylc 8 this is usually when the task is actually
+ready to run, which severely limits the usefulness of late events as
+currently implemented.</p>
+</div>
+<p>If a real time (clock-triggered) workflow performs fairly consistently from one
+cycle to the next, you may want to be notified when certain tasks are running
+late with respect the time they normally trigger in each cycle.</p>
+<p>Cylc can generate a <em>late</em> event if a task has not triggered by a given offset
+from its cycle point in real time. For example, if a task <code class="docutils literal notranslate"><span class="pre">forecast</span></code> normally
+triggers at 30 minutes after cycle point, a late event could be configured like this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+   <span class="nt">[[forecast]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> run-model.sh</span>
+        <span class="nt">[[[events]]]</span>
+            <span class="nv">late offset </span><span class="o">=</span><span class="s"> PT40M</span>  <span class="c1"># allow a 10 minute delay</span>
+            <span class="nv">late handlers </span><span class="o">=</span><span class="s"> my-handler %(message)s</span>
+</pre></div>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Late offset intervals are not computed automatically so be careful to update
+them after any workflow change that affects triggering times.</p>
+</div>
+<aside class="footnote-list brackets">
+<aside class="footnote brackets" id="id4" role="doc-footnote">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id1">1</a><span class="fn-bracket">]</span></span>
+<p>The order of precedence for inheritance from multiple parents is
+determined by the <a class="reference external" href="https://en.wikipedia.org/wiki/C3_linearization">C3 algorithm</a> used to find
+the linear method resolution order for multiple inheritance in Python.</p>
+</aside>
+</aside>
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="scheduling.html" class="btn btn-neutral float-left" title="Scheduling Configuration" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="parameterized-tasks.html" class="btn btn-neutral float-right" title="Task Parameters" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/writing-workflows/runtime";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/writing-workflows/scheduler.html b/nightly_8.3/html/user-guide/writing-workflows/scheduler.html
new file mode 100644
index 00000000000..4ddb39c3110
--- /dev/null
+++ b/nightly_8.3/html/user-guide/writing-workflows/scheduler.html
@@ -0,0 +1,494 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Scheduler Configuration &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Installing Workflows" href="../installing-workflows.html" />
+    <link rel="prev" title="Suicide Triggers" href="suicide-triggers.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Writing Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="configuration.html">Workflow Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="runtime.html">Task Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameterized-tasks.html">Task Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="jinja2.html">Jinja2</a></li>
+<li class="toctree-l3"><a class="reference internal" href="empy.html">EmPy</a></li>
+<li class="toctree-l3"><a class="reference internal" href="external-triggers.html">External Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Suicide Triggers</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Scheduler Configuration</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#workflow-event-handling">Workflow Event Handling</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#external-command-execution">External Command Execution</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#submitting-workflows-to-a-pool-of-hosts">Submitting Workflows To a Pool Of Hosts</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Writing Workflows</a></li>
+      <li class="breadcrumb-item active">Scheduler Configuration</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/writing-workflows/scheduler.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="scheduler-configuration">
+<h1>Scheduler Configuration<a class="headerlink" href="#scheduler-configuration" title="Link to this heading"></a></h1>
+<p>The <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler]" title="flow.cylc[scheduler]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]</span></code></a> section configures certain aspects of
+<a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> behaviour at the workflow level.</p>
+<p>Many of these configurations can also be defined at the site or user level in
+the <a class="reference internal" href="../../reference/config/global.html#global.cylc[scheduler]" title="global.cylc[scheduler]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler]</span></code></a> section where it applies to all
+workflows.</p>
+<section id="workflow-event-handling">
+<span id="user-guide-scheduler-workflow-event-handling"></span><h2>Workflow Event Handling<a class="headerlink" href="#workflow-event-handling" title="Link to this heading"></a></h2>
+<p>Workflow event handlers allow configured commands to run when workflow events
+occur.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Cylc supports workflow events e.g. <code class="docutils literal notranslate"><span class="pre">startup</span></code> and <code class="docutils literal notranslate"><span class="pre">shutdown</span></code>
+and task events e.g. <code class="docutils literal notranslate"><span class="pre">submitted</span></code> and <code class="docutils literal notranslate"><span class="pre">failed</span></code>.</p>
+<p>See also <a class="reference internal" href="runtime.html#user-guide-runtime-task-event-handling"><span class="std std-ref">Task Event Handling</span></a>.</p>
+</div>
+<p>Workflow event handlers are configured by:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler][events]" title="flow.cylc[scheduler][events]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]</span></code></a> (per workflow)</p></li>
+<li><p><a class="reference internal" href="../../reference/config/global.html#global.cylc[scheduler][events]" title="global.cylc[scheduler][events]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][events]</span></code></a> (user/site defaults)</p></li>
+</ul>
+<section id="workflow-events">
+<h3>Workflow Events<a class="headerlink" href="#workflow-events" title="Link to this heading"></a></h3>
+<p>The list of events is:</p>
+<dl class="simple">
+<dt>startup</dt><dd><p>The scheduler started running the workflow.</p>
+</dd>
+<dt>shutdown</dt><dd><p>The workflow finished and the scheduler will shut down.</p>
+</dd>
+<dt>abort</dt><dd><p>The scheduler shut down early with error status, due to a fatal error
+condition or a configured timeout.</p>
+</dd>
+<dt>workflow timeout</dt><dd><p>The workflow run timed out.</p>
+</dd>
+<dt>stall</dt><dd><p>The workflow stalled.</p>
+</dd>
+<dt>stall timeout</dt><dd><p>The workflow timed out after stalling.</p>
+</dd>
+<dt>inactivity timeout</dt><dd><p>The workflow timed out with no activity.</p>
+</dd>
+</dl>
+<p>You can tell the scheduler to abort (i.e., shut down immediately with error
+status) on certain workflow events, with the following settings:</p>
+<ul class="simple">
+<li><p>abort on stall timeout</p></li>
+<li><p>abort on inactivity timeout</p></li>
+<li><p>abort on workflow timeout</p></li>
+</ul>
+</section>
+<section id="mail-events">
+<h3>Mail Events<a class="headerlink" href="#mail-events" title="Link to this heading"></a></h3>
+<p>Cylc can send emails for workflow events, these are configured by
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler][events]mail events" title="flow.cylc[scheduler][events]mail events"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][events]mail</span> <span class="pre">events</span></code></a>.</p>
+<p>For example with the following configuration, emails will be sent if a
+scheduler stalls or shuts down for an unexpected reason.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nt">[[events]]</span>
+        <span class="nv">mail events </span><span class="o">=</span><span class="s"> stall, abort</span>
+</pre></div>
+</div>
+<p>Email addresses and servers are configured by
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[scheduler][mail]" title="global.cylc[scheduler][mail]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][mail]</span></code></a>.</p>
+<p>Workflow event emails can be customised using
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler][mail]footer" title="flow.cylc[scheduler][mail]footer"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler][mail]footer</span></code></a>,
+<a class="reference internal" href="#workflow-event-template-variables"><span class="std std-ref">Workflow Event Template Variables</span></a> can be used.</p>
+<p>For example to integrate with the Cylc 7 web interface (Cylc Review) the mail
+footer could be configured with a URL:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nt">[[events]]</span>
+        <span class="nv">mail footer </span><span class="o">=</span><span class="s"> http://cylc-review/taskjobs/%(owner)s/?suite=%(workflow)s</span>
+</pre></div>
+</div>
+</section>
+<section id="custom-event-handlers">
+<h3>Custom Event Handlers<a class="headerlink" href="#custom-event-handlers" title="Link to this heading"></a></h3>
+<p>Cylc can also be configured to invoke scripts on workflow events.</p>
+<p>Event handler scripts can be stored in the workflow <code class="docutils literal notranslate"><span class="pre">bin</span></code> directory, or
+anywhere in <code class="docutils literal notranslate"><span class="pre">$PATH</span></code> in the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> environment.</p>
+<p>They should return quickly to avoid tying up the scheduler process pool -
+see <a class="reference internal" href="#managing-external-command-execution"><span class="std std-ref">External Command Execution</span></a>.</p>
+<p>Contextual information can be passed to the event handler via
+<a class="reference internal" href="#workflow-event-template-variables"><span class="std std-ref">Workflow Event Template Variables</span></a>.</p>
+<p>For example the following configuration will write some information to a file
+when a workflow is started:</p>
+<div class="literal-block-wrapper docutils container" id="id3">
+<div class="code-block-caption"><span class="caption-text">~/cylc-run/&lt;workflow-id&gt;/bin/my-handler</span><a class="headerlink" href="#id3" title="Link to this code"></a></div>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="ch">#!/bin/bash</span>
+
+<span class="nb">echo</span><span class="w"> </span><span class="s2">&quot;Workflow </span><span class="nv">$1</span><span class="s2"> is running on </span><span class="nv">$2</span><span class="s2">:</span><span class="nv">$3</span><span class="s2">&quot;</span><span class="w"> </span>&gt;<span class="w"> </span>info
+</pre></div>
+</div>
+</div>
+<div class="literal-block-wrapper docutils container" id="id4">
+<div class="code-block-caption"><span class="caption-text">flow.cylc or global.cylc</span><a class="headerlink" href="#id4" title="Link to this code"></a></div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nt">[[events]]</span>
+        <span class="nv">startup handlers </span><span class="o">=</span><span class="s"> my-handler %(workflow)s %(host) %(port)</span>
+</pre></div>
+</div>
+</div>
+</section>
+<section id="workflow-event-template-variables">
+<span id="id1"></span><h3>Workflow Event Template Variables<a class="headerlink" href="#workflow-event-template-variables" title="Link to this heading"></a></h3>
+<dl>
+<p>The following variables are available to workflow event handlers.</p>
+<p>They can be templated into event handlers with Python percent style string
+formatting e.g:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>%(workflow)s is running on %(host)s
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Substitution patterns should not be quoted in the template strings.
+This is done automatically where required.</p>
+</div>
+<p>For an explanation of the substitution syntax, see
+<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting">String Formatting Operations in the Python documentation</a>.</p>
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">event</span></span></dt>
+<dd><p>The type of workflow event that has occurred e.g. <code class="docutils literal notranslate"><span class="pre">stall</span></code>.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">message</span></span></dt>
+<dd><p>Additional information about the event.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">workflow</span></span></dt>
+<dd><p>The workflow ID</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">host</span></span></dt>
+<dd><p>The host where the workflow is running.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">port</span></span></dt>
+<dd><p>The port where the workflow is running.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">owner</span></span></dt>
+<dd><p>The user account under which the workflow is running.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">uuid</span></span></dt>
+<dd><p>The unique identification string for this workflow run.</p>
+<p>This string is preserved for the lifetime of the scheduler and is restored
+from the database on restart.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">workflow_url</span></span></dt>
+<dd><p>The URL defined in <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[meta]URL" title="flow.cylc[meta]URL"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[meta]URL</span></code></a>.</p>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">suite</span></span></dt>
+<dd><p>The workflow ID</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Use “workflow”.</p>
+</div>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">suite_uuid</span></span></dt>
+<dd><p>The unique identification string for this workflow run.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Use “uuid”.</p>
+</div>
+</dd></dl>
+
+<dl class="describe">
+<dt class="sig sig-object">
+<span class="sig-name descname"><span class="pre">suite_url</span></span></dt>
+<dd><p>The URL defined in <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[meta]URL" title="flow.cylc[meta]URL"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[meta]URL</span></code></a>.</p>
+<div class="deprecated">
+<p><span class="versionmodified deprecated">Deprecated since version 8.0.0: </span>Use “workflow_url”.</p>
+</div>
+</dd></dl>
+
+</dl>
+
+</section>
+</section>
+<section id="external-command-execution">
+<span id="managing-external-command-execution"></span><h2>External Command Execution<a class="headerlink" href="#external-command-execution" title="Link to this heading"></a></h2>
+<p>Job submission commands, event handlers, and job poll and kill commands, are
+executed by the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> in a subprocess pool. The pool is size can
+be configured with <a class="reference internal" href="../../reference/config/global.html#global.cylc[scheduler]process pool size" title="global.cylc[scheduler]process pool size"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler]process</span> <span class="pre">pool</span> <span class="pre">size</span></code></a>.</p>
+<p>Event handlers should be lightweight and quick-running because they tie up
+a process pool member until complete, and the workflow will appear to stall if
+the pool is saturated with long-running processes.</p>
+<p>To protect the scheduler, processes are killed on a timeout
+(<a class="reference internal" href="../../reference/config/global.html#global.cylc[scheduler]process pool timeout" title="global.cylc[scheduler]process pool timeout"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler]process</span> <span class="pre">pool</span> <span class="pre">timeout</span></code></a>). This will be
+logged by the <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a>. If a job submission gets killed, the
+associated task goes to the <code class="docutils literal notranslate"><span class="pre">submit-failed</span></code> state.</p>
+</section>
+<section id="submitting-workflows-to-a-pool-of-hosts">
+<span id="id2"></span><h2>Submitting Workflows To a Pool Of Hosts<a class="headerlink" href="#submitting-workflows-to-a-pool-of-hosts" title="Link to this heading"></a></h2>
+<dl class="field-list simple">
+<dt class="field-odd">Configured by<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="../../reference/config/global.html#global.cylc[scheduler][run hosts]" title="global.cylc[scheduler][run hosts]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][run</span> <span class="pre">hosts]</span></code></a>.</p>
+</dd>
+</dl>
+<p>By default <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> will run workflows on the machine where the command
+was invoked.</p>
+<p>Cylc supports configuring a pool of hosts for workflows to run on,
+<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> will automatically pick a host and submit the workflow to it.</p>
+<section id="host-pool">
+<h3>Host Pool<a class="headerlink" href="#host-pool" title="Link to this heading"></a></h3>
+<dl class="field-list simple">
+<dt class="field-odd">Configured by<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="../../reference/config/global.html#global.cylc[scheduler][run hosts]available" title="global.cylc[scheduler][run hosts]available"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][run</span> <span class="pre">hosts]available</span></code></a>.</p>
+</dd>
+</dl>
+<p>The hosts must:</p>
+<ol class="arabic simple">
+<li><p>Share a common <code class="docutils literal notranslate"><span class="pre">$HOME</span></code> directory and therefore a common file system
+(with each other and anywhere the <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span></code> command is run).</p></li>
+<li><p>Share a common Cylc global config (<a class="reference internal" href="../../reference/config/global.html#global.cylc" title="global.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc</span></code></a>).</p></li>
+<li><p>Be set up to allow passwordless SSH between them.</p></li>
+</ol>
+<p>Example:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nt">[[run hosts]]</span>
+        <span class="nv">available </span><span class="o">=</span><span class="s"> host_1, host_2, host_3</span>
+</pre></div>
+</div>
+</section>
+<section id="load-balancing">
+<h3>Load Balancing<a class="headerlink" href="#load-balancing" title="Link to this heading"></a></h3>
+<dl class="field-list simple">
+<dt class="field-odd">Configured by<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="../../reference/config/global.html#global.cylc[scheduler][run hosts]ranking" title="global.cylc[scheduler][run hosts]ranking"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][run</span> <span class="pre">hosts]ranking</span></code></a>.</p>
+</dd>
+</dl>
+<p>Cylc can balance the load on the configured “run hosts” by ranking them in
+order of available resource or by excluding hosts which fail to meet certain
+criterion.</p>
+<p>Example:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nt">[[run hosts]]</span>
+        <span class="nv">available </span><span class="o">=</span><span class="s"> host_1, host_2, host_3</span>
+        <span class="nv">ranking </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="c1"># filter out hosts with high server load</span>
+<span class="s2">            getloadavg()[2] &lt; 5</span>
+
+            <span class="c1"># pick the host with the most available memory</span>
+<span class="s2">            virtual_memory().available</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>For more information see <a class="reference internal" href="../../reference/config/global.html#global.cylc[scheduler][run hosts]ranking" title="global.cylc[scheduler][run hosts]ranking"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][run</span> <span class="pre">hosts]ranking</span></code></a>.</p>
+</section>
+<section id="workflow-migration">
+<span id="auto-stop-restart"></span><h3>Workflow Migration<a class="headerlink" href="#workflow-migration" title="Link to this heading"></a></h3>
+<dl class="field-list simple">
+<dt class="field-odd">Configured by<span class="colon">:</span></dt>
+<dd class="field-odd"><p><a class="reference internal" href="../../reference/config/global.html#global.cylc[scheduler][run hosts]condemned" title="global.cylc[scheduler][run hosts]condemned"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][run</span> <span class="pre">hosts]condemned</span></code></a>.</p>
+</dd>
+</dl>
+<p>Cylc has the ability to automatically stop workflows running on a particular
+host and optionally, restart them on a different host. This can be useful if a
+host needs to be taken off-line, e.g. for scheduled maintenance.</p>
+<p>Example:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nt">[[run hosts]]</span>
+        <span class="nv">available </span><span class="o">=</span><span class="s"> host_1, host_2, host_3</span>
+        <span class="c1"># tell workflows on host_1 to move to another available host</span>
+        <span class="nv">condemned </span><span class="o">=</span><span class="s"> host_1</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>This feature requires the <a class="reference internal" href="../../reference/config/global.html#global.cylc[scheduler][main loop][auto restart]" title="global.cylc[scheduler][main loop][auto restart]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[auto</span> <span class="pre">restart]</span></code></a>
+plugin to be enabled, e.g. in the configured list of
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[scheduler][main loop]plugins" title="global.cylc[scheduler][main loop]plugins"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">plugins</span></code></a>.</p>
+</div>
+<p>For more information see: <a class="reference internal" href="../../reference/config/global.html#global.cylc[scheduler][run hosts]ranking" title="global.cylc[scheduler][run hosts]ranking"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[scheduler][run</span> <span class="pre">hosts]ranking</span></code></a>.</p>
+</section>
+<section id="platform-configuration">
+<span id="platformconfig"></span><h3>Platform Configuration<a class="headerlink" href="#platform-configuration" title="Link to this heading"></a></h3>
+<p>From the perspective of a running <a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a> <code class="docutils literal notranslate"><span class="pre">localhost</span></code> is the
+scheduler host.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">localhost</span></code> platform is configured by
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[platforms][localhost]" title="global.cylc[platforms][localhost]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">global.cylc[platforms][localhost]</span></code></a>.</p>
+<p>It configures:</p>
+<ul class="simple">
+<li><p>Jobs that run on the <code class="docutils literal notranslate"><span class="pre">localhost</span></code> platform, i.e. any jobs which have
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]platform" title="flow.cylc[runtime][&lt;namespace&gt;]platform"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;]platform=localhost</span></code></a> or which don’t have a
+platform configured.</p></li>
+<li><p>Connections to the scheduler hosts (e.g. the
+<a class="reference internal" href="../../reference/config/global.html#global.cylc[platforms][&lt;platform name&gt;]ssh command" title="global.cylc[platforms][&lt;platform name&gt;]ssh command"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">ssh</span> <span class="pre">command</span></code></a>).</p></li>
+</ul>
+</section>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="suicide-triggers.html" class="btn btn-neutral float-left" title="Suicide Triggers" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../installing-workflows.html" class="btn btn-neutral float-right" title="Installing Workflows" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/writing-workflows/scheduler";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/writing-workflows/scheduling.html b/nightly_8.3/html/user-guide/writing-workflows/scheduling.html
new file mode 100644
index 00000000000..90007fbb240
--- /dev/null
+++ b/nightly_8.3/html/user-guide/writing-workflows/scheduling.html
@@ -0,0 +1,2125 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Scheduling Configuration &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Task Configuration" href="runtime.html" />
+    <link rel="prev" title="Workflow Configuration" href="configuration.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Writing Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="configuration.html">Workflow Configuration</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Scheduling Configuration</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#the-graph">The Graph</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#graph-types">Graph Types</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#cycling-syntax-rules">Cycling Syntax Rules</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#task-triggering">Task Triggering</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#incomplete-tasks">Required Outputs</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#user-guide-optional-outputs">Optional Outputs</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#graph-branching">Graph Branching</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#limiting-workflow-activity">Limiting Workflow Activity</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#valid-task-cycle-points">Valid Task Cycle Points</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#omitting-tasks">Omitting Tasks</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="runtime.html">Task Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameterized-tasks.html">Task Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="jinja2.html">Jinja2</a></li>
+<li class="toctree-l3"><a class="reference internal" href="empy.html">EmPy</a></li>
+<li class="toctree-l3"><a class="reference internal" href="external-triggers.html">External Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="suicide-triggers.html">Suicide Triggers</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler.html">Scheduler Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Writing Workflows</a></li>
+      <li class="breadcrumb-item active">Scheduling Configuration</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/writing-workflows/scheduling.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="scheduling-configuration">
+<span id="user-guide-scheduling"></span><h1>Scheduling Configuration<a class="headerlink" href="#scheduling-configuration" title="Link to this heading"></a></h1>
+<div class="tip tutorial-ref admonition">
+<p class="admonition-title">Related Tutorial</p>
+<p><a class="reference internal" href="../../tutorial/scheduling/index.html#tutorial-scheduling"><span class="std std-ref">Scheduling Tutorial</span></a></p>
+</div>
+<p>The <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduling]" title="flow.cylc[scheduling]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling]</span></code></a> section of the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file
+defines what tasks exist in the workflow, in a <a class="reference internal" href="../../glossary.html#term-graph"><span class="xref std std-term">dependency graph</span></a>,
+and when they should run, relative to each other and to constraints such as
+<a class="reference internal" href="../../glossary.html#term-clock-trigger"><span class="xref std std-term">clock triggers</span></a>, <a class="reference internal" href="../../glossary.html#term-external-trigger"><span class="xref std std-term">external triggers</span></a>, and <a class="reference internal" href="../../glossary.html#term-internal-queue"><span class="xref std std-term">internal queues</span></a></p>
+<section id="the-graph">
+<h2>The Graph<a class="headerlink" href="#the-graph" title="Link to this heading"></a></h2>
+<div class="tip tutorial-ref admonition">
+<p class="admonition-title">Related Tutorial</p>
+<p><a class="reference internal" href="../../tutorial/scheduling/graphing.html#tutorial-cylc-graphing"><span class="std std-ref">Graph Tutorial</span></a></p>
+</div>
+<p>The <a class="reference internal" href="../../glossary.html#term-graph"><span class="xref std std-term">graph</span></a> defines a workflow in terms of its <a class="reference internal" href="../../glossary.html#term-task"><span class="xref std std-term">tasks</span></a> and
+the <a class="reference internal" href="../../glossary.html#term-dependency"><span class="xref std std-term">dependencies</span></a> between them.</p>
+<p>A Cylc <a class="reference internal" href="../../glossary.html#term-graph"><span class="xref std std-term">graph</span></a> is composed of one or more <a class="reference internal" href="../../glossary.html#term-graph-string"><span class="xref std std-term">graph strings</span></a> which use a special syntax to define the dependencies between tasks:</p>
+<ul class="simple">
+<li><p>arrow symbols <code class="docutils literal notranslate"><span class="pre">=&gt;</span></code> declare dependencies</p></li>
+<li><p>logical operators <code class="docutils literal notranslate"><span class="pre">&amp;</span></code> (AND) and <code class="docutils literal notranslate"><span class="pre">|</span></code> (OR) can be used to write
+<a class="reference internal" href="../../glossary.html#term-conditional-dependency"><span class="xref std std-term">conditional dependencies</span></a>.</p></li>
+</ul>
+<p>For example:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="c1"># baz will not be run until both foo and bar have succeeded</span>
+<span class="kd">foo</span> <span class="o">&amp;</span> <span class="kd">bar</span> <span class="o">=&gt;</span> <span class="kd">baz</span>
+</pre></div>
+</div>
+<p>Graph strings are configured under the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduling][graph]" title="flow.cylc[scheduling][graph]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling][graph]</span></code></a> section
+of the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">foo</span> <span class="o">&amp;</span> <span class="kd">bar</span> <span class="o">=&gt;</span> <span class="kd">baz</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>In this example <code class="docutils literal notranslate"><span class="pre">R1</span></code> is a <a class="reference internal" href="../../glossary.html#term-recurrence"><span class="xref std std-term">recurrence expression</span></a> that
+defines how often, and on what cycle interval, to run this part of the graph.
+For example, <code class="docutils literal notranslate"><span class="pre">R1</span></code> means run once, and <code class="docutils literal notranslate"><span class="pre">P1D</span></code> means run repeatedly on a 1-day
+cycle.</p>
+<p>Graph strings may contain blank lines, arbitrary white space and comments e.g:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">foo</span> <span class="o">&amp;</span> <span class="kd">bar</span> <span class="o">=&gt;</span> <span class="kd">baz</span>  <span class="c1"># baz depends on foo and bar</span>
+
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>Graphs can be broken down into pairs of <a class="reference internal" href="../../glossary.html#term-trigger"><span class="xref std std-term">triggers</span></a>, where the
+left side is a single task output, or a logical expression involving several of
+them, and the right side is the task or family that triggers when the output
+(or expression) is completed.</p>
+<p>In the case of cycling tasks, triggers are valid for cycle points matching the
+recurrence expression for the graph string. For example this graph:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00,T12 = &quot;A </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">B</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>implies that <code class="docutils literal notranslate"><span class="pre">B</span></code> triggers off of <code class="docutils literal notranslate"><span class="pre">A</span></code> (i.e. off of the <code class="docutils literal notranslate"><span class="pre">A:succeeded</span></code> output)
+for cycle points where the hour matches <code class="docutils literal notranslate"><span class="pre">00</span></code> or <code class="docutils literal notranslate"><span class="pre">12</span></code>. To define intercycle
+dependencies, attach an offset indicator to the left side of a pair:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00,T12 = &quot;A[-PT12H] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">B</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>This means task <code class="docutils literal notranslate"><span class="pre">B</span></code> triggers off of task <code class="docutils literal notranslate"><span class="pre">A[-PT12H]</span></code> (12 hours before, with
+respect to cycle point) at every point with hours matching <code class="docutils literal notranslate"><span class="pre">00</span></code> and <code class="docutils literal notranslate"><span class="pre">12</span></code> in
+a sequence starting at the initial cycle point.
+Note: current cycle point is implicit - only offsets need to be specified -
+because most tasks depend only on others with the same cycle point.</p>
+<p>Cycle point offsets can only appear on the left side of an arrow. However,
+<code class="docutils literal notranslate"><span class="pre">A</span> <span class="pre">=&gt;</span> <span class="pre">B[-PT6H]</span></code>, which is illegal, can be reformulated as a <a class="reference internal" href="../../glossary.html#term-future-trigger"><span class="xref std std-term">future
+trigger</span></a> <code class="docutils literal notranslate"><span class="pre">A[+PT6H]</span> <span class="pre">=&gt;</span> <span class="pre">B</span></code> (see <a class="reference internal" href="#intercyclepointtriggers"><span class="std std-ref">Intercycle Triggers</span></a>). It is also
+possible to combine multiple offsets within a cycle point offset e.g.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00,T12 = &quot;A[-P1D-PT12H] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">B</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>This means that <code class="docutils literal notranslate"><span class="pre">B</span></code> triggers off <code class="docutils literal notranslate"><span class="pre">A[-P1D-PT12H]</span></code> (1 day and 12 hours before)
+at each cycle point.</p>
+<p>Triggers can be chained together. This graph:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">T00, T12 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">    A =&gt; B</span>  <span class="c1"># B triggers off A</span>
+<span class="s2">    B =&gt; C</span>  <span class="c1"># C triggers off B</span>
+<span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>is equivalent to this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">T00, T12 </span><span class="o">=</span><span class="s"> &quot;A =&gt; B =&gt; C&quot;</span>
+</pre></div>
+</div>
+<p>All triggers defined for the same task combine, so this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">T00, T12 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">    A =&gt; X</span>  <span class="c1"># X triggers off A</span>
+<span class="s2">    B =&gt; X</span>  <span class="c1"># X also triggers off B</span>
+<span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>is equivalent to this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">T00, T12 </span><span class="o">=</span><span class="s"> &quot;A &amp; B =&gt; X&quot;</span>  <span class="c1"># X triggers off A AND B</span>
+</pre></div>
+</div>
+<p>In summary, the branching tree structure of a dependency graph can
+be partitioned into lines (in the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> graph string) of
+dependency pairs or chains, in any way you like. Use white space and comments
+to make the graph as clear as possible.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># B triggers if A succeeds, then C and D trigger if B succeeds:</span>
+<span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;A =&gt; B =&gt; C &amp; D&quot;</span>
+
+<span class="c1"># which is equivalent to this:</span>
+<span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">    A =&gt; B =&gt; C</span>
+<span class="s2">    B =&gt; D</span>
+<span class="s2">&quot;&quot;&quot;</span>
+
+<span class="c1"># and to this:</span>
+<span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">    A =&gt; B =&gt; D</span>
+<span class="s2">    B =&gt; C</span>
+<span class="s2">&quot;&quot;&quot;</span>
+
+<span class="c1"># and to this:</span>
+<span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">    A =&gt; B</span>
+<span class="s2">    B =&gt; C</span>
+<span class="s2">    B =&gt; D</span>
+<span class="s2">&quot;&quot;&quot;</span>
+
+<span class="c1"># and it can even be written like this:</span>
+<span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">    A =&gt; B</span> <span class="c1"># blank line follows:</span>
+
+<span class="s2">    B =&gt; C</span> <span class="c1"># comment ...</span>
+<span class="s2">    B =&gt; D</span>
+<span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<section id="splitting-up-long-graph-lines">
+<h3>Splitting Up Long Graph Lines<a class="headerlink" href="#splitting-up-long-graph-lines" title="Link to this heading"></a></h3>
+<p>It is not necessary to use the fragile line continuation marker <code class="docutils literal notranslate"><span class="pre">\</span></code> to split
+long graph lines. You can break at dependency arrows (<code class="docutils literal notranslate"><span class="pre">=&gt;</span></code>) and operators
+(<code class="docutils literal notranslate"><span class="pre">&amp;</span></code>, <code class="docutils literal notranslate"><span class="pre">|</span></code>), or split long chains into smaller ones. This graph:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;A &amp; B =&gt; C&quot;</span>
+</pre></div>
+</div>
+<p>is equivalent to this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">    A &amp; B =&gt;</span>
+<span class="s2">    C</span>
+<span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>and also to this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">    A &amp;</span>
+<span class="s2">    B =&gt; C</span>
+<span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Multiple graph strings add together to make the complete workflow graph.</p>
+</div>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0: </span>Graph strings can be broken on <code class="docutils literal notranslate"><span class="pre">&amp;</span></code> and <code class="docutils literal notranslate"><span class="pre">|</span></code> as well as <code class="docutils literal notranslate"><span class="pre">=&gt;</span></code>.</p>
+</div>
+</section>
+</section>
+<section id="graph-types">
+<span id="graphtypes"></span><h2>Graph Types<a class="headerlink" href="#graph-types" title="Link to this heading"></a></h2>
+<section id="non-cycling">
+<h3>Non-Cycling<a class="headerlink" href="#non-cycling" title="Link to this heading"></a></h3>
+<p>The following is a small workflow of non-cycling tasks; these all have a
+single cycle point (<code class="docutils literal notranslate"><span class="pre">1</span></code>), and once they’re all finished the scheduler
+shuts down.</p>
+<div class="twocol docutils container">
+<div class="caption docutils container">
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = &quot;foo =&gt; bar &amp; baz </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">qux</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+</div>
+<div class="image docutils container">
+<figure class="align-center" id="fig-test1">
+<img alt="../../_images/test1.png" src="../../_images/test1.png" />
+</figure>
+</div>
+</div>
+</section>
+<section id="cycling-graphs">
+<h3>Cycling Graphs<a class="headerlink" href="#cycling-graphs" title="Link to this heading"></a></h3>
+<p>For cycling tasks we give a <em>recurrence expression</em> that defines a sequence of
+cycle points for which the graph string is valid, as demonstrated here for a
+small workflow of cycling tasks:</p>
+<div class="twocol docutils container">
+<div class="caption docutils container">
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+       <span class="c1"># (note no dependence between cycle points)</span>
+        <span class="nv">T00,T12 = &quot;foo =&gt; bar &amp; baz </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">qux</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+</div>
+<div class="image docutils container">
+<figure class="align-center" id="fig-test2">
+<img alt="../../_images/test2.png" src="../../_images/test2.png" />
+</figure>
+</div>
+</div>
+<div class="tip tutorial-ref admonition">
+<p class="admonition-title">Related Tutorial</p>
+<p><a class="reference internal" href="../../tutorial/scheduling/datetime-cycling.html#tutorial-datetime-cycling"><span class="std std-ref">Datetime Tutorial</span></a></p>
+</div>
+<p>For example in the following scenario:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T06 = foo </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">bar</span>
+</pre></div>
+</div>
+<p><code class="docutils literal notranslate"><span class="pre">T06</span></code> means “Run every day starting at 06:00 after the
+initial cycle point”. Cylc allows you to start (or end) at any particular
+time, repeat at whatever frequency you like, and even optionally limit the
+number of repetitions.</p>
+</section>
+</section>
+<section id="cycling-syntax-rules">
+<span id="writing-flows-scheduling-syntax-rules"></span><h2>Cycling Syntax Rules<a class="headerlink" href="#cycling-syntax-rules" title="Link to this heading"></a></h2>
+<p><a class="reference internal" href="../../glossary.html#term-datetime-cycling"><span class="xref std std-term">Datetime cycling</span></a> information is made up of:</p>
+<ul class="simple">
+<li><p>a <a class="reference internal" href="../../glossary.html#term-ISO-8601-datetime"><span class="xref std std-term">datetime</span></a> that typically specifies the start
+point of the sequence</p></li>
+<li><p>an interval between points in the sequence</p></li>
+<li><p>and an optional limit on the number of points in the sequence</p></li>
+</ul>
+<p>The time is assumed to be in UTC unless you set
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler]cycle point time zone" title="flow.cylc[scheduler]cycle point time zone"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler]cycle</span> <span class="pre">point</span> <span class="pre">time</span> <span class="pre">zone</span></code></a>.</p>
+<div class="admonition attention">
+<p class="admonition-title">Attention</p>
+<div class="versionchanged">
+<p><span class="versionmodified changed">Changed in version 8.0.0.</span></p>
+</div>
+<p>At Cylc 7 the time zone was assumed to be local time unless
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler]cycle point time zone" title="flow.cylc[scheduler]cycle point time zone"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler]cycle</span> <span class="pre">point</span> <span class="pre">time</span> <span class="pre">zone</span></code></a> or <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduler]UTC mode" title="flow.cylc[scheduler]UTC mode"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduler]UTC</span> <span class="pre">mode</span></code></a>
+was set. If your workflow is running in
+<a class="reference internal" href="../../7-to-8/major-changes/compatibility-mode.html#cylc-7-compat-mode"><span class="std std-ref">Cylc 7 compatibility mode</span></a>
+this remains the case.</p>
+</div>
+<p>The calendar is assumed to be the proleptic Gregorian calendar unless
+you set <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduling]cycling mode" title="flow.cylc[scheduling]cycling mode"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling]cycling</span> <span class="pre">mode</span></code></a>.</p>
+<p>The syntax is based on the <a class="reference internal" href="../../glossary.html#term-ISO-8601"><span class="xref std std-term">ISO 8601</span></a> datetime standard, which includes
+the representation of datetimes and intervals. Cylc (optionally) allows these
+representations to be heavily condensed by omitting information that can be
+inferred from context (rules below).</p>
+<div class="admonition important">
+<p class="admonition-title">Important</p>
+<p>Cycle points in Cylc are just task labels that anchor dependence on
+other tasks, and which tasks can use to determine their current cycle
+point. <strong>Datetime cycle points have no relation to wallclock (real) time</strong>
+except where specific tasks, if any, depend on <a class="reference internal" href="../../glossary.html#term-clock-trigger"><span class="xref std std-term">clock triggers</span></a>.</p>
+</div>
+<p>There are three ISO 8601 recurrence formats supported by Cylc, detailed below
+in order from most commonly used to least commonly used.</p>
+<section id="format-3-r-limit-datetime-interval">
+<h3>Format 3: <code class="docutils literal notranslate"><span class="pre">R[limit?]/[datetime]/[interval]</span></code><a class="headerlink" href="#format-3-r-limit-datetime-interval" title="Link to this heading"></a></h3>
+<p>The most common full form for recurrences is
+<code class="docutils literal notranslate"><span class="pre">R[limit?]/[datetime]/[interval]</span></code>. This is format number 3 in the ISO 8601
+standard. The datetime specifies the start of the cycling sequence.
+For example, <code class="docutils literal notranslate"><span class="pre">R3/2000-01-01T00Z/P2D</span></code> means “run 3 times, every 2 days,
+starting at 2000-01-01T00Z (midnight, Jan 1st 2000)”; the list of points
+on this sequence is:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>2000-01-01T00Z
+2000-01-03T00Z
+2000-01-05T00Z
+</pre></div>
+</div>
+<p>In Cylc, this form can be condensed to:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>R[limit?]/[datetime]
+R[limit?]//[interval]
+[datetime]/[interval]
+R[limit?] <span class="c"># Special limit of 1 case</span>
+[datetime]
+[interval]
+</pre></div>
+</div>
+<p>Here are some examples for each form:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>R5/T00            <span class="c"># Run 5 times at 00:00 every day</span>
+R//PT1H           <span class="c"># Run every hour (Note the R// is optional)</span>
+20000101T06Z/P1D  <span class="c"># Run every day starting at 06:00 1st Jan 2000</span>
+R1                <span class="c"># Run once at the initial cycle point</span>
+R1/20000101T00Z   <span class="c"># Run once at 00:00 1st Jan 2000</span>
+P1Y               <span class="c"># Run every year</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><code class="docutils literal notranslate"><span class="pre">T00</span></code> is an example of <code class="docutils literal notranslate"><span class="pre">[datetime]</span></code>, with an
+inferred 1 day period and no limit (it is short for <code class="docutils literal notranslate"><span class="pre">R/T00</span></code>).</p>
+</div>
+<p>Where some or all datetime information is omitted, it is inferred to
+be relative to the <a class="reference internal" href="../../glossary.html#term-initial-cycle-point"><span class="xref std std-term">initial cycle point</span></a>. For example, <code class="docutils literal notranslate"><span class="pre">T00</span></code>
+by itself would mean the next occurrence of midnight that follows, or is, the
+initial cycle point. <code class="docutils literal notranslate"><span class="pre">+PT6H</span></code> means 6 hours after the initial cycle point.
+<code class="docutils literal notranslate"><span class="pre">-P1D</span></code> means 1 day before the initial cycle point. The default is the initial
+cycle point itself.</p>
+<p>If the interval is omitted and some (but not all) datetime information is
+omitted, it is inferred to be a single unit above the largest given specific
+datetime unit. For example, the largest given specific unit in <code class="docutils literal notranslate"><span class="pre">T00</span></code> is
+hours, so the inferred interval is 1 day (daily), <code class="docutils literal notranslate"><span class="pre">P1D</span></code>.</p>
+<p>If the limit is omitted, unlimited cycling is assumed. This will be
+bounded by the workflow’s final cycle point if given.</p>
+</section>
+<section id="format-4-r-limit-interval-datetime">
+<h3>Format 4: <code class="docutils literal notranslate"><span class="pre">R[limit?]/[interval]/[datetime]</span></code><a class="headerlink" href="#format-4-r-limit-interval-datetime" title="Link to this heading"></a></h3>
+<p>Another supported recurrence form is:
+<code class="docutils literal notranslate"><span class="pre">R[limit?]/[interval]/[datetime]</span></code> (format number 4 in the ISO 8601 standard).
+This uses the datetime as the end of the cycling sequence rather than the start.
+For example, <code class="docutils literal notranslate"><span class="pre">R3/P5D/2014-04-30T06</span></code> means “run 3 times, every 5 days, ending
+at 2014-04-30T06 (06:00, April 30th 2014)”; the list of points on this
+sequence is:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>2014-04-20T06
+2014-04-25T06
+2014-04-30T06
+</pre></div>
+</div>
+<p>This form can be used to get special behaviour relative to
+the final cycle point.</p>
+<p>We can also represent this in Cylc with a collapsed form:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>R[limit?]/[interval]
+R[limit?]//[datetime]
+[interval]/[datetime]
+</pre></div>
+</div>
+<p>So, for example, you can write:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>R1//+P0D  <span class="c"># Run once at the final cycle point</span>
+R5/P2D    <span class="c"># Run 5 times, every 2 days, ending at the final cycle point</span>
+P2W/T00   <span class="c"># Run every 2 weeks ending at 00:00 before/at the final cycle point</span>
+R//T00    <span class="c"># Run every day ending at 00:00 before/at the final cycle point</span>
+</pre></div>
+</div>
+</section>
+<section id="format-1-r-limit-datetime-datetime">
+<h3>Format 1: <code class="docutils literal notranslate"><span class="pre">R[limit?]/[datetime]/[datetime]</span></code><a class="headerlink" href="#format-1-r-limit-datetime-datetime" title="Link to this heading"></a></h3>
+<p>A less common recurrence form is <code class="docutils literal notranslate"><span class="pre">R[limit?]/[datetime]/[datetime]</span></code>
+(format number 1 in the ISO 8601 standard). This uses the difference between
+the first datetime and the second datetime to set the recurrence interval.
+The first datetime is the start point. For example,
+<code class="docutils literal notranslate"><span class="pre">R3/2020-07-10/2020-07-15</span></code> means “run 3 times, every 5 days, starting at
+2020-07-10 (midnight, July 10th 2020)”; the list of points on this sequence is:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>2020-07-10
+2020-07-15
+2020-07-20
+</pre></div>
+</div>
+<div class="admonition caution">
+<p class="admonition-title">Caution</p>
+<p>Cylc will always calculate the interval in
+<a class="reference internal" href="../../glossary.html#term-exact-datetime-unit"><span class="xref std std-term">exact datetime units</span></a>. So for the example
+of <code class="docutils literal notranslate"><span class="pre">R/2004/2005</span></code>, the interval will be <code class="docutils literal notranslate"><span class="pre">P366D</span></code> (2004 is a leap year)
+rather then <code class="docutils literal notranslate"><span class="pre">P1Y</span></code>, because year is an
+<a class="reference internal" href="../../glossary.html#term-inexact-datetime-unit"><span class="xref std std-term">inexact unit</span></a>.</p>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>In versions of Cylc prior to 8.0.0, this syntax was undocumented and
+behaved differently, in a way which was not in accordance with the
+<a class="reference internal" href="../../glossary.html#term-ISO-8601"><span class="xref std std-term">ISO 8601</span></a> standard.</p>
+</div>
+</section>
+<section id="referencing-the-initial-and-final-cycle-points">
+<span id="id1"></span><h3>Referencing The Initial And Final Cycle Points<a class="headerlink" href="#referencing-the-initial-and-final-cycle-points" title="Link to this heading"></a></h3>
+<p>The caret and dollar symbols are shorthand for the initial and final cycle
+points:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>R1/^+PT12H  <span class="c"># Repeat once 12 hours after the initial cycle point</span>
+            <span class="c"># R[limit]/[datetime]</span>
+            <span class="c"># Equivalent to R1/+PT12H</span>
+R1/$        <span class="c"># Repeat once at the final cycle point</span>
+            <span class="c"># R[limit]/[datetime]</span>
+            <span class="c"># Equivalent to R1//+P0D</span>
+$-P2D/PT3H  <span class="c"># Repeat 3 hourly starting two days before the</span>
+            <span class="c"># [datetime]/[interval]</span>
+            <span class="c"># final cycle point</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>There are multiple ways to write the same recurrences, for instance
+the following all run once at the final cycle point:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>R1/P0Y       <span class="c"># R[limit]/[interval]</span>
+R1/P0Y/$     <span class="c"># R[limit]/[interval]/[datetime]</span>
+R1/$         <span class="c"># R[limit]/[datetime]</span>
+</pre></div>
+</div>
+</div>
+</section>
+<section id="the-initial-cycle-point">
+<span id="excluding-dates"></span><h3>The Initial Cycle Point<a class="headerlink" href="#the-initial-cycle-point" title="Link to this heading"></a></h3>
+<p>A workflow normally begins running at the <a class="reference internal" href="../../glossary.html#term-initial-cycle-point"><span class="xref std std-term">initial cycle point</span></a>, which defines
+the start of the workflow graph:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 20100808T06Z</span>
+</pre></div>
+</div>
+<p>This can be overridden on the command line:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>cylc<span class="w"> </span>play<span class="w"> </span>foo<span class="w"> </span>--initial-cycle-point<span class="o">=</span>20120808T06Z
+</pre></div>
+</div>
+<section id="setting-the-initial-cycle-point-relative-to-the-current-time">
+<span id="setting-the-icp-relative-to-now"></span><h4>Setting The Initial Cycle Point Relative To The Current Time<a class="headerlink" href="#setting-the-initial-cycle-point-relative-to-the-current-time" title="Link to this heading"></a></h4>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Setting the initial cycle point relative to the current time only works
+for <a class="reference internal" href="../../glossary.html#term-datetime-cycling"><span class="xref std std-term">datetime cycling</span></a> workflows using the Gregorian calendar.
+It does not work for alternative calendars like the 360, 365 or 366 day
+calendars, or integer cycling.</p>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">next</span></code> and <code class="docutils literal notranslate"><span class="pre">previous</span></code> syntax can be used with truncated ISO 8601
+representations, to set the initial cycle point:
+<code class="docutils literal notranslate"><span class="pre">next(Thh:mmZ)</span></code>, <code class="docutils literal notranslate"><span class="pre">previous(T-mm)</span></code>; e.g.</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">initial</span> <span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">=</span> <span class="pre">next(T15:00Z)</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">initial</span> <span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">=</span> <span class="pre">previous(T09:00)</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">initial</span> <span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">=</span> <span class="pre">next(T12)</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">initial</span> <span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">=</span> <span class="pre">previous(T-20)</span></code></p></li>
+</ul>
+<p>A list of times, separated by semicolons, can be provided, e.g.
+<code class="docutils literal notranslate"><span class="pre">next(T-00;T-15;T-30;T-45)</span></code>. At least one time is required within the
+brackets, and if more than one is given, the major time unit in each (hours
+or minutes) should be of the same type.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><code class="docutils literal notranslate"><span class="pre">T-00</span></code> means every hour, on the hour. The <code class="docutils literal notranslate"><span class="pre">-</span></code> is a placeholder for the hours column.</p>
+</div>
+<p>If an offset from the specified datetime is required, this should be
+of the form <code class="docutils literal notranslate"><span class="pre">previous(Thh:mm)</span> <span class="pre">+/-</span> <span class="pre">PxTy</span></code> as is used
+for determining cycle periods, e.g.</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">initial</span> <span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">=</span> <span class="pre">previous(T06)</span> <span class="pre">+P1D</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">initial</span> <span class="pre">cycle</span> <span class="pre">point</span> <span class="pre">=</span> <span class="pre">next(T-30)</span> <span class="pre">-PT1H</span></code></p></li>
+</ul>
+<p>The next/previous syntax is interpreted first, then the offset is applied.</p>
+<p>Offsets used without <code class="docutils literal notranslate"><span class="pre">next</span></code> or <code class="docutils literal notranslate"><span class="pre">previous</span></code> are interpreted as offsets from “now”.</p>
+<table class="docutils align-default" id="id14">
+<caption><span class="caption-text">Relative initial cycle point examples for <code class="docutils literal notranslate"><span class="pre">now</span> <span class="pre">=</span> <span class="pre">2018-03-14T15:12Z</span></code></span><a class="headerlink" href="#id14" title="Link to this table"></a></caption>
+<thead>
+<tr class="row-odd"><th class="head"><p>Syntax</p></th>
+<th class="head"><p>Interpretation</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">next(T-00)</span></code></p></td>
+<td><p>2018-03-14T16:00Z</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">previous(T-00)</span></code></p></td>
+<td><p>2018-03-14T15:00Z</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">next(T-00;</span> <span class="pre">T-15;</span> <span class="pre">T-30;</span> <span class="pre">T-45)</span></code></p></td>
+<td><p>2018-03-14T15:15Z</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">previous(T-00;</span> <span class="pre">T-15;</span> <span class="pre">T-30;</span> <span class="pre">T-45)</span></code></p></td>
+<td><p>2018-03-14T15:00Z</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">next(T00)</span></code></p></td>
+<td><p>2018-03-15T00:00Z</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">previous(T00)</span></code></p></td>
+<td><p>2018-03-14T00:00Z</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">next(T06:30Z)</span></code></p></td>
+<td><p>2018-03-15T06:30Z</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">previous(T06:30)</span> <span class="pre">-P1D</span></code></p></td>
+<td><p>2018-03-13T06:30Z</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">next(T00;</span> <span class="pre">T06;</span> <span class="pre">T12;</span> <span class="pre">T18)</span></code></p></td>
+<td><p>2018-03-14T18:00Z</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">previous(T00;</span> <span class="pre">T06;</span> <span class="pre">T12;</span> <span class="pre">T18)</span></code></p></td>
+<td><p>2018-03-14T12:00Z</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">next(T00;</span> <span class="pre">T06;</span> <span class="pre">T12;</span> <span class="pre">T18)</span> <span class="pre">+P1W</span></code></p></td>
+<td><p>2018-03-21T18:00Z</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">PT1H</span></code></p></td>
+<td><p>2018-03-14T16:12Z</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">-P1M</span></code></p></td>
+<td><p>2018-02-14T15:12Z</p></td>
+</tr>
+</tbody>
+</table>
+<p>Relative initial cycle points also work with truncated dates, including
+weeks and ordinal date, using ISO 8601 truncated date representations.
+Note that day-of-week should always be specified when using weeks. If a time
+is not included, the calculation of the next or previous corresponding
+point will be done from midnight of the current day.</p>
+<table class="docutils align-default" id="id15">
+<caption><span class="caption-text">Relative initial cycle point examples for <code class="docutils literal notranslate"><span class="pre">now</span> <span class="pre">=</span> <span class="pre">2018-03-14T15:12Z</span></code>
+   using ISO8601 truncated dates.</span><a class="headerlink" href="#id15" title="Link to this table"></a></caption>
+<tbody>
+<tr class="row-odd"><td><p>Syntax</p></td>
+<td><p>Description</p></td>
+<td><p>Interpretation</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">next(-00)</span></code></p></td>
+<td><p>Any century; next year 00</p></td>
+<td><p>2100-01-01</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">previous(--01)</span></code></p></td>
+<td><p>Any year; next month 01</p></td>
+<td><p>2018-01-01</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">next(---01)</span></code></p></td>
+<td><p>Any year; any month; next 1st of month</p></td>
+<td><p>2018-04-01</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">previous(--1225)</span></code></p></td>
+<td><p>Any year; previous Dec 25</p></td>
+<td><p>2017-12-25</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">next(-2006)</span></code></p></td>
+<td><p>Any century; next June in a year ending 20</p></td>
+<td><p>2020-06-01</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">previous(-W101)</span></code></p></td>
+<td><p>Any century; previous week 10 day 1</p></td>
+<td><p>2018-03-05</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">next(-W-1;</span> <span class="pre">-W-3;</span> <span class="pre">-W-5)</span></code></p></td>
+<td><p>Any year; any week; next day 1, 3 or 5</p></td>
+<td><p>2018-03-14</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">next(-001;</span> <span class="pre">-091;</span> <span class="pre">-181;</span> <span class="pre">-271)</span></code></p></td>
+<td><p>Any year; day 1, 91, 181 or 271</p></td>
+<td><p>2018-04-01</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">previous(-365T12Z)</span></code></p></td>
+<td><p>Any year; previous day 356 at 12Z</p></td>
+<td><p>2017-12-31T12:00Z</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="the-environment-variable-cylc-workflow-initial-cycle-point">
+<h4>The Environment Variable CYLC_WORKFLOW_INITIAL_CYCLE_POINT<a class="headerlink" href="#the-environment-variable-cylc-workflow-initial-cycle-point" title="Link to this heading"></a></h4>
+<p>At start up the initial cycle point is passed to job environments
+as <code class="docutils literal notranslate"><span class="pre">$CYLC_WORKFLOW_INITIAL_CYCLE_POINT</span></code> and stored in the workflow
+database to persist across restarts. However it gets wiped out (set to
+<code class="docutils literal notranslate"><span class="pre">None</span></code>) by a <a class="reference internal" href="../../glossary.html#term-warm-start"><span class="xref std std-term">warm start</span></a> (<code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">play</span> <span class="pre">--start-cycle-point</span></code> or <code class="docutils literal notranslate"><span class="pre">cylc</span>
+<span class="pre">play</span> <span class="pre">--start-task</span></code>) - which is essentially a restart that ignores prior state
+information.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">$CYLC_WORKFLOW_INITIAL_CYCLE_POINT</span></code> variable allows tasks to
+check if they are running in the initial cycle point, when different behaviour
+may be required. Note however that an initial <code class="docutils literal notranslate"><span class="pre">R1</span></code> graph section is the
+preferred way to get different behaviour at workflow start-up.</p>
+</section>
+</section>
+<section id="how-multiple-graph-strings-combine">
+<span id="howmultiplegraphstringscombine"></span><h3>How Multiple Graph Strings Combine<a class="headerlink" href="#how-multiple-graph-strings-combine" title="Link to this heading"></a></h3>
+<p>Multiple graph strings add together to make the complete workflow graph.
+Recurrences can overlap, and tasks can appear in multiple graph strings. It is
+OK (but unnecessary) to define duplicate dependencies.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00,T06,T12,T18 = &quot;A =&gt; B </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">C</span><span class="c">&quot;</span>
+<span class="nv">        T06,T18 = &quot;B =&gt; C </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">X</span><span class="c">&quot;</span>
+<span class="nv">        # duplicate prerequisite: B </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">C</span> <span class="kd">already</span> <span class="kd">defined</span> <span class="kd">at</span> <span class="kd">T06</span><span class="c">,</span> <span class="kd">T18</span>
+</pre></div>
+</div>
+<p>This graph can be written more concisely, with the same result, like this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00,T06,T12,T18 = &quot;A =&gt; B </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">C</span><span class="c">&quot;</span>
+        <span class="c1"># X triggers off C only at 6 and 18 hours</span>
+        <span class="nv">T06,T18 = &quot;C </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">X</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+</section>
+<section id="id2">
+<h3>Excluding Dates<a class="headerlink" href="#id2" title="Link to this heading"></a></h3>
+<p><a class="reference internal" href="../../glossary.html#term-ISO-8601-datetime"><span class="xref std std-term">datetimes</span></a> can be excluded from a <a class="reference internal" href="../../glossary.html#term-recurrence"><span class="xref std std-term">recurrence</span></a>
+by an exclamation mark for example <code class="docutils literal notranslate"><span class="pre">PT1D!20000101</span></code> means run daily except on
+the first of January 2000.</p>
+<p>This syntax can be used to exclude multiple datetimes from a recurrence, using
+the syntax <code class="docutils literal notranslate"><span class="pre">PT1D!(20000101,20000102,...)</span></code>. All datetimes listed within
+the parentheses will be excluded.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">^</span></code> and <code class="docutils literal notranslate"><span class="pre">$</span></code> symbols (shorthand for the initial
+and final cycle points) are both datetimes so <code class="docutils literal notranslate"><span class="pre">T12!$-PT1D</span></code>
+is valid.</p>
+</div>
+<p>If using a run limit in combination with an exclusion, the recurrence might not
+run the expected number of times. For example, in the following
+workflow <code class="docutils literal notranslate"><span class="pre">foo</span></code> will only run once as its second run is excluded.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 20000101T00Z</span>
+    <span class="nv">final cycle point </span><span class="o">=</span><span class="s"> 20000105T00Z</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R2/P1D!20000102 </span><span class="o">=</span> <span class="kd">foo</span>
+</pre></div>
+</div>
+</section>
+<section id="excluding-recurrences">
+<h3>Excluding Recurrences<a class="headerlink" href="#excluding-recurrences" title="Link to this heading"></a></h3>
+<p>Exclusions may themselves be datetime recurrence sequences. Any partial
+datetime or sequence after the exclamation mark will be excluded from the main
+sequence.</p>
+<p>For example, partial datetimes can be excluded like this:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>PT1H ! T12                   <span class="c"># Run hourly but not at 12:00 from the initial</span>
+                             <span class="c"># cycle point.</span>
+T-00 ! (T00, T06, T12, T18)  <span class="c"># Run hourly but not at 00:00, 06:00,</span>
+                             <span class="c"># 12:00, 18:00.</span>
+PT5M ! T-15                  <span class="c"># Run 5-minutely but not at 15 minutes past the</span>
+                             <span class="c"># hour from the initial cycle point.</span>
+T00 ! W-1T00                 <span class="c"># Run daily at 00:00 except on Mondays.</span>
+</pre></div>
+</div>
+<p>And sequences can be excluded like this:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>PT1H ! PT6H         <span class="c"># Run hourly from the initial cycle point but</span>
+                    <span class="c"># not 6-hourly from the initial cycle point.</span>
+T-00 ! PT6H         <span class="c"># Run hourly on the hour but not 6-hourly on the hour.</span>
+<span class="c"># Same as T-00 ! T-00/PT6H (T-00 context is implied)</span>
+<span class="c"># Same as T-00 ! (T00, T06, T12, T18)</span>
+<span class="c"># Same as PT1H ! (T00, T06, T12, T18) Initial cycle point dependent</span>
+
+T12 ! T12/P15D      <span class="c"># Run daily at 12:00 except every 15th day.</span>
+
+R/^/P1H ! R5/20000101T00/P1D    <span class="c"># Any valid recurrence may be used to</span>
+                                <span class="c"># determine exclusions. This example</span>
+                                <span class="c"># means: Repeat every hour from</span>
+                                <span class="c"># the initial cycle point, but exclude</span>
+                                <span class="c"># 00:00 for 5 days from 1 January 2000.</span>
+</pre></div>
+</div>
+<p>You can combine exclusion sequences and single point exclusions like this:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>T-00 ! (20000101T07, PT2H)  <span class="c"># Run hourly on the hour but not at 07:00</span>
+                            <span class="c"># on the 1st Jan, 2000 and not 2-hourly</span>
+                            <span class="c"># on the hour.</span>
+</pre></div>
+</div>
+</section>
+<section id="advanced-examples">
+<span id="advancedcycling"></span><h3>Advanced Examples<a class="headerlink" href="#advanced-examples" title="Link to this heading"></a></h3>
+<p>Here are several examples of Cylc graph recurrence expressions:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>R1         <span class="c"># Run once at the initial cycle point</span>
+P1D        <span class="c"># Run every day starting at the initial cycle point</span>
+PT5M       <span class="c"># Run every 5 minutes starting at the initial cycle point</span>
+T00/P2W    <span class="c"># Run every 2 weeks starting at 00:00 after the</span>
+           <span class="c"># initial cycle point</span>
++P5D/P1M   <span class="c"># Run every month, starting 5 days after the initial cycle point</span>
+R1/T06     <span class="c"># Run once at 06:00 after the initial cycle point</span>
+R1/P0Y     <span class="c"># Run once at the final cycle point</span>
+R1/$       <span class="c"># Run once at the final cycle point (alternative form)</span>
+R1/$-P3D   <span class="c"># Run once three days before the final cycle point</span>
+R3/T0830   <span class="c"># Run 3 times, every day at 08:30 after the initial cycle point</span>
+R3/01T00   <span class="c"># Run 3 times, every month at 00:00 on the first</span>
+           <span class="c"># of the month after the initial cycle point</span>
+R5/W-1/P1M <span class="c"># Run 5 times, every month starting on Monday</span>
+           <span class="c"># following the initial cycle point</span>
+T00!^      <span class="c"># Run at the first occurrence of T00 that isn&#39;t the</span>
+           <span class="c"># initial cycle point</span>
+PT1D!20000101  <span class="c"># Run every day days excluding 1st Jan 2000</span>
+20140201T06/P1D    <span class="c"># Run every day starting at 20140201T06</span>
+R1/min(T00,T06,T12,T18)  <span class="c"># Run once at the first instance</span>
+                         <span class="c"># of either T00, T06, T12 or T18</span>
+                         <span class="c"># starting at the initial cycle point</span>
+</pre></div>
+</div>
+</section>
+<section id="advanced-starting-up">
+<span id="advancedstartingup"></span><h3>Advanced Starting Up<a class="headerlink" href="#advanced-starting-up" title="Link to this heading"></a></h3>
+<p>Dependencies that are only valid at the <a class="reference internal" href="../../glossary.html#term-initial-cycle-point"><span class="xref std std-term">initial cycle point</span></a> can be
+written using an <code class="docutils literal notranslate"><span class="pre">R1</span></code> recurrence. For example:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 20130808T00</span>
+    <span class="nv">final cycle point </span><span class="o">=</span><span class="s"> 20130812T00</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = &quot;prep </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">foo</span><span class="c">&quot;</span>
+<span class="nv">        T00 = &quot;foo[-P1D] =&gt; foo </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">bar</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>In the example above, <code class="docutils literal notranslate"><span class="pre">R1</span></code> implies <code class="docutils literal notranslate"><span class="pre">R1/20130808T00</span></code>, so
+<code class="docutils literal notranslate"><span class="pre">prep</span></code> only runs once at that cycle point (the initial cycle point).
+<code class="docutils literal notranslate"><span class="pre">foo</span></code> will depend on <code class="docutils literal notranslate"><span class="pre">prep</span></code> there, but not at subsequent cycle points.</p>
+<p>However, it is possible to have a workflow that has multiple effective initial
+cycles - for example, one starting at <code class="docutils literal notranslate"><span class="pre">T00</span></code> and another starting
+at <code class="docutils literal notranslate"><span class="pre">T12</span></code>. What if they need to share an initial task?</p>
+<p>Let’s suppose that we add the following section to the workflow example above:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 20130808T00</span>
+    <span class="nv">final cycle point </span><span class="o">=</span><span class="s"> 20130812T00</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = &quot;prep </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">foo</span><span class="c">&quot;</span>
+<span class="nv">        T00 = &quot;foo[-P1D] =&gt; foo </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">bar</span><span class="c">&quot;</span>
+<span class="nv">        T12 = &quot;baz[-P1D] =&gt; baz </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">qux</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>We’ll also say that there should be a starting dependence between
+<code class="docutils literal notranslate"><span class="pre">prep</span></code> and our new task <code class="docutils literal notranslate"><span class="pre">baz</span></code> - but we still want to have
+a single <code class="docutils literal notranslate"><span class="pre">prep</span></code> task, at a single cycle.</p>
+<p>We can write this using a special case of the <code class="docutils literal notranslate"><span class="pre">task[-interval]</span></code> syntax -
+if the interval is null, this implies the task at the initial cycle point.</p>
+<p>For example, we can write our workflow like so, to produce the graph as shown:</p>
+<div class="twocol docutils container">
+<div class="caption docutils container">
+<p><em>Staggered Start Workflow</em></p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 20130808T00</span>
+    <span class="nv">final cycle point </span><span class="o">=</span><span class="s"> 20130812T00</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="c">&quot;</span><span class="kd">prep</span><span class="c">&quot;</span>
+        <span class="c1"># ^ implies the initial cycle point:</span>
+        <span class="nv">R1/T00 = &quot;prep[^] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">foo</span><span class="c">&quot;</span>
+        <span class="c1"># ^ is initial cycle point, as above:</span>
+        <span class="nv">R1/T12 = &quot;prep[^] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">baz</span><span class="c">&quot;</span>
+<span class="nv">        T00 = &quot;foo[-P1D] =&gt; foo </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">bar</span><span class="c">&quot;</span>
+<span class="nv">        T12 = &quot;baz[-P1D] =&gt; baz </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">qux</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+</div>
+<div class="image docutils container">
+<figure class="align-center" id="fig-test4">
+<img alt="../../_images/test4.png" src="../../_images/test4.png" />
+</figure>
+</div>
+</div>
+<p>Usually, we want to specify additional tasks and dependencies at the initial
+cycle point. But what if we want our first cycle point to be entirely special,
+with some tasks missing compared to subsequent cycle points?</p>
+<p>In the workflow below, <code class="docutils literal notranslate"><span class="pre">bar</span></code> will not run at the initial cycle point, but
+will still run at subsequent cycle points. <code class="docutils literal notranslate"><span class="pre">+PT6H/PT6H</span></code> means start at
+<code class="docutils literal notranslate"><span class="pre">+PT6H</span></code> (6 hours after the initial cycle point) and then repeat every
+<code class="docutils literal notranslate"><span class="pre">PT6H</span></code> (6 hours):</p>
+<div class="twocol docutils container">
+<div class="caption docutils container">
+<p><em>Restricted First Cycle Point Workflow</em></p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 20130808T00</span>
+    <span class="nv">final cycle point </span><span class="o">=</span><span class="s"> 20130808T18</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = &quot;setup_foo </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">foo</span><span class="c">&quot;</span>
+<span class="nv">        +PT6H/PT6H </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">foo</span>[<span class="nb">-PT6H</span>] <span class="o">=&gt;</span> <span class="kd">foo</span>
+            <span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</div>
+<div class="image docutils container">
+<figure class="align-center" id="fig-test5">
+<img alt="../../_images/test5.png" src="../../_images/test5.png" />
+</figure>
+</div>
+</div>
+<p>Some workflows may have staggered start-up sequences where different tasks need
+to run once but only at specific cycle points, e.g. because of differing
+data sources at different cycle points, with different possible initial cycle
+points. To allow this Cylc provides a <code class="docutils literal notranslate"><span class="pre">min(</span> <span class="pre">)</span></code> function that can be
+used as follows:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 20100101T03</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1/min(T00,T12) = &quot;prep1 </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">foo</span><span class="c">&quot;</span>
+<span class="nv">        R1/min(T06,T18) = &quot;prep2 </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">foo</span><span class="c">&quot;</span>
+<span class="nv">        T00,T06,T12,T18 = &quot;foo </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">bar</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>In this example the initial cycle point is <code class="docutils literal notranslate"><span class="pre">20100101T03</span></code>, so the
+<code class="docutils literal notranslate"><span class="pre">prep1</span></code> task will run once at <code class="docutils literal notranslate"><span class="pre">20100101T12</span></code> and the
+<code class="docutils literal notranslate"><span class="pre">prep2</span></code> task will run once at <code class="docutils literal notranslate"><span class="pre">20100101T06</span></code> as these are
+the first cycle points after the initial cycle point in the respective
+<code class="docutils literal notranslate"><span class="pre">min(</span> <span class="pre">)</span></code> entries.</p>
+</section>
+<section id="integer-cycling">
+<span id="integercycling"></span><h3>Integer Cycling<a class="headerlink" href="#integer-cycling" title="Link to this heading"></a></h3>
+<div class="tip tutorial-ref admonition">
+<p class="admonition-title">Related Tutorial</p>
+<p><a class="reference internal" href="../../tutorial/scheduling/integer-cycling.html#tutorial-integer-cycling"><span class="std std-ref">Integer Cycling Tutorial</span></a></p>
+</div>
+<p>In addition to non-cycling and <a class="reference internal" href="../../glossary.html#term-datetime-cycling"><span class="xref std std-term">datetime cycling</span></a> workflows, Cylc can do
+<a class="reference internal" href="../../glossary.html#term-integer-cycling"><span class="xref std std-term">integer cycling</span></a> for cycling workflows that are not datetime based.</p>
+<p>To construct an integer cycling workflow, set
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduling]cycling mode" title="flow.cylc[scheduling]cycling mode"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling]cycling</span> <span class="pre">mode=integer</span></code></a>, and specify integer values
+for the <a class="reference internal" href="../../glossary.html#term-initial-cycle-point"><span class="xref std std-term">initial cycle point</span></a> and optionally the
+<a class="reference internal" href="../../glossary.html#term-final-cycle-point"><span class="xref std std-term">final cycle point</span></a>. The syntax for intervals,
+offsets, and <a class="reference internal" href="../../glossary.html#term-recurrence"><span class="xref std std-term">recurrences</span></a> (sequences) is similar to the
+datetime cycling syntax, except for the simple integer values.</p>
+<p>The full integer recurrence expressions supported are:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">Rn/start-point/interval</span> <span class="pre">#</span> <span class="pre">e.g.</span> <span class="pre">R3/1/P2</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">Rn/interval/end-point</span> <span class="pre">#</span> <span class="pre">e.g.</span> <span class="pre">R3/P2/9</span></code></p></li>
+</ul>
+<p>But, as for datetime cycling, sequence start and end points can be omitted
+where workflow initial and final cycle points can be assumed. Some examples:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>R1        <span class="c"># Run once at the initial cycle point</span>
+          <span class="c"># (short for R1/initial-point/?)</span>
+P1        <span class="c"># Repeat with step 1 from the initial cycle point</span>
+          <span class="c"># (short for R/initial-point/P1)</span>
+P5        <span class="c"># Repeat with step 5 from the initial cycle point</span>
+          <span class="c"># (short for R/initial-point/P5)</span>
+R2//P2    <span class="c"># Run twice with step 3 from the initial cycle point</span>
+          <span class="c"># (short for R2/initial-point/P2)</span>
+R/+P1/P2  <span class="c"># Repeat with step 2, from 1 after the initial cycle point</span>
+R2/P2     <span class="c"># Run twice with step 2, to the final cycle point</span>
+          <span class="c"># (short for R2/P2/final-point)</span>
+R1/P0     <span class="c"># Run once at the final cycle point</span>
+          <span class="c"># (short for R1/P0/final-point)</span>
+</pre></div>
+</div>
+<section id="advanced-integer-cycling-syntax">
+<h4>Advanced Integer Cycling Syntax<a class="headerlink" href="#advanced-integer-cycling-syntax" title="Link to this heading"></a></h4>
+<p>The same syntax used to reference the initial and final cycle points
+(introduced in <a class="reference internal" href="#referencing-the-initial-and-final-cycle-points"><span class="std std-ref">Referencing The Initial And Final Cycle Points</span></a>) for
+use with datetime cycling can also be used for integer cycling. For
+example you can write:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>R1/^     <span class="c"># Run once at the initial cycle point</span>
+R1/$     <span class="c"># Run once at the final cycle point</span>
+R3/^/P2  <span class="c"># Run three times with step two starting at the</span>
+                 <span class="c"># initial cycle point</span>
+</pre></div>
+</div>
+<p>Likewise the syntax introduced in <a class="reference internal" href="#excluding-dates"><span class="std std-ref">The Initial Cycle Point</span></a> for excluding
+a particular point from a recurrence also works for integer cycling. For
+example:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>R/P4!8       <span class="c"># Run with step 4, to the final cycle point but not at point 8</span>
+R3/3/P2!5    <span class="c"># Run with step 2 from point 3 but not at point 5</span>
+R/+P1/P6!14  <span class="c"># Run with step 6 from 1 step after the</span>
+             <span class="c"># initial cycle point but not at point 14</span>
+</pre></div>
+</div>
+<p>Multiple integer exclusions are also valid in the same way as the syntax
+in <a class="reference internal" href="#excluding-dates"><span class="std std-ref">The Initial Cycle Point</span></a>. Integer exclusions may be a list of single
+integer points, an integer sequence, or a combination of both:</p>
+<div class="highlight-sub notranslate"><div class="highlight"><pre><span></span>R/P1!(2,3,7)  <span class="c"># Run with step 1 to the final cycle point,</span>
+              <span class="c"># but not at points 2, 3, or 7.</span>
+P1 ! P2       <span class="c"># Run with step 1 from the initial to final</span>
+              <span class="c"># cycle point, skipping every other step from</span>
+              <span class="c"># the initial cycle point.</span>
+P1 ! +P1/P2   <span class="c"># Run with step 1 from the initial cycle point,</span>
+              <span class="c"># excluding every other step beginning one step</span>
+              <span class="c"># after the initial cycle point.</span>
+P1 !(P2,6,8)  <span class="c"># Run with step 1 from the initial cycle point,</span>
+              <span class="c"># excluding every other step, and also excluding</span>
+              <span class="c"># steps 6 and 8.</span>
+</pre></div>
+</div>
+</section>
+<section id="an-integer-cycling-example">
+<h4>An Integer Cycling Example<a class="headerlink" href="#an-integer-cycling-example" title="Link to this heading"></a></h4>
+<span class="target" id="fig-integer-pipeline"></span><p>The following workflow definition, as <a class="reference internal" href="#fig-integer-pipeline"><span class="std std-ref">graphed above</span></a>,
+implements a classical linear pipeline using integer cycling. The workflow
+ensures that one instance each of A, B, and C runs concurrently and the
+pipeline is kept full: when 1/A has finished processing the first dataset, 2/A
+can start on the second one at the same time as 1/B begins processing the
+output of 1/A, and so on. The artificial cross-cycle dependence ensures that
+only one instance of A can run at a time; and similarly B and C. If available
+compute resource supports more than three concurrent jobs, remove the
+cross-cycle dependence and Cylc will run many cycles at once. Task runtime
+configuration is omitted, but it would likely involve retrieving datasets by
+cycle point and processing them in cycle point-specific shared workspaces under
+the self-contained run directory.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">cycling mode </span><span class="o">=</span><span class="s"> integer</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 1</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R/^/P1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">A</span> <span class="o">=&gt;</span> <span class="kd">B</span> <span class="o">=&gt;</span> <span class="kd">C</span>
+            <span class="kd">A</span>[<span class="nb">-P1</span>] <span class="o">=&gt;</span> <span class="kd">A</span>
+            <span class="kd">B</span>[<span class="nb">-P1</span>] <span class="o">=&gt;</span> <span class="kd">B</span>
+            <span class="kd">C</span>[<span class="nb">-P1</span>] <span class="o">=&gt;</span> <span class="kd">C</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</section>
+</section>
+</section>
+<section id="task-triggering">
+<span id="triggertypes"></span><h2>Task Triggering<a class="headerlink" href="#task-triggering" title="Link to this heading"></a></h2>
+<p>A task is said to <a class="reference internal" href="../../glossary.html#term-trigger"><span class="xref std std-term">trigger</span></a> when it submits its job to run, as soon as all of
+its dependencies (also known as its separate “triggers”) are met. Tasks can
+be made to trigger off of the state of other tasks (indicated by a
+<code class="docutils literal notranslate"><span class="pre">:state</span></code> <a class="reference internal" href="../../glossary.html#term-qualifier"><span class="xref std std-term">qualifier</span></a> on the upstream task (or family)
+name in the graph) and, and off the clock, and arbitrary external events.</p>
+<p>External triggering is relatively more complicated, and is documented
+separately in <a class="reference internal" href="external-triggers.html#section-external-triggers"><span class="std std-ref">External Triggers</span></a>.</p>
+<section id="success-triggers">
+<h3>Success Triggers<a class="headerlink" href="#success-triggers" title="Link to this heading"></a></h3>
+<p>The default, with no trigger type specified, is to trigger off of the
+upstream task succeeding:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># B triggers if A SUCCEEDS:</span>
+<span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;A =&gt; B&quot;</span>
+</pre></div>
+</div>
+<p>For consistency and completeness, however, the success trigger can be
+explicit:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># B triggers if A SUCCEEDS:</span>
+<span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;A =&gt; B&quot;</span>
+
+<span class="c1"># or:</span>
+<span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;A:succeed =&gt; B&quot;</span>
+</pre></div>
+</div>
+</section>
+<section id="failure-triggers">
+<h3>Failure Triggers<a class="headerlink" href="#failure-triggers" title="Link to this heading"></a></h3>
+<p>To trigger off of the upstream task failing:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># B triggers if A FAILS:</span>
+<span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;A:fail =&gt; B&quot;</span>
+</pre></div>
+</div>
+</section>
+<section id="start-triggers">
+<h3>Start Triggers<a class="headerlink" href="#start-triggers" title="Link to this heading"></a></h3>
+<p>To trigger off of the upstream task starting:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># B triggers if A STARTS EXECUTING:</span>
+<span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;A:start =&gt; B&quot;</span>
+</pre></div>
+</div>
+<p>This can be used to trigger tasks that monitor the execution of other tasks,
+e.g. to process their output files on the fly as they are generated.
+<a class="reference internal" href="#messagetriggers"><span class="std std-ref">Message Triggers</span></a> can also be useful for this use case.</p>
+</section>
+<section id="finish-triggers">
+<h3>Finish Triggers<a class="headerlink" href="#finish-triggers" title="Link to this heading"></a></h3>
+<p>To trigger off of the upstream task either succeeding <strong>or</strong> failing:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># B triggers if A either SUCCEEDS or FAILS:</span>
+<span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;A | A:fail =&gt; B&quot;</span>
+
+<span class="c1"># or</span>
+<span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;A:finish =&gt; B&quot;</span>
+</pre></div>
+</div>
+</section>
+<section id="message-triggers">
+<span id="messagetriggers"></span><h3>Message Triggers<a class="headerlink" href="#message-triggers" title="Link to this heading"></a></h3>
+<div class="tip tutorial-ref admonition">
+<p class="admonition-title">Related Tutorial</p>
+<p><a class="reference internal" href="../../tutorial/furthertopics/message-triggers.html#tutorial-cylc-message-triggers"><span class="std std-ref">Message Trigger Tutorial</span></a></p>
+</div>
+<p>We can also trigger off of custom task output messages. These must be
+registered in the <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][outputs]" title="flow.cylc[runtime][&lt;namespace&gt;][outputs]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime][&lt;namespace&gt;][outputs]</span></code></a> section
+of the emitting task, and sent with <code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">message</span></code> command.
+The graph trigger syntax refers to the item name of the registered
+output message. Here’s an example workflow that uses message triggers:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 20140801T00</span>
+    <span class="nv">final cycle point </span><span class="o">=</span><span class="s"> 20141201T00</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P2M </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">foo</span><span class="c">:</span><span class="kd">out1</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+            <span class="kd">foo</span>[<span class="nb">-P2M</span>]<span class="c">:</span><span class="kd">out2</span> <span class="o">=&gt;</span> <span class="kd">baz</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            sleep 5</span>
+<span class="s2">            cylc message -- &quot;${CYLC_WORKFLOW_ID}&quot; &quot;${CYLC_TASK_JOB}&quot; &quot;file 1 done&quot;</span>
+<span class="s2">            sleep 10</span>
+<span class="s2">            cylc message -- &quot;${CYLC_WORKFLOW_ID}&quot; &quot;${CYLC_TASK_JOB}&quot; &quot;file 2 done&quot;</span>
+<span class="s2">            sleep 10</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+        <span class="nt">[[[outputs]]]</span>
+            <span class="nv">out1 </span><span class="o">=</span><span class="s"> &quot;file 1 done&quot;</span>
+            <span class="nv">out2 </span><span class="o">=</span><span class="s"> &quot;file 2 done&quot;</span>
+    <span class="nt">[[bar, baz]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> sleep 10</span>
+</pre></div>
+</div>
+</section>
+<section id="job-submission-triggers">
+<h3>Job Submission Triggers<a class="headerlink" href="#job-submission-triggers" title="Link to this heading"></a></h3>
+<p>To trigger off of a task submitting, or failing to submit:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># B triggers if A submits successfully:</span>
+<span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;A:submit =&gt; B&quot;</span>
+
+<span class="c1"># D triggers if C fails to submit successfully:</span>
+<span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;C:submit-fail =&gt; D&quot;</span>
+</pre></div>
+</div>
+<p>A possible use case for submit-fail triggering: if a task fails to submit,
+possibly after multiple retries, another task that inherits (mostly) the same
+runtime could be triggered to submit the same job to an alternative platform.</p>
+</section>
+<section id="conditional-triggers">
+<h3>Conditional Triggers<a class="headerlink" href="#conditional-triggers" title="Link to this heading"></a></h3>
+<p><a class="reference internal" href="../../glossary.html#term-conditional-trigger"><span class="xref std std-term">Conditional triggers</span></a> allow the configuration of
+more advanced task dependencies.</p>
+<p>AND operators (<code class="docutils literal notranslate"><span class="pre">&amp;</span></code>) can appear on both sides of an arrow. They
+provide a concise alternative to defining multiple triggers separately:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># 1/ this:</span>
+<span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;A &amp; B =&gt; C&quot;</span>
+
+<span class="c1"># is equivalent to:</span>
+<span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">    A =&gt; C</span>
+<span class="s2">    B =&gt; C</span>
+<span class="s2">&quot;&quot;&quot;</span>
+
+<span class="c1"># 2/ this:</span>
+<span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;A =&gt; B &amp; C&quot;</span>
+
+<span class="c1"># is equivalent to:</span>
+<span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">    A =&gt; B</span>
+<span class="s2">    A =&gt; C</span>
+<span class="s2">&quot;&quot;&quot;</span>
+
+<span class="c1"># 3/ and this:</span>
+<span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;A &amp; B =&gt; C &amp; D&quot;</span>
+
+<span class="c1"># is equivalent to this:</span>
+<span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">    A =&gt; C</span>
+<span class="s2">    B =&gt; C</span>
+<span class="s2">    A =&gt; D</span>
+<span class="s2">    B =&gt; D</span>
+<span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>OR operators (<code class="docutils literal notranslate"><span class="pre">|</span></code>), for conditional triggers, can only appear on the left:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># C triggers when either A or B finishes:</span>
+    <span class="nv">R1 </span><span class="o">=</span><span class="s"> &quot;A | B =&gt; C&quot;</span>
+</pre></div>
+</div>
+<p>Any valid conditional expression can be used.</p>
+<div class="twocol docutils container">
+<div class="caption docutils container">
+<p><em>Conditional trigger example</em></p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="c1"># D triggers if A or (B and C) succeed</span>
+<span class="kd">A</span> <span class="o">|</span> <span class="kd">B</span> <span class="o">&amp;</span> <span class="kd">C</span> <span class="o">=&gt;</span> <span class="kd">D</span>
+<span class="c1"># just to align the two graph sections</span>
+<span class="kd">D</span> <span class="o">=&gt;</span> <span class="kd">W</span>
+<span class="c1"># Z triggers if (W or X) and Y succeed</span>
+<span class="p">(</span><span class="kd">W</span><span class="o">|</span><span class="kd">X</span><span class="p">)</span> <span class="o">&amp;</span> <span class="kd">Y</span> <span class="o">=&gt;</span> <span class="kd">Z</span>
+</pre></div>
+</div>
+</div>
+<div class="image docutils container">
+<figure class="align-center" id="fig-conditional">
+<img alt="../../_images/conditional-triggers.png" src="../../_images/conditional-triggers.png" />
+</figure>
+</div>
+</div>
+</section>
+<section id="family-triggers">
+<span id="familytriggers"></span><h3>Family Triggers<a class="headerlink" href="#family-triggers" title="Link to this heading"></a></h3>
+<p><a class="reference internal" href="../../glossary.html#term-family"><span class="xref std std-term">Families</span></a> defined by the runtime inheritance hierarchy
+(<a class="reference internal" href="runtime.html#user-guide-runtime"><span class="std std-ref">Task Configuration</span></a>) can be used in the graph to <a class="reference internal" href="../../glossary.html#term-trigger"><span class="xref std std-term">trigger</span></a> whole
+groups of tasks at the same time (e.g. forecast model ensembles and groups of
+tasks for processing different observation types at the same time) and for
+triggering downstream tasks off families as a whole. Higher level families,
+i.e. families of families, can also be used, and are reduced to the lowest
+level member tasks.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Tasks can also trigger off individual family members if necessary.</p>
+</div>
+<p>To trigger an entire task family at once:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = &quot;foo </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">FAM</span><span class="c">&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[FAM]]</span>    <span class="c1"># a family (because others inherit from it)</span>
+    <span class="nt">[[m1,m2]]</span>  <span class="c1"># family members (inherit from FAM)</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> FAM</span>
+</pre></div>
+</div>
+<p>This is equivalent to:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = &quot;foo </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">m1</span> <span class="o">&amp;</span> <span class="kd">m2</span><span class="c">&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[FAM]]</span>
+    <span class="nt">[[m1,m2]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> FAM</span>
+</pre></div>
+</div>
+<p>To trigger off of a task family you must specify whether the trigger condition
+applies to <strong>all</strong> or <strong>any</strong> of the member tasks:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="c1"># all-member triggers:</span>
+            <span class="kd">FAM</span><span class="c">:</span><span class="kd">start</span><span class="c">-</span><span class="kd">all</span> <span class="o">=&gt;</span> <span class="kd">one</span>
+            <span class="kd">FAM</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">all</span> <span class="o">=&gt;</span> <span class="kd">one</span>
+            <span class="kd">FAM</span><span class="c">:</span><span class="kd">fail</span><span class="c">-</span><span class="kd">all</span> <span class="o">=&gt;</span> <span class="kd">one</span>
+            <span class="kd">FAM</span><span class="c">:</span><span class="kd">finish</span><span class="c">-</span><span class="kd">all</span> <span class="o">=&gt;</span> <span class="kd">one</span>
+            <span class="c1"># any-member triggers:</span>
+            <span class="kd">FAM</span><span class="c">:</span><span class="kd">start</span><span class="c">-</span><span class="kd">any</span> <span class="o">=&gt;</span> <span class="kd">one</span>
+            <span class="kd">FAM</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">any</span> <span class="o">=&gt;</span> <span class="kd">one</span>
+            <span class="kd">FAM</span><span class="c">:</span><span class="kd">fail</span><span class="c">-</span><span class="kd">any</span> <span class="o">=&gt;</span> <span class="kd">one</span>
+            <span class="kd">FAM</span><span class="c">:</span><span class="kd">finish</span><span class="c">-</span><span class="kd">any</span> <span class="o">=&gt;</span> <span class="kd">one</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>Here’s how to trigger downstream processing after if one or more family
+members succeed, but only after all members have finished (succeeded or
+failed):</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+           <span class="kd">FAM</span><span class="c">:</span><span class="kd">finish</span><span class="c">-</span><span class="kd">all</span> <span class="o">&amp;</span> <span class="kd">FAM</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">any</span> <span class="o">=&gt;</span> <span class="kd">foo</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</section>
+<section id="efficient-inter-family-triggering">
+<span id="efficientinterfamilytriggering"></span><h3>Efficient Inter-Family Triggering<a class="headerlink" href="#efficient-inter-family-triggering" title="Link to this heading"></a></h3>
+<p>While Cylc allows writing <a class="reference internal" href="../../glossary.html#term-dependency"><span class="xref std std-term">dependencies</span></a> between two
+<a class="reference internal" href="../../glossary.html#term-family"><span class="xref std std-term">families</span></a> it is important to consider the number of
+dependencies this will generate. In the following example, each member of
+<code class="docutils literal notranslate"><span class="pre">FAM2</span></code> has dependencies pointing at all the members of <code class="docutils literal notranslate"><span class="pre">FAM1</span></code>.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">FAM1</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">any</span> <span class="o">=&gt;</span> <span class="kd">FAM2</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>Expanding this out, you generate <code class="docutils literal notranslate"><span class="pre">N</span> <span class="pre">*</span> <span class="pre">M</span></code> dependencies, where <code class="docutils literal notranslate"><span class="pre">N</span></code> is the
+number of members of <code class="docutils literal notranslate"><span class="pre">FAM1</span></code> and <code class="docutils literal notranslate"><span class="pre">M</span></code> is the number of members of <code class="docutils literal notranslate"><span class="pre">FAM2</span></code>.
+This can result in high memory use as the number of family members grows.</p>
+<p>You can greatly reduce the number of dependencies generated here by putting
+dummy tasks in the graph to represent the state of the upstream family. For
+example, if <code class="docutils literal notranslate"><span class="pre">FAM2</span></code> should trigger off any member of <code class="docutils literal notranslate"><span class="pre">FAM1</span></code> succeeding you
+can use a dummy task <code class="docutils literal notranslate"><span class="pre">FAM1_done</span></code> like this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">FAM1</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">any</span> <span class="o">=&gt;</span> <span class="kd">FAM1_done</span> <span class="o">=&gt;</span> <span class="kd">FAM2</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+<span class="c1"># ...</span>
+    <span class="nt">[[FAM1_done]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> true</span>
+<span class="c1"># ...</span>
+</pre></div>
+</div>
+<p>This <a class="reference internal" href="../../glossary.html#term-graph"><span class="xref std std-term">graph</span></a> generates only <code class="docutils literal notranslate"><span class="pre">N</span> <span class="pre">+</span> <span class="pre">M</span></code> dependencies, which takes
+significantly less memory and CPU to store and evaluate.</p>
+</section>
+<section id="intercycle-triggers">
+<span id="intercyclepointtriggers"></span><h3>Intercycle Triggers<a class="headerlink" href="#intercycle-triggers" title="Link to this heading"></a></h3>
+<p>Most tasks in a workflow typically depend on others with the same
+cycle point, but some may depend on other cycle points <a class="footnote-reference brackets" href="#id11" id="id3" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a>.</p>
+<p><a class="reference internal" href="../../glossary.html#term-intercycle-dependency"><span class="xref std std-term">Intercycle dependence</span></a> is expressed using
+<code class="docutils literal notranslate"><span class="pre">[offset]</span></code> syntax such as <code class="docutils literal notranslate"><span class="pre">foo[-PT12H]</span> <span class="pre">=&gt;</span> <span class="pre">foo</span></code>, which means <code class="docutils literal notranslate"><span class="pre">foo</span></code> at the
+current cycle point depends on a previous instance of <code class="docutils literal notranslate"><span class="pre">foo</span></code> at 12 hours
+before the current cycle point. Unlike for recurrences (e.g. <code class="docutils literal notranslate"><span class="pre">T00,T12</span></code>),
+dependency these offsets are relative to the current cycle point, not the
+initial cycle point.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[graph]]</span>
+    <span class="c1"># B triggers off A in the previous cycle point</span>
+    <span class="nv">PT6H = &quot;A[-PT6H] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">B</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>intercycle and trigger type (or message trigger) syntax can be
+combined:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># B triggers if A in the previous cycle point fails:</span>
+<span class="nv">PT6H </span><span class="o">=</span><span class="s"> &quot;A[-PT6H]:fail =&gt; B&quot;</span>
+</pre></div>
+</div>
+<p>For convenience, Cylc automatically ignores intercycle triggers that reach back
+beyond the initial cycle point. If something special has to happen at start-up,
+<code class="docutils literal notranslate"><span class="pre">R1</span></code> tasks are the recommended way to make it happen:</p>
+<blockquote>
+<div><div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = &quot;prep1 </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">prep2</span><span class="c">&quot;</span>
+<span class="nv">        R1/T00,R1/T12 = &quot;prep2[^] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">foo</span><span class="c">&quot;</span>
+<span class="nv">        T00,T12 = &quot;foo[-PT12H] =&gt; foo </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">bar</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+</div></blockquote>
+<p>Here there is a dependence on the initial <code class="docutils literal notranslate"><span class="pre">R1</span></code> task <code class="docutils literal notranslate"><span class="pre">prep</span></code> for <code class="docutils literal notranslate"><span class="pre">foo</span></code> at
+the first <code class="docutils literal notranslate"><span class="pre">T00</span></code> cycle point, and at the first <code class="docutils literal notranslate"><span class="pre">T12</span></code> cycle point.
+Thereafter, <code class="docutils literal notranslate"><span class="pre">foo</span></code> just depends on its previous (12 hours ago) instance.</p>
+<p>It can also be useful to have specific dependencies on tasks at or near
+the initial cycle point. You can switch the context of the offset to be
+the initial cycle point by using the caret symbol: <code class="docutils literal notranslate"><span class="pre">^</span></code>.</p>
+<p>For example, <code class="docutils literal notranslate"><span class="pre">foo[^]</span></code> means <code class="docutils literal notranslate"><span class="pre">foo</span></code> at the initial cycle point, and
+<code class="docutils literal notranslate"><span class="pre">foo[^+PT6H]</span></code> means <code class="docutils literal notranslate"><span class="pre">foo</span></code> 6 hours after the initial cycle point. Usually,
+this kind of dependency will only apply in a limited number of cycle points
+near the start of the workflow, so you may want to write it in an <code class="docutils literal notranslate"><span class="pre">R1</span></code> graph.</p>
+<p>Finally, dependence on a task at a specific cycle point is also possible:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1/20200202 = &quot;baz[20200101] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">qux</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>However, in a long running workflow it is best to avoid a repeating cycle
+that depends forever on a specific cycle point (such as the initial point)
+as this can adversely affect the scheduler’s performance.</p>
+</div>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2010</span>
+    <span class="nt">[[graph]]</span>
+        <span class="c1"># Can cause performance issue!</span>
+        <span class="nv">P1D = &quot;baz[20200101] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">qux</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+</section>
+<section id="special-sequential-tasks">
+<span id="sequentialtasks"></span><h3>Special Sequential Tasks<a class="headerlink" href="#special-sequential-tasks" title="Link to this heading"></a></h3>
+<p>Tasks that depend on their own previous-cycle instance can be declared as
+<em>sequential</em>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[special tasks]]</span>
+        <span class="c1"># foo depends on its previous instance:</span>
+        <span class="nv">sequential </span><span class="o">=</span><span class="s"> foo</span>  <span class="c1"># deprecated - see below!</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00,T12 = &quot;foo </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">bar</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>However, explicit intercycle triggers are generally preferred:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="c1"># foo depends on its previous instance:</span>
+        <span class="nv">T00,T12 = &quot;foo[-PT12H] =&gt; foo </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">bar</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>The sequential declaration is arguably convenient in one unusual situation
+though: if a task has a non-uniform cycling sequence then multiple explicit
+triggers,</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00,T03,T11 = &quot;foo </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">bar</span><span class="c">&quot;</span>
+<span class="nv">        T00 = &quot;foo[-PT13H] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">foo</span><span class="c">&quot;</span>
+<span class="nv">        T03 = &quot;foo[-PT3H] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">foo</span><span class="c">&quot;</span>
+<span class="nv">        T11 = &quot;foo[-PT8H] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">foo</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>can be replaced by a single sequential declaration,</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[special tasks]]</span>
+        <span class="nv">sequential </span><span class="o">=</span><span class="s"> foo</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00,T03,T11 = &quot;foo </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">bar</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+</section>
+<section id="future-triggers">
+<h3>Future Triggers<a class="headerlink" href="#future-triggers" title="Link to this heading"></a></h3>
+<p>Cylc also supports <a class="reference internal" href="../../glossary.html#term-intercycle-trigger"><span class="xref std std-term">intercycle triggering</span></a> off
+tasks “in the future” (with respect to cycle point):</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[[graph]]</span>
+    <span class="nv">T00,T06,T12,T18 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+        <span class="c1"># A runs in this cycle:</span>
+        <span class="kd">A</span>
+        <span class="c1"># B in this cycle triggers off A in the next cycle.</span>
+        <span class="kd">A</span>[<span class="nb">PT6H</span>] <span class="o">=&gt;</span> <span class="kd">B</span>
+    <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>Future triggers present a problem at workflow shutdown rather than at start-up.
+Here, <code class="docutils literal notranslate"><span class="pre">B</span></code> at the final cycle point wants to trigger off an instance
+of <code class="docutils literal notranslate"><span class="pre">A</span></code> that will never exist because it is beyond the workflow stop
+point. Consequently Cylc prevents tasks from spawning successors that depend on
+other tasks beyond the final point.</p>
+</section>
+<section id="clock-triggers">
+<span id="clocktriggertasks"></span><h3>Clock Triggers<a class="headerlink" href="#clock-triggers" title="Link to this heading"></a></h3>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>This describes a deprecated syntax for defining clock triggers in task
+configuration. If used, it will be converted automatically to define
+new-style <a class="reference internal" href="external-triggers.html#built-in-clock-triggers"><span class="std std-ref">clock triggers</span></a>.
+Support for the old syntax will be removed in an upcoming release.</p>
+</div>
+<p>By default, datetime cycle points are not connected to the <a class="reference internal" href="../../glossary.html#term-wallclock-time"><span class="xref std std-term">wallclock time</span></a>.
+In real time cycling systems, however, some tasks may need to trigger at
+(or at some offset from) their cycle point in real time.</p>
+<p>Cylc points are full datetimes, not just times of the day, so clock-triggers
+provide no constraint if the workflow gets sufficiently far behind the clock,
+allowing maximum concurrency until the clock-triggered tasks catch up again.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[special tasks]]</span>
+        <span class="nv">clock-trigger </span><span class="o">=</span><span class="s"> foo(PT2H)</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00 </span><span class="o">=</span> <span class="kd">foo</span>
+</pre></div>
+</div>
+<p>Here, <code class="docutils literal notranslate"><span class="pre">2025-08-23T00/foo</span></code> would trigger (other dependencies allowing)
+when the wallclock time reaches <code class="docutils literal notranslate"><span class="pre">2025-08-23T02</span></code>. Clock-trigger
+offsets are normally positive, to trigger <em>after</em> the wallclock time is equal
+to the task cycle point.</p>
+</section>
+<section id="clock-expire-triggers">
+<span id="clockexpiretasks"></span><h3>Clock-Expire Triggers<a class="headerlink" href="#clock-expire-triggers" title="Link to this heading"></a></h3>
+<p>Tasks can be configured to <em>expire</em> and skip job submission if they are too far
+behind the wallclock when they become ready to run (and other tasks can trigger
+off of this).</p>
+<p>For example, if a clock-triggered task always copies the latest of a set of
+files to overwrite the previous set, in every cycle, there would be no point in
+running it late because the files it copied would be immediately overwritten by
+the next task instance as the workflow catches back up to real time operation.</p>
+<p>Clock-expire tasks are configured with
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduling][special tasks]clock-expire" title="flow.cylc[scheduling][special tasks]clock-expire"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling][special</span> <span class="pre">tasks]clock-expire</span></code></a> using a syntax like
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduling][special tasks]clock-trigger" title="flow.cylc[scheduling][special tasks]clock-trigger"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">clock-trigger</span></code></a>
+with a datetime offset relative to cycle point.
+The offset should be positive to make the task expire if the wallclock time
+has gone beyond the cycle point.</p>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>The scheduler can only determine that a task has expired once it has
+appeared in the active window of the workflow.</p>
+</div>
+</section>
+<section id="external-triggers">
+<span id="workflowconfigexternaltriggers"></span><h3>External Triggers<a class="headerlink" href="#external-triggers" title="Link to this heading"></a></h3>
+<p>This is a substantial topic, documented separately
+in <a class="reference internal" href="external-triggers.html#section-external-triggers"><span class="std std-ref">External Triggers</span></a>.</p>
+</section>
+</section>
+<section id="incomplete-tasks">
+<span id="required-outputs"></span><span id="user-guide-required-outputs"></span><span id="id4"></span><h2>Required Outputs<a class="headerlink" href="#incomplete-tasks" title="Link to this heading"></a></h2>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<p><a class="reference internal" href="../../glossary.html#term-task-output"><span class="xref std std-term">Task outputs</span></a> in the <a class="reference internal" href="../../glossary.html#term-graph"><span class="xref std std-term">graph</span></a> are either
+<a class="reference internal" href="../../glossary.html#term-required-output"><span class="xref std std-term">required</span></a> (the default) or  <a class="reference internal" href="../../glossary.html#term-optional-output"><span class="xref std std-term">optional</span></a>.</p>
+<p>The scheduler requires all task outputs to be completed at runtime, unless they
+are marked with <code class="docutils literal notranslate"><span class="pre">?</span></code> as optional. This allows it to correctly diagnose
+<a class="reference internal" href="../../glossary.html#term-workflow-completion"><span class="xref std std-term">workflow completion</span></a>. <a class="footnote-reference brackets" href="#id12" id="id5" role="doc-noteref"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></a></p>
+<p>Tasks that finish without completing required outputs  <a class="footnote-reference brackets" href="#id13" id="id6" role="doc-noteref"><span class="fn-bracket">[</span>3<span class="fn-bracket">]</span></a> are retained as
+<a class="reference internal" href="#incomplete-tasks"><span class="std std-ref">incomplete</span></a> pending user intervention, e.g. to be
+retriggered after a bug fix.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Incomplete tasks stall the workflow if there is nothing else to do (see
+<a class="reference internal" href="../running-workflows/workflow-completion.html#workflow-completion"><span class="std std-ref">Workflow Completion</span></a>). They also count toward the <a class="reference internal" href="../../glossary.html#term-runahead-limit"><span class="xref std std-term">runahead
+limit</span></a>, because they may run again once dealt with.</p>
+</div>
+<p>This graph says task <code class="docutils literal notranslate"><span class="pre">bar</span></code> should trigger if <code class="docutils literal notranslate"><span class="pre">foo</span></code> succeeds:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">bar</span>  <span class="c1"># short for &quot;foo:succeed =&gt; bar&quot;</span>
+</pre></div>
+</div>
+<p>Additionally, <code class="docutils literal notranslate"><span class="pre">foo</span></code> is required to succeed, because its success is not marked
+as optional. If <code class="docutils literal notranslate"><span class="pre">foo</span></code> does not succeeded, the scheduler will not run <code class="docutils literal notranslate"><span class="pre">bar</span></code>,
+and <code class="docutils literal notranslate"><span class="pre">foo</span></code> will be retained as an incomplete task.</p>
+<p>Here, <code class="docutils literal notranslate"><span class="pre">foo:succeed</span></code>, <code class="docutils literal notranslate"><span class="pre">bar:x</span></code>, and <code class="docutils literal notranslate"><span class="pre">baz:fail</span></code> are all required outputs:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span>
+<span class="kd">bar</span><span class="c">:</span><span class="kd">x</span>
+<span class="kd">baz</span><span class="c">:</span><span class="kd">fail</span>
+</pre></div>
+</div>
+<p>Tasks that appear with only custom outputs in the graph are also required to succeed.
+Here, <code class="docutils literal notranslate"><span class="pre">foo:succeed</span></code> is a required output, as well as <code class="docutils literal notranslate"><span class="pre">foo:x</span></code>, unless it is
+marked as optional elsewhere in the graph:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span><span class="c">:</span><span class="kd">x</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+</pre></div>
+</div>
+<p>If a task generates multiple custom outputs, they should be “required” if you
+expect them all to be completed every time the task runs. Here,
+<code class="docutils literal notranslate"><span class="pre">model:file1</span></code>, <code class="docutils literal notranslate"><span class="pre">model:file2</span></code>, and <code class="docutils literal notranslate"><span class="pre">model:file3</span></code> are all required outputs:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">model</span><span class="c">:</span><span class="kd">file1</span> <span class="o">=&gt;</span> <span class="kd">proc1</span>
+<span class="kd">model</span><span class="c">:</span><span class="kd">file2</span> <span class="o">=&gt;</span> <span class="kd">proc2</span>
+<span class="kd">model</span><span class="c">:</span><span class="kd">file3</span> <span class="o">=&gt;</span> <span class="kd">proc3</span>
+</pre></div>
+</div>
+</section>
+<section id="user-guide-optional-outputs">
+<span id="optional-outputs"></span><span id="id7"></span><h2>Optional Outputs<a class="headerlink" href="#user-guide-optional-outputs" title="Link to this heading"></a></h2>
+<div class="versionadded">
+<p><span class="versionmodified added">New in version 8.0.0.</span></p>
+</div>
+<p>Optional outputs are marked with <code class="docutils literal notranslate"><span class="pre">?</span></code>. They may or may not be completed by the
+task at runtime.</p>
+<p>Like the first example above, the following graph says task <code class="docutils literal notranslate"><span class="pre">bar</span></code> should
+trigger if <code class="docutils literal notranslate"><span class="pre">foo</span></code> succeeds:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">bar</span>  <span class="c1"># short for &quot;foo:succeed? =&gt; bar&quot;</span>
+</pre></div>
+</div>
+<p>But now <code class="docutils literal notranslate"><span class="pre">foo:succeed</span></code> is optional, so we might expect it to fail sometimes.
+And if it does fail, it will not be marked as an incomplete task.</p>
+<p>Here, <code class="docutils literal notranslate"><span class="pre">foo:succeed</span></code>, <code class="docutils literal notranslate"><span class="pre">bar:x</span></code>, and <code class="docutils literal notranslate"><span class="pre">baz:fail</span></code> are all optional outputs:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span><span class="kt">?</span>
+<span class="kd">bar</span><span class="c">:</span><span class="kd">x</span><span class="kt">?</span>
+<span class="kd">baz</span><span class="c">:</span><span class="kd">fail</span><span class="kt">?</span>
+</pre></div>
+</div>
+<p>Success and failure (of the same task) are mutually exclusive, so they must
+both be optional if one is optional, or if they both appear in the graph:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+<span class="kd">foo</span><span class="c">:</span><span class="kd">fail</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">baz</span>
+</pre></div>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Optional outputs must be marked as optional everywhere they appear in the
+graph, to avoid ambiguity.</p>
+</div>
+<p>If a task generates multiple custom outputs, they should all be declared optional
+if you do not expect them to be completed every time the task runs:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="c1"># model:x, :y, and :z are all optional outputs:</span>
+<span class="kd">model</span><span class="c">:</span><span class="kd">x</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">proc</span><span class="c">-</span><span class="kd">x</span>
+<span class="kd">model</span><span class="c">:</span><span class="kd">y</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">proc</span><span class="c">-</span><span class="kd">y</span>
+<span class="kd">model</span><span class="c">:</span><span class="kd">z</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">proc</span><span class="c">-</span><span class="kd">z</span>
+</pre></div>
+</div>
+<p>This is an example of <a class="reference internal" href="../../glossary.html#term-graph-branching"><span class="xref std std-term">graph branching</span></a> from optional outputs. Whether a
+particular branch is taken or not depends on which optional outputs are
+completed at runtime. For more information see <a class="reference internal" href="#graph-branching"><span class="std std-ref">Graph Branching</span></a>.</p>
+<p>Leaf tasks (with nothing downstream of them) can have optional outputs. In the
+following graph, <code class="docutils literal notranslate"><span class="pre">foo</span></code> is required to succeed, but it doesn’t matter whether
+<code class="docutils literal notranslate"><span class="pre">bar</span></code> succeeds or fails:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">bar</span><span class="kt">?</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Optional outputs do not affect <em>triggering</em>. They just tell the scheduler
+what to do with the task if it finishes without completing the output.</p>
+<p>This graph triggers <code class="docutils literal notranslate"><span class="pre">bar</span></code> if <code class="docutils literal notranslate"><span class="pre">foo</span></code> succeeds, and does not trigger
+<code class="docutils literal notranslate"><span class="pre">bar</span></code> if <code class="docutils literal notranslate"><span class="pre">foo</span></code> fails:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+</pre></div>
+</div>
+<p>And so does this graph:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+</pre></div>
+</div>
+<p>The only difference is whether or not the scheduler regards <code class="docutils literal notranslate"><span class="pre">foo</span></code> as
+incomplete if it fails.</p>
+</div>
+<section id="id8">
+<h3>Finish Triggers<a class="headerlink" href="#id8" title="Link to this heading"></a></h3>
+<p><code class="docutils literal notranslate"><span class="pre">foo:finish</span></code> is a pseudo output that is short for <code class="docutils literal notranslate"><span class="pre">foo:succeed?</span> <span class="pre">|</span>
+<span class="pre">foo:fail?</span></code>. This automatically labels the real outputs as optional, because
+success and failure can’t both be required.</p>
+<p><code class="docutils literal notranslate"><span class="pre">foo:finish?</span></code> is illegal because it incorrectly suggests that “finishing
+is optional” and that a non-optional version of the trigger makes sense.</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="c1"># Good:</span>
+<span class="kd">R1</span> <span class="c">=</span> <span class="c">&quot;&quot;&quot;</span>
+   <span class="kd">foo</span><span class="c">:</span><span class="kd">finish</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+   <span class="kd">foo</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">baz</span>
+<span class="c">&quot;&quot;&quot;</span>
+
+<span class="c1"># Error:</span>
+<span class="kd">R1</span> <span class="c">=</span> <span class="c">&quot;&quot;&quot;</span>
+   <span class="kd">foo</span><span class="c">:</span><span class="kd">finish</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+   <span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">baz</span>  <span class="c1"># ERROR : foo:succeed must be optional here!</span>
+<span class="c">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</section>
+<section id="optional-outputs-family-triggers">
+<span id="id9"></span><h3>Family Triggers<a class="headerlink" href="#optional-outputs-family-triggers" title="Link to this heading"></a></h3>
+<p>Family triggers are based on family pseudo outputs such as <code class="docutils literal notranslate"><span class="pre">FAM:succeed-all</span></code>
+and <code class="docutils literal notranslate"><span class="pre">FAM:fail-any</span></code> that are short for logical expressions involving the
+corresponding member task outputs.</p>
+<p>If the member outputs are not singled out explicitly elsewhere in the graph,
+then they default to being required outputs.</p>
+<p>For example, if <code class="docutils literal notranslate"><span class="pre">f1</span></code> and <code class="docutils literal notranslate"><span class="pre">f2</span></code> are members of <code class="docutils literal notranslate"><span class="pre">FAM</span></code>, then this:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">FAM</span><span class="c">:</span><span class="kd">fail</span><span class="c">-</span><span class="kd">all</span> <span class="o">=&gt;</span> <span class="kd">a</span>
+</pre></div>
+</div>
+<p>means:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">f1</span><span class="c">:</span><span class="kd">fail</span> <span class="o">&amp;</span> <span class="kd">f2</span><span class="c">:</span><span class="kd">fail</span> <span class="o">=&gt;</span> <span class="kd">a</span>  <span class="c1"># f1:fail and f2:fail are required</span>
+</pre></div>
+</div>
+<p>and this:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">FAM</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">any</span> <span class="o">=&gt;</span> <span class="kd">a</span>
+</pre></div>
+</div>
+<p>means:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">f1</span> <span class="o">|</span> <span class="kd">f2</span> <span class="o">=&gt;</span> <span class="kd">a</span>  <span class="c1"># f1:succeed and f2:succeed are required</span>
+</pre></div>
+</div>
+<p>However, the family default can be changed to optional by using <code class="docutils literal notranslate"><span class="pre">?</span></code> on the
+family trigger. So this:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">FAM</span><span class="c">:</span><span class="kd">fail</span><span class="c">-</span><span class="kd">all</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">a</span>
+</pre></div>
+</div>
+<p>means this:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">f1</span><span class="c">:</span><span class="kd">fail</span><span class="kt">?</span> <span class="o">&amp;</span> <span class="kd">f2</span><span class="c">:</span><span class="kd">fail</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">a</span>  <span class="c1"># f1:fail and f2:fail are optional</span>
+</pre></div>
+</div>
+<p>If particular member tasks are singled out elsewhere in the graph, that
+overrides the family default for required/optional outputs:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="c1"># f1:fail is required, and f2:fail is optional:</span>
+<span class="kd">FAM</span><span class="c">:</span><span class="kd">fail</span><span class="c">-</span><span class="kd">all</span> <span class="o">=&gt;</span> <span class="kd">a</span>
+<span class="kd">f2</span><span class="c">:</span><span class="kd">fail</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">b</span>
+</pre></div>
+</div>
+</section>
+<section id="family-finish-triggers">
+<h3>Family Finish Triggers<a class="headerlink" href="#family-finish-triggers" title="Link to this heading"></a></h3>
+<p>Like task <code class="docutils literal notranslate"><span class="pre">:finish</span></code> triggers, family <code class="docutils literal notranslate"><span class="pre">:finish-all/any</span></code> triggers are
+different because <code class="docutils literal notranslate"><span class="pre">:finish</span></code> is a pseudo output involving both <code class="docutils literal notranslate"><span class="pre">:succeed</span></code>
+and <code class="docutils literal notranslate"><span class="pre">:fail</span></code>, which are mutually exclusive outputs that must both be optional
+if both are used.</p>
+<p>Also like task <code class="docutils literal notranslate"><span class="pre">:finish</span></code> triggers, use of <code class="docutils literal notranslate"><span class="pre">?</span></code> is illegal on a family
+finish trigger, because the underlying member outputs must already be optional.</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">FAM</span><span class="c">:</span><span class="kd">finish</span><span class="c">-</span><span class="kd">all</span> <span class="o">=&gt;</span> <span class="kd">a</span>  <span class="c1"># f1:succeed/fail and f2:succeed/fail are optional</span>
+<span class="kd">FAM</span><span class="c">:</span><span class="kd">finish</span><span class="c">-</span><span class="kd">any</span> <span class="o">=&gt;</span> <span class="kd">a</span>  <span class="c1"># (ditto)</span>
+
+<span class="kd">FAM</span><span class="c">:</span><span class="kd">finish</span><span class="c">-</span><span class="kd">all</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">b</span>  <span class="c1"># ERROR</span>
+</pre></div>
+</div>
+</section>
+</section>
+<section id="graph-branching">
+<span id="id10"></span><h2>Graph Branching<a class="headerlink" href="#graph-branching" title="Link to this heading"></a></h2>
+<p>Cylc handles workflow <a class="reference internal" href="../../glossary.html#term-graph"><span class="xref std std-term">graphs</span></a> in an event-driven way.  It can
+automatically follow different paths depending on events at runtime. This
+relies on <a class="reference internal" href="../../glossary.html#term-optional-output"><span class="xref std std-term">optional outputs</span></a> and is called <em>branching</em>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>In Cylc 7 and earlier, graphs were not event-driven and needed
+<a class="reference internal" href="../../glossary.html#term-suicide-trigger"><span class="xref std std-term">suicide triggers</span></a> to clean up unused
+branches at runtime.</p>
+<p>Cylc 8 does not need suicide triggers for branching.</p>
+</div>
+<section id="basic-example">
+<h3>Basic Example<a class="headerlink" href="#basic-example" title="Link to this heading"></a></h3>
+<p>Here Cylc will follow one of two “branches” depending on the outcome of task <code class="docutils literal notranslate"><span class="pre">b</span></code>:</p>
+<ul class="simple">
+<li><p>If <code class="docutils literal notranslate"><span class="pre">b</span></code> succeeds then the task <code class="docutils literal notranslate"><span class="pre">c</span></code> will run.</p></li>
+<li><p>If <code class="docutils literal notranslate"><span class="pre">b</span></code> fails then the task <code class="docutils literal notranslate"><span class="pre">r</span></code> will run.</p></li>
+</ul>
+<p>Task <code class="docutils literal notranslate"><span class="pre">d</span></code> will run after either <code class="docutils literal notranslate"><span class="pre">c</span></code> or <code class="docutils literal notranslate"><span class="pre">r</span></code> succeeds.</p>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-49ba9b997629895dcb4de0b35f149b3287affd13.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph example {
+subgraph cluster_success {
+   label = &quot;:succeed&quot;
+   color = &quot;green&quot;
+   fontcolor = &quot;green&quot;
+   style = &quot;dashed&quot;
+
+   c
+}
+
+subgraph cluster_failure {
+   label = &quot;:fail&quot;
+   color = &quot;red&quot;
+   fontcolor = &quot;red&quot;
+   style = &quot;dashed&quot;
+
+   r
+}
+
+a -&gt; b -&gt; c -&gt; d
+b -&gt; r -&gt; d
+}</p></object></div>
+</div>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="c1"># the success path</span>
+<span class="kd">a</span> <span class="o">=&gt;</span> <span class="kd">b</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">c</span>
+<span class="c1"># the fail path</span>
+<span class="kd">a</span> <span class="o">=&gt;</span> <span class="kd">b</span><span class="c">:</span><span class="kd">fail</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">r</span>
+<span class="c1"># either way, carry on with the rest of the workflow</span>
+<span class="kd">c</span> <span class="o">|</span> <span class="kd">r</span> <span class="o">=&gt;</span> <span class="kd">d</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">?</span></code> symbol denotes an <a class="reference internal" href="../../glossary.html#term-optional-output"><span class="xref std std-term">optional output</span></a> which allows the graph to
+branch.</p>
+<p>Note the last line of the graph <code class="docutils literal notranslate"><span class="pre">c</span> <span class="pre">|</span> <span class="pre">r</span> <span class="pre">=&gt;</span> <span class="pre">d</span></code> allows the graph to
+continue on to <code class="docutils literal notranslate"><span class="pre">d</span></code> regardless of the path taken. This is an <a class="reference internal" href="../../glossary.html#term-artificial-dependency"><span class="xref std std-term">artificial
+dependency</span></a>.</p>
+<p>Branching is often used for automatic failure recovery. Here’s a simple
+example:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span> <span class="o">=&gt;</span> <span class="kd">bar</span>
+<span class="kd">bar</span><span class="c">:</span><span class="kd">fail</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">recover</span>
+<span class="kd">bar</span><span class="kt">?</span> <span class="o">|</span> <span class="kd">recover</span> <span class="o">=&gt;</span> <span class="kd">baz</span>
+</pre></div>
+</div>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-96a7dfe8255fbca2ef4621d8e1a50a80c86195c2.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Example {
+subgraph cluster_1 {
+   label = &quot;:fail&quot;
+   color = &quot;red&quot;
+   fontcolor = &quot;red&quot;
+   style = &quot;dashed&quot;
+
+   recover
+}
+
+foo -&gt; bar
+bar -&gt; recover
+recover -&gt; baz [arrowhead=&quot;onormal&quot;]
+bar -&gt; baz [arrowhead=&quot;onormal&quot;]
+}</p></object></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">recover</span></code> task would (presumably) analyse the failure of <code class="docutils literal notranslate"><span class="pre">bar</span></code> and, if
+the right failure mode is confirmed, attempt to generate the right outputs
+another way. Then <code class="docutils literal notranslate"><span class="pre">baz</span></code> can trigger off of either branch, to process the
+outputs.</p>
+<p>A more realistic example might have several tasks on each branch. The
+<code class="docutils literal notranslate"><span class="pre">recover</span></code> task could, via inheritance, run the same underlying code as
+<code class="docutils literal notranslate"><span class="pre">bar</span></code>, but configured differently to avoid the failure.</p>
+</section>
+<section id="message-trigger-example">
+<h3>Message Trigger Example<a class="headerlink" href="#message-trigger-example" title="Link to this heading"></a></h3>
+<p>Branching is particularly powerful when using <a class="reference internal" href="#messagetriggers"><span class="std std-ref">Message Triggers</span></a> (i.e.
+<a class="reference internal" href="../../glossary.html#term-custom-output"><span class="xref std std-term">custom outputs</span></a>) to define multiple parallel paths in
+the graph.</p>
+<p>In the following graph there is a task called <code class="docutils literal notranslate"><span class="pre">showdown</span></code> which produces one
+of three possible custom outputs, <code class="docutils literal notranslate"><span class="pre">good</span></code>, <code class="docutils literal notranslate"><span class="pre">bad</span></code> or <code class="docutils literal notranslate"><span class="pre">ugly</span></code>. Cylc will follow
+a different path depending on which of these three outputs is produced.</p>
+<p>As with the previous example each path begins with a different <a class="reference internal" href="../../glossary.html#term-optional-output"><span class="xref std std-term">optional
+output</span></a> of a particular task and ends with an “or” dependency to allow the
+workflow to continue regardless of the path taken.</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="c1"># branch the graph depending on the outcome of &quot;showdown&quot;</span>
+<span class="kd">showdown</span><span class="c">:</span><span class="kd">good</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">good</span>
+<span class="kd">showdown</span><span class="c">:</span><span class="kd">bad</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">bad</span>
+<span class="kd">showdown</span><span class="c">:</span><span class="kd">ugly</span><span class="kt">?</span> <span class="o">=&gt;</span> <span class="kd">ugly</span>
+<span class="c1"># join the graph back together</span>
+<span class="kd">good</span> <span class="o">|</span> <span class="kd">bad</span> <span class="o">|</span> <span class="kd">ugly</span> <span class="o">=&gt;</span> <span class="kd">fin</span>
+</pre></div>
+</div>
+<div align="center" class="align-center"><div class="graphviz"><object data="../../_images/graphviz-8e815b3f336404aebf4c3ca5d0d776c2c9baf002.svg" type="image/svg+xml" class="graphviz">
+<p class="warning">digraph Example {
+subgraph cluster_1 {
+   label = &quot;:good&quot;
+   color = &quot;green&quot;
+   fontcolor = &quot;green&quot;
+   style = &quot;dashed&quot;
+
+   good
+}
+subgraph cluster_2 {
+   label = &quot;:bad&quot;
+   color = &quot;red&quot;
+   fontcolor = &quot;red&quot;
+   style = &quot;dashed&quot;
+
+   bad
+}
+subgraph cluster_3 {
+   label = &quot;:ugly&quot;
+   color = &quot;purple&quot;
+   fontcolor = &quot;purple&quot;
+   style = &quot;dashed&quot;
+
+   ugly
+}
+showdown -&gt; good
+showdown -&gt; bad
+showdown -&gt; ugly
+good -&gt; fin [arrowhead=&quot;onormal&quot;]
+bad -&gt; fin [arrowhead=&quot;onormal&quot;]
+ugly -&gt; fin [arrowhead=&quot;onormal&quot;]
+}</p></object></div>
+</div>
+<p>You can test run this example making <code class="docutils literal notranslate"><span class="pre">showdown</span></code> randomly generate one of the
+three custom outputs:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[showdown]]</span>
+        <span class="c1"># Randomly return one of the three custom outputs.</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            SEED=$RANDOM</span>
+<span class="s2">            if ! (( $SEED % 3 )); then</span>
+<span class="s2">                cylc message &#39;The Good&#39;</span>
+<span class="s2">            elif ! (( ( $SEED + 1 ) % 3 )); then</span>
+<span class="s2">                cylc message &#39;The Bad&#39;</span>
+<span class="s2">            else</span>
+<span class="s2">                cylc message &#39;The Ugly&#39;</span>
+<span class="s2">            fi</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+        <span class="nt">[[[outputs]]]</span>
+            <span class="c1"># Register the three custom outputs.</span>
+            <span class="nv">good </span><span class="o">=</span><span class="s"> &#39;The Good&#39;</span>
+            <span class="nv">bad </span><span class="o">=</span><span class="s"> &#39;The Bad&#39;</span>
+            <span class="nv">ugly </span><span class="o">=</span><span class="s"> &#39;The Ugly&#39;</span>
+</pre></div>
+</div>
+<p>When using message triggers in this way there are two things to be aware of:</p>
+<ol class="arabic">
+<li><p>Message triggers are not exit states.</p>
+<p>Custom output messages are generated <em>before</em> the task has completed, so it
+can be useful to combine them with a regular trigger for safety e.g:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="c1"># good will wait for showdown to finish before running</span>
+<span class="kd">showdown</span><span class="c">:</span><span class="kd">finish</span> <span class="o">&amp;</span> <span class="kd">showdown</span><span class="c">:</span><span class="kd">good</span> <span class="o">=&gt;</span> <span class="kd">good</span>
+
+<span class="c1"># if showdown fails then good will not run</span>
+<span class="kd">showdown</span><span class="c">:</span><span class="kd">succeed</span> <span class="o">&amp;</span> <span class="kd">showdown</span><span class="c">:</span><span class="kd">good</span> <span class="o">=&gt;</span> <span class="kd">good</span>
+</pre></div>
+</div>
+</li>
+<li><p>Whether message outputs from a single task are mutually exclusive or not
+depends on the task, and the workflow should be designed accordingly.</p>
+<p>For example, the <code class="docutils literal notranslate"><span class="pre">showdown</span></code> task above could instead send all three
+messages in succession, after writing out corresponding <em>good</em>, <em>bad</em>, and
+<em>ugly</em> files.</p>
+<p>Check that you understand how your tasks work, if they use custom outputs.</p>
+</li>
+</ol>
+</section>
+</section>
+<section id="limiting-workflow-activity">
+<h2>Limiting Workflow Activity<a class="headerlink" href="#limiting-workflow-activity" title="Link to this heading"></a></h2>
+<p>Cylc will usually try to trigger any task with met dependencies. If this
+risks running more tasks than you wish - if it would overwhelm the job
+platform for example - <a class="reference internal" href="#runaheadlimit"><span class="std std-ref">Runahead Limiting</span></a> and <a class="reference internal" href="#internalqueues"><span class="std std-ref">Internal Queues</span></a> provide
+tools to limit workflow activity.</p>
+<section id="runahead-limiting">
+<span id="runaheadlimit"></span><h3>Runahead Limiting<a class="headerlink" href="#runahead-limiting" title="Link to this heading"></a></h3>
+<p>The scheduler runahead limit determines how many consecutive cycle points can
+be active at once. The base point of the runahead calculation is the current
+lowest-valued point with <a class="reference internal" href="../../glossary.html#term-active"><span class="xref std std-term">active</span></a> or <a class="reference internal" href="../../glossary.html#term-incomplete"><span class="xref std std-term">incomplete</span></a> tasks present.</p>
+<p>The runahead limit can be set with <a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduling]runahead limit" title="flow.cylc[scheduling]runahead limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling]runahead</span> <span class="pre">limit</span></code></a>,
+to an integer interval (for datetime or integer cycling workflows) or to
+a datetime interval (datetime cycling only).</p>
+<p>The integer format <code class="docutils literal notranslate"><span class="pre">Pn</span></code> is an interval that spans <code class="docutils literal notranslate"><span class="pre">n+1</span></code> consecutive cycle
+points, regardless of how the cycle point values increment from one point to
+the next (i.e. regardless of the cycling interval).</p>
+<p>For example, the default runahead limit of <code class="docutils literal notranslate"><span class="pre">P4</span></code> allows 5 active cycle points
+(base point plus the 4 next points) whether the cycling is defined by
+<code class="docutils literal notranslate"><span class="pre">R/^/P1</span></code> or <code class="docutils literal notranslate"><span class="pre">R/^/P3</span></code> etc. (for integer cycling) or <code class="docutils literal notranslate"><span class="pre">R/^/PT6H</span></code> etc. (for
+datetime cycling).</p>
+<p>In the following example, tasks <code class="docutils literal notranslate"><span class="pre">1/foo</span></code> through <code class="docutils literal notranslate"><span class="pre">4/foo</span></code> will submit to
+run immediately at start-up, but <code class="docutils literal notranslate"><span class="pre">5/foo</span></code> will be held back until <code class="docutils literal notranslate"><span class="pre">1/foo</span></code>
+finishes and allows the runahead limit to move on:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">cycling mode </span><span class="o">=</span><span class="s"> integer</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 1</span>
+    <span class="nv">runahead limit </span><span class="o">=</span><span class="s"> P3</span>  <span class="c1"># max 4 active points</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P2 </span><span class="o">=</span> <span class="kd">foo</span>  <span class="c1"># cycle points 1, 3, 5, 7, 9, ...</span>
+</pre></div>
+</div>
+<p>The active cycle points in this workflow, at some point during the run,
+might be <code class="docutils literal notranslate"><span class="pre">29,</span> <span class="pre">31,</span> <span class="pre">33,</span> <span class="pre">35</span></code>, for example.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2050</span>
+    <span class="nv">runahead limit </span><span class="o">=</span><span class="s"> P3</span>  <span class="c1"># max 4 active points</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P2Y </span><span class="o">=</span> <span class="kd">foo</span>  <span class="c1"># cycle points 2050, 2052, 2054, ...</span>
+</pre></div>
+</div>
+<p>The active points in this workflow, at some point during the run, might be
+<code class="docutils literal notranslate"><span class="pre">2060,</span> <span class="pre">2062,</span> <span class="pre">2064,</span> <span class="pre">2068</span></code>.</p>
+<p>With a datetime interval, on the other hand, the number of active cycle points
+depends on the cycling intervals:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2050</span>
+    <span class="nv">runahead limit </span><span class="o">=</span><span class="s"> P4Y</span>  <span class="c1"># max active point: base point + P4Y</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P2Y </span><span class="o">=</span> <span class="kd">foo</span>  <span class="c1"># cycle points 2050, 2052, 2054, ...</span>
+</pre></div>
+</div>
+<p>The active points in this workflow, at some point during the run, might be
+<code class="docutils literal notranslate"><span class="pre">2060,</span> <span class="pre">2062,</span> <span class="pre">2064</span></code>. If the cycling interval was <code class="docutils literal notranslate"><span class="pre">P1Y</span></code> instead of <code class="docutils literal notranslate"><span class="pre">P2Y</span></code>,
+they might be <code class="docutils literal notranslate"><span class="pre">2060,</span> <span class="pre">2061,</span> <span class="pre">2062,</span> <span class="pre">2063,</span> <span class="pre">2064</span></code>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>To restrict activity to a single cycle point at a time (just the base point)
+use a null runahead interval: <code class="docutils literal notranslate"><span class="pre">P0</span></code> or (e.g.) <code class="docutils literal notranslate"><span class="pre">PT0H</span></code>.</p>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Runahead limiting does not restrict activity within a cycle point.
+Workflows with a large number of tasks per cycle may need <a class="reference internal" href="#internalqueues"><span class="std std-ref">internal
+queues</span></a> to constrain activity in absolute terms.</p>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>The scheduler may automatically raise the runahead limit to accommodate
+<a class="reference internal" href="../../glossary.html#term-future-trigger"><span class="xref std std-term">future triggered</span></a> tasks without stalling
+the workflow.</p>
+</div>
+</section>
+<section id="internal-queues">
+<span id="internalqueues"></span><h3>Internal Queues<a class="headerlink" href="#internal-queues" title="Link to this heading"></a></h3>
+<p>Large workflows can potentially overwhelm the system by submitting too many
+jobs at once. Internal queues can prevent this by limiting the number of
+tasks that can be active (submitted or running) at the same time.</p>
+<p>Internal queues are FIFO (first-in-first-out): tasks are released in the same
+order that they were queued. They are configured under
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[scheduling][queues]" title="flow.cylc[scheduling][queues]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[scheduling][queues]</span></code></a> with a <em>name</em>; a list of <em>members</em> assigned
+by task or family name; and a <em>limit</em>, which is the maximum number of active
+members allowed.</p>
+<p>By default every task is assigned to the <code class="docutils literal notranslate"><span class="pre">default</span></code> queue, which by default
+has a zero limit (interpreted by Cylc as no limit). To use a single queue for
+the whole workflow just set the default queue limit:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[queues]]</span>
+        <span class="c1"># limit the entire workflow to 5 active tasks at once</span>
+        <span class="nt">[[[default]]]</span>
+            <span class="nv">limit </span><span class="o">=</span><span class="s"> 5</span>
+</pre></div>
+</div>
+<p>To use additional queues just name them, set limits, and assign members:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[queues]]</span>
+        <span class="nt">[[[q_foo]]]</span>
+            <span class="nv">limit </span><span class="o">=</span><span class="s"> 5</span>
+            <span class="nv">members </span><span class="o">=</span><span class="s"> foo, bar, baz</span>
+</pre></div>
+</div>
+<p>Any tasks not assigned to a particular queue will remain in the default
+queue. The following example illustrates how queues work by running two task
+trees side by side, limited to 2 and 3 tasks respectively:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[meta]</span>
+    <span class="nv">title </span><span class="o">=</span><span class="s"> demonstrates internal queueing</span>
+    <span class="nv">description </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">        Two trees of tasks: the first uses the default queue set to a limit of</span>
+<span class="s2">        two active tasks at once; the second uses another queue limited to three</span>
+<span class="s2">        active tasks at once.</span>
+<span class="s2">    &quot;&quot;&quot;</span>
+
+<span class="nt">[scheduler]</span>
+    <span class="nv">allow implicit tasks </span><span class="o">=</span><span class="s"> True</span>
+
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[queues]]</span>
+        <span class="nt">[[[default]]]</span>
+            <span class="nv">limit </span><span class="o">=</span><span class="s"> 2</span>
+        <span class="nt">[[[foo]]]</span>
+            <span class="nv">limit </span><span class="o">=</span><span class="s"> 3</span>
+            <span class="nv">members </span><span class="o">=</span><span class="s"> n, o, p, FAM2, u, v, w, x, y, z</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">a</span> <span class="o">=&gt;</span> <span class="kd">b</span> <span class="o">&amp;</span> <span class="kd">c</span> <span class="o">=&gt;</span> <span class="kd">FAM1</span>
+            <span class="kd">n</span> <span class="o">=&gt;</span> <span class="kd">o</span> <span class="o">&amp;</span> <span class="kd">p</span> <span class="o">=&gt;</span> <span class="kd">FAM2</span>
+            <span class="kd">FAM1</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">all</span> <span class="o">=&gt;</span> <span class="kd">h</span> <span class="o">&amp;</span> <span class="kd">i</span> <span class="o">&amp;</span> <span class="kd">j</span> <span class="o">&amp;</span> <span class="kd">k</span> <span class="o">&amp;</span> <span class="kd">l</span> <span class="o">&amp;</span> <span class="kd">m</span>
+            <span class="kd">FAM2</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">all</span> <span class="o">=&gt;</span> <span class="kd">u</span> <span class="o">&amp;</span> <span class="kd">v</span> <span class="o">&amp;</span> <span class="kd">w</span> <span class="o">&amp;</span> <span class="kd">x</span> <span class="o">&amp;</span> <span class="kd">y</span> <span class="o">&amp;</span> <span class="kd">z</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+
+<span class="nt">[runtime]</span>
+    <span class="nt">[[FAM1, FAM2]]</span>
+    <span class="nt">[[d,e,f,g]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> FAM1</span>
+    <span class="nt">[[q,r,s,t]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> FAM2</span>
+</pre></div>
+</div>
+</section>
+</section>
+<section id="valid-task-cycle-points">
+<h2>Valid Task Cycle Points<a class="headerlink" href="#valid-task-cycle-points" title="Link to this heading"></a></h2>
+<p>Graph triggers determine the sequence of valid cycle points (via the
+recurrence value of the associated graph string) and the prerequisites, for
+each downstream task in a dependency. In the absence of a cycle point offset
+(intercycle trigger) they also determine the sequence of cycle points for
+the upstream tasks:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2025-01-01T00</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P2D = &quot;foo &amp; bar </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">baz</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>This says <code class="docutils literal notranslate"><span class="pre">baz</span></code> depends on <code class="docutils literal notranslate"><span class="pre">foo</span></code> and <code class="docutils literal notranslate"><span class="pre">bar</span></code> for every point in the
+sequence defined by the recurrence <code class="docutils literal notranslate"><span class="pre">P2D</span></code> (i.e. <code class="docutils literal notranslate"><span class="pre">R/^/P2D</span></code>).</p>
+<p>Cylc does not infer the cyclepoint sequence for upstream tasks in intercycle
+triggers, however. All tasks must be tied to the right sequence by appearing
+somewhere in the graph with no offset. This prevents unintentional creation of
+off-sequence tasks by an offset error in the graph.</p>
+<p>For instance, the following example fails validation with <em>no cycling sequences
+defined for</em> <code class="docutils literal notranslate"><span class="pre">foo</span></code>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2025-01-01T00</span>
+    <span class="nt">[[graph]]</span>
+        <span class="c1"># ERROR!</span>
+        <span class="nv">P2D </span><span class="o">=</span> <span class="c">&quot;</span><span class="kd">foo</span>[<span class="nb">-P1D</span>] <span class="o">&amp;</span> <span class="kd">bar</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>To fix this, <code class="docutils literal notranslate"><span class="pre">foo</span></code> should be explicitly tied to the <code class="docutils literal notranslate"><span class="pre">P2D</span></code> cycle, and the
+correct offset used:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2025-01-01T00</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P2D </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">foo</span>
+            <span class="kd">foo</span>[<span class="nb">-P2D</span>] <span class="o">&amp;</span> <span class="kd">bar</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>Or it should be explicitly tied to the intermediate cycle, if the <code class="docutils literal notranslate"><span class="pre">P1D</span></code> offset
+is actually correct:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2025-01-01T00</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R/+P1D/P2D </span><span class="o">=</span> <span class="kd">foo</span>  <span class="c1"># day 2, 4, 6, ...</span>
+<span class="nv">        P2D </span><span class="o">=</span> <span class="c">&quot;</span><span class="kd">foo</span>[<span class="nb">-P1D</span>] <span class="o">&amp;</span> <span class="kd">bar</span><span class="c">&quot;</span>  <span class="c1"># day 1, 3, 5, ...</span>
+</pre></div>
+</div>
+<p>Note that validation does not detect this sort of error if the target task has
+cyclepoint sequences defined but the offset does not land on them. For example,
+the following graph will validate but <code class="docutils literal notranslate"><span class="pre">bar</span></code> will only run once in the first
+cycle point (where its pre-initial dependence is ignored):</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2025-01-01T00</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P2D </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">foo</span>
+            <span class="kd">foo</span>[<span class="nb">-P1D</span>] <span class="o">=&gt;</span> <span class="kd">bar</span>  <span class="c1"># ERROR: foo doesn&#39;t exist at -P1D</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>To fix this, the offset <code class="docutils literal notranslate"><span class="pre">[-P1D]</span></code> should be changed to <code class="docutils literal notranslate"><span class="pre">[-P2D]</span></code>, or else
+another graph line is needed to generate <code class="docutils literal notranslate"><span class="pre">foo</span></code> instances on the <code class="docutils literal notranslate"><span class="pre">P1D</span></code> sequence:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2025-01-01T00</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P1D </span><span class="o">=</span> <span class="c">&quot;</span><span class="kd">foo</span><span class="c">&quot;</span>
+<span class="nv">        P2D = &quot;foo[-P1D] </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">bar</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+</section>
+<section id="omitting-tasks">
+<h2>Omitting Tasks<a class="headerlink" href="#omitting-tasks" title="Link to this heading"></a></h2>
+<p>It can sometimes be useful to temporarily remove tasks by simply commenting
+them out of the graph. Validation warns about tasks defined under
+<a class="reference internal" href="../../reference/config/workflow.html#flow.cylc[runtime]" title="flow.cylc[runtime]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime]</span></code></a> but not used in the graph, as a reminder to restore them
+or remove them.</p>
+<p>You can also use logical Jinja2 switches (<a class="reference internal" href="jinja2.html#user-guide-jinja2"><span class="std std-ref">Jinja2</span></a>) to
+include or exclude tasks (or anything else) from workflow.</p>
+<aside class="footnote-list brackets">
+<aside class="footnote brackets" id="id11" role="doc-footnote">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id3">1</a><span class="fn-bracket">]</span></span>
+<p>For example, in weather forecasting workflows (and similar systems) each
+new forecast depends partly on the outcome of the previous forecast.</p>
+</aside>
+<aside class="footnote brackets" id="id12" role="doc-footnote">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id5">2</a><span class="fn-bracket">]</span></span>
+<p>By distinguishing graph branches that did not run but should have, from
+those that did not run but were optional.</p>
+</aside>
+<aside class="footnote brackets" id="id13" role="doc-footnote">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id6">3</a><span class="fn-bracket">]</span></span>
+<p>This includes failed job submission, when the <code class="docutils literal notranslate"><span class="pre">:submit</span></code> output is not
+marked as optional.</p>
+</aside>
+</aside>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="configuration.html" class="btn btn-neutral float-left" title="Workflow Configuration" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="runtime.html" class="btn btn-neutral float-right" title="Task Configuration" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/writing-workflows/scheduling";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/user-guide/writing-workflows/suicide-triggers.html b/nightly_8.3/html/user-guide/writing-workflows/suicide-triggers.html
new file mode 100644
index 00000000000..538252af188
--- /dev/null
+++ b/nightly_8.3/html/user-guide/writing-workflows/suicide-triggers.html
@@ -0,0 +1,245 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Suicide Triggers &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../../_static/doctools.js?v=888ff710"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../../genindex.html" />
+    <link rel="search" title="Search" href="../../search.html" />
+    <link rel="next" title="Scheduler Configuration" href="scheduler.html" />
+    <link rel="prev" title="External Triggers" href="external-triggers.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../../index.html">
+            
+              <img src="../../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">User Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../introduction.html">Introduction</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html">Writing Workflows</a><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="configuration.html">Workflow Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="scheduling.html">Scheduling Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="runtime.html">Task Configuration</a></li>
+<li class="toctree-l3"><a class="reference internal" href="parameterized-tasks.html">Task Parameters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="jinja2.html">Jinja2</a></li>
+<li class="toctree-l3"><a class="reference internal" href="empy.html">EmPy</a></li>
+<li class="toctree-l3"><a class="reference internal" href="external-triggers.html">External Triggers</a></li>
+<li class="toctree-l3 current"><a class="current reference internal" href="#">Suicide Triggers</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#remaining-use-case">Remaining Use Case</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="scheduler.html">Scheduler Configuration</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../installing-workflows.html">Installing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../running-workflows/index.html">Running Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../task-implementation/index.html">Task Implementation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../removing-workflows.html">Removing Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../sharing-access-to-workflows.html">Authorizing Others to Access Your Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../compound-commands.html">Compound Commands</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../workflow-design-guide/index.html">Workflow Design Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="../index.html">User Guide</a></li>
+          <li class="breadcrumb-item"><a href="index.html">Writing Workflows</a></li>
+      <li class="breadcrumb-item active">Suicide Triggers</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../../_sources/user-guide/writing-workflows/suicide-triggers.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="suicide-triggers">
+<span id="suicidetriggers"></span><h1>Suicide Triggers<a class="headerlink" href="#suicide-triggers" title="Link to this heading"></a></h1>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Suicided triggers were needed in Cylc 7 and earlier to remove pre-spawned
+waiting tasks from graph branches not taken at runtime, which would stall
+the workflow.</p>
+<p>However, <strong>Cylc 8 does not need suicide triggers for</strong> <a class="reference internal" href="../../glossary.html#term-branching"><span class="xref std std-term">graph
+branching</span></a>.</p>
+<p>They remain supported, and documented, for backward compatibility and for
+a rare <a class="reference internal" href="#remaining-use-cases"><span class="std std-ref">edge case</span></a>.</p>
+</div>
+<p>Suicide triggers remove waiting <a class="reference internal" href="../../glossary.html#term-task"><span class="xref std std-term">tasks</span></a> from the
+<a class="reference internal" href="../../glossary.html#term-scheduler"><span class="xref std std-term">scheduler’s</span></a> active <a class="reference internal" href="../../glossary.html#term-active-window"><span class="xref std std-term">active window</span></a> at runtime.</p>
+<p>They are activated just like normal <a class="reference internal" href="../../glossary.html#term-task-trigger"><span class="xref std std-term">task triggers</span></a> but
+they remove the downstream task (prefixed with <code class="docutils literal notranslate"><span class="pre">!</span></code>) instead of triggering it
+to run.</p>
+<p>Here, the task <code class="docutils literal notranslate"><span class="pre">bar</span></code> will be removed if <code class="docutils literal notranslate"><span class="pre">foo</span></code> succeeds:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span> <span class="o">=&gt;</span> <span class="x">!bar</span>
+</pre></div>
+</div>
+<p>Suicide triggers combine in the same way as normal triggers, so this graph:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span> <span class="o">=&gt;</span> <span class="x">!baz</span>
+<span class="kd">bar</span> <span class="o">=&gt;</span> <span class="x">!baz</span>
+</pre></div>
+</div>
+<p>is equivalent to this:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span> <span class="o">&amp;</span> <span class="kd">bar</span> <span class="o">=&gt;</span> <span class="x">!baz</span>
+</pre></div>
+</div>
+<p>i.e. both <code class="docutils literal notranslate"><span class="pre">foo</span></code> and <code class="docutils literal notranslate"><span class="pre">bar</span></code> must succeed for <code class="docutils literal notranslate"><span class="pre">baz</span></code> to be removed.</p>
+<p>To remove a task after any one of several events, use an OR operator:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="kd">foo</span> <span class="o">|</span> <span class="kd">bar</span> <span class="o">=&gt;</span> <span class="x">!baz</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<ul class="simple">
+<li><p>There’s no point removing tasks that are not in the <code class="docutils literal notranslate"><span class="pre">waiting</span></code> state</p></li>
+<li><p>In Cylc 8 all waiting tasks in front of the active window are virtual and
+don’t need to be “removed”</p></li>
+<li><p>The only non-virtual waiting tasks in Cylc 8 are those <a class="reference internal" href="../../glossary.html#term-active-waiting"><span class="xref std std-term">actively
+waiting</span></a> on an external trigger; these might need to
+be removed if they will never run</p></li>
+</ul>
+</div>
+<section id="remaining-use-case">
+<span id="remaining-use-cases"></span><h2>Remaining Use Case<a class="headerlink" href="#remaining-use-case" title="Link to this heading"></a></h2>
+<p>Suicide triggers may be needed to remove an <a class="reference internal" href="../../glossary.html#term-active-waiting-task"><span class="xref std std-term">active-waiting task</span></a> when it
+can be inferred from the status of another task that the external trigger will
+never be satisfied.</p>
+<p>In the following example imagine that the two xtriggers watch two locations for
+the same file to appear. The file will be delivered to one location or the
+other but not to both, so if one xtrigger is satisfied the other will never be.
+The stuck waiting task can be removed with a suicide trigger, so that it
+doesn’t stall the workflow:</p>
+<div class="highlight-cylc-graph notranslate"><div class="highlight"><pre><span></span><span class="cp">@xtrigger1</span> <span class="o">=&gt;</span> <span class="kd">A</span>
+<span class="cp">@xtrigger2</span> <span class="o">=&gt;</span> <span class="kd">B</span>
+
+<span class="kd">A</span> <span class="o">=&gt;</span> <span class="x">!B</span>  <span class="c1"># If A succeeds, remove B</span>
+<span class="kd">B</span> <span class="o">=&gt;</span> <span class="x">!A</span>  <span class="c1"># If B succeeds, remove A</span>
+</pre></div>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="external-triggers.html" class="btn btn-neutral float-left" title="External Triggers" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="scheduler.html" class="btn btn-neutral float-right" title="Scheduler Configuration" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "user-guide/writing-workflows/suicide-triggers";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/workflow-design-guide/efficiency.html b/nightly_8.3/html/workflow-design-guide/efficiency.html
new file mode 100644
index 00000000000..32eebce4abc
--- /dev/null
+++ b/nightly_8.3/html/workflow-design-guide/efficiency.html
@@ -0,0 +1,474 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Efficiency And Maintainability &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Portable Workflows" href="portable-workflows.html" />
+    <link rel="prev" title="Basic Principles" href="general-principles.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Workflow Design Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="style-guide.html">Style Guidelines</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html">Basic Principles</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Efficiency And Maintainability</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#the-task-family-hierarchy">The Task Family Hierarchy</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#sharing-by-inheritance">Sharing By Inheritance</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#family-triggering">Family Triggering</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#family-to-family-triggering">Family-to-Family Triggering</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#task-families-and-visualization">Task Families And Visualization</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#generating-tasks-automatically">Generating Tasks Automatically</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#jinja2-loops">Jinja2 Loops</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#parameterized-tasks">Parameterized Tasks</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#optional-app-config-files">Optional App Config Files</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="portable-workflows.html">Portable Workflows</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="index.html">Workflow Design Guide</a></li>
+      <li class="breadcrumb-item active">Efficiency And Maintainability</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/workflow-design-guide/efficiency.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="efficiency-and-maintainability">
+<span id="id1"></span><h1>Efficiency And Maintainability<a class="headerlink" href="#efficiency-and-maintainability" title="Link to this heading"></a></h1>
+<p>Efficiency (in the sense of <em>economy of workflow definition</em>) and
+maintainability go hand in hand. This section describes techniques for clean
+and efficient construction of complex workflows that are easy to understand,
+maintain, and modify.</p>
+<section id="the-task-family-hierarchy">
+<span id="id2"></span><h2>The Task Family Hierarchy<a class="headerlink" href="#the-task-family-hierarchy" title="Link to this heading"></a></h2>
+<p>A properly designed family hierarchy fulfils three purposes in Cylc:</p>
+<ul class="simple">
+<li><p>efficient sharing of configuration common to groups of related tasks</p></li>
+<li><p>efficient bulk triggering, for clear scheduling graphs</p></li>
+<li><p>collapsible families in workflow visualization and UI views</p></li>
+</ul>
+<section id="sharing-by-inheritance">
+<span id="id3"></span><h3>Sharing By Inheritance<a class="headerlink" href="#sharing-by-inheritance" title="Link to this heading"></a></h3>
+<p>Duplication is a maintenance risk because changes have to be repeated in
+multiple places without mistakes. On the other hand, unnecessary sharing of
+items via global variables is also bad because it is hard to be sure which
+tasks are using which variables. A properly designed runtime inheritance
+hierarchy can give every task exactly what it needs, and nothing that it
+doesn’t need.</p>
+<p>If a group of related tasks has some configuration in common, it can be
+factored out into a task family inherited by all.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[OBSPROC]]</span>
+        <span class="c1"># Settings common to all obs processing tasks.</span>
+    <span class="nt">[[obs1]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> OBSPROC</span>
+    <span class="nt">[[obs2]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> OBSPROC</span>
+</pre></div>
+</div>
+<p>If several families have settings in common, they can in turn can inherit
+from higher-level families.</p>
+<p>Multiple inheritance allows efficient sharing even for overlapping categories
+of tasks. For example consider that some obs processing tasks in the following
+workflow run parallel jobs and some serial:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[SERIAL]]</span>
+        <span class="c1"># Serial job settings.</span>
+    <span class="nt">[[PARALLEL]]</span>
+        <span class="c1"># Parallel job settings.</span>
+    <span class="nt">[[OBSPROC]]</span>
+        <span class="c1"># Settings for all obs processing tasks.</span>
+    <span class="nt">[[obs1, obs2, obs3]]</span>
+        <span class="c1"># Serial obs processing tasks.</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> OBSPROC, SERIAL</span>
+    <span class="nt">[[obs4, obs5]]</span>
+        <span class="c1"># Parallel obs processing tasks.</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> OBSPROC, PARALLEL</span>
+</pre></div>
+</div>
+<p>Note that workflow parameters should really be used to define family members
+efficiently - see <a class="reference internal" href="#generating-tasks"><span class="std std-ref">Generating Tasks Automatically</span></a>.</p>
+<p>Cylc provides tools to help make sense of your inheritance hierarchy:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span> <span class="pre">-n/--namespaces</span></code> - plot the full multiple
+inheritance graph (not the dependency graph)</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">config</span> <span class="pre">&lt;workflow-id&gt;</span></code> - print selected sections or items
+after inheritance processing</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">graph</span> <span class="pre">&lt;workflow-id&gt;</span></code> - plot the dependency graph, with
+collapsible first-parent families
+(see <a class="reference internal" href="#task-families-and-visualization"><span class="std std-ref">Task Families And Visualization</span></a>)</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">list</span> <span class="pre">-t/--tree</span> <span class="pre">&lt;workflow-id&gt;</span></code> - print the first-parent
+inheritance hierarchy</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">cylc</span> <span class="pre">list</span> <span class="pre">-m/--mro</span> <span class="pre">&lt;workflow-id&gt;</span></code> - print the inheritance
+precedence order for each runtime namespace</p></li>
+</ul>
+</section>
+<section id="family-triggering">
+<h3>Family Triggering<a class="headerlink" href="#family-triggering" title="Link to this heading"></a></h3>
+<p>Task families can be used to simplify the scheduling graph wherever many
+tasks need to trigger at once:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = pre </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">MODELS</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[MODELS]]</span>
+    <span class="nt">[[model1, model2, model3, ...]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> MODELS</span>
+</pre></div>
+</div>
+<p>To trigger <em>off of</em> many tasks at once, family names need to be qualified
+by <code class="docutils literal notranslate"><span class="pre">&lt;state&gt;-all</span></code> or <code class="docutils literal notranslate"><span class="pre">&lt;state&gt;-any</span></code> to indicate the desired
+member-triggering semantics:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+           <span class="kd">pre</span> <span class="o">=&gt;</span> <span class="kd">MODELS</span>
+           <span class="kd">MODELS</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">all</span> <span class="o">=&gt;</span> <span class="kd">post</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>Note that this can be simplified further because Cylc ignores trigger
+qualifiers like <code class="docutils literal notranslate"><span class="pre">:succeed-all</span></code> on the right of trigger arrows
+to allow chaining of dependencies:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = pre =&gt; MODELS:succeed-all </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">post</span>
+</pre></div>
+</div>
+</section>
+<section id="family-to-family-triggering">
+<h3>Family-to-Family Triggering<a class="headerlink" href="#family-to-family-triggering" title="Link to this heading"></a></h3>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = BIG_FAM_1:succeed-all </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">BIG_FAM_2</span>
+</pre></div>
+</div>
+<p>This means every member of <code class="docutils literal notranslate"><span class="pre">BIG_FAM_2</span></code> depends on every member
+of <code class="docutils literal notranslate"><span class="pre">BIG_FAM_1</span></code> succeeding. For very large families this can create so
+many dependencies that it affects the performance of Cylc at run time, as
+well as cluttering graph visualizations with unnecessary edges. Instead,
+interpose a blank task that signifies completion of the first family:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = BIG_FAM_1:succeed-all =&gt; big_fam_1_done </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">BIG_FAM_2</span>
+</pre></div>
+</div>
+<p>For families with <code class="docutils literal notranslate"><span class="pre">M</span></code> and <code class="docutils literal notranslate"><span class="pre">N</span></code> members respectively, this
+reduces the number of dependencies from <code class="docutils literal notranslate"><span class="pre">M*N</span></code> to <code class="docutils literal notranslate"><span class="pre">M+N</span></code>
+without affecting the scheduling.</p>
+<img alt="../_images/fam-to-fam-1.png" src="../_images/fam-to-fam-1.png" />
+<img alt="../_images/fam-to-fam-2.png" src="../_images/fam-to-fam-2.png" />
+</section>
+<section id="task-families-and-visualization">
+<span id="id4"></span><h3>Task Families And Visualization<a class="headerlink" href="#task-families-and-visualization" title="Link to this heading"></a></h3>
+<p><em>First parents</em> in the inheritance hierarchy double as collapsible summary
+groups for visualization and monitoring. Tasks should generally be grouped into
+visualization families that reflect their logical purpose in the workflow rather
+than technical detail such as inherited job submission or host settings. So in
+the example under <a class="reference internal" href="#sharing-by-inheritance"><span class="std std-ref">Sharing By Inheritance</span></a> above all
+<code class="docutils literal notranslate"><span class="pre">obs&lt;n&gt;</span></code> tasks collapse into <code class="docutils literal notranslate"><span class="pre">OBSPROC</span></code> but not into
+<code class="docutils literal notranslate"><span class="pre">SERIAL</span></code> or <code class="docutils literal notranslate"><span class="pre">PARALLEL</span></code>.</p>
+<p>If necessary you can introduce new namespaces just for visualization:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[MODEL]]</span>
+        <span class="c1"># (No settings here - just for visualization).</span>
+    <span class="nt">[[model1, model2]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> MODEL, HOSTX</span>
+    <span class="nt">[[model3, model4]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> MODEL, HOSTY</span>
+</pre></div>
+</div>
+<p>To stop a solo parent being used in visualization, demote it to secondary with
+a null parent like this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[SERIAL]]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="c1"># Inherit settings from SERIAL but don&#39;t use it in visualization.</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> None, SERIAL</span>
+</pre></div>
+</div>
+</section>
+</section>
+<section id="generating-tasks-automatically">
+<span id="generating-tasks"></span><h2>Generating Tasks Automatically<a class="headerlink" href="#generating-tasks-automatically" title="Link to this heading"></a></h2>
+<p>Groups of tasks that are closely related such as an ensemble of model runs or
+a family of obs processing tasks, or sections of workflow that are repeated
+with minor variations, can be generated automatically by iterating over
+some integer range (e.g. <code class="docutils literal notranslate"><span class="pre">model&lt;n&gt;</span></code> for <code class="docutils literal notranslate"><span class="pre">n</span> <span class="pre">=</span> <span class="pre">1..10</span></code>) or
+list of strings (e.g. <code class="docutils literal notranslate"><span class="pre">obs&lt;type&gt;</span></code> for
+<code class="docutils literal notranslate"><span class="pre">type</span> <span class="pre">=</span> <span class="pre">ship,</span> <span class="pre">buoy,</span> <span class="pre">radiosonde,</span> <span class="pre">...</span></code>).</p>
+<section id="jinja2-loops">
+<h3>Jinja2 Loops<a class="headerlink" href="#jinja2-loops" title="Link to this heading"></a></h3>
+<p>Task generation was traditionally done in Cylc with explicit Jinja2 loops,
+like this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># Task generation the old way: Jinja2 loops (NO LONGER RECOMMENDED!)</span>
+<span class="cp">{% set PARAMS = range(1,11) %}</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="cp">{% for P in PARAMS %}</span>
+            <span class="kd">pre</span> <span class="o">=&gt;</span> <span class="kd">model_p</span><span class="cp">{{P}}</span> <span class="o">=&gt;</span> <span class="kd">post</span>
+    <span class="cp">{% if P == 5 %}</span>
+            <span class="kd">model_p</span><span class="cp">{{P}}</span> <span class="o">=&gt;</span> <span class="kd">check</span>
+    <span class="cp">{% endif %}</span>
+<span class="cp">{% endfor %}</span>    <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+<span class="cp">{% for P in PARAMS %}</span>
+    <span class="nt">[[model_p</span><span class="cp">{{P}}</span><span class="nt">]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> echo &quot;my parameter value is </span><span class="cp">{{P}}</span><span class="s">&quot;</span>
+    <span class="cp">{% if P == 1 %}</span>
+        <span class="c1"># special case...</span>
+    <span class="cp">{% endif %}</span>
+<span class="cp">{% endfor %}</span>
+</pre></div>
+</div>
+<p>Unfortunately this makes a mess of the workflow definition, particularly the
+scheduling graph, and it gets worse with nested loops over multiple parameters.</p>
+<img alt="../_images/param-1.png" src="../_images/param-1.png" />
+</section>
+<section id="parameterized-tasks">
+<span id="sdg-parameterized-tasks"></span><h3>Parameterized Tasks<a class="headerlink" href="#parameterized-tasks" title="Link to this heading"></a></h3>
+<p>Cylc-6.11 introduced built-in <em>workflow parameters</em> for generating tasks
+without destroying the clarity of the base workflow definition. Here’s the same
+example using workflow parameters instead of Jinja2 loops:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># Task generation the new way: workflow parameters.</span>
+<span class="nt">[scheduler]</span>
+    <span class="nt">[[parameters]]</span>
+        <span class="nv">p </span><span class="o">=</span><span class="s"> 1..10</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">pre</span> <span class="o">=&gt;</span> <span class="kd">model</span>&lt;<span class="nb">p</span>&gt; <span class="o">=&gt;</span> <span class="kd">post</span>
+            <span class="kd">model</span>&lt;<span class="nb">p=5</span>&gt; <span class="o">=&gt;</span> <span class="kd">check</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[pre, post, check]]</span>
+    <span class="nt">[[model</span>&lt;<span class="nb">p</span>&gt;<span class="nt">]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> echo &quot;my parameter value is ${CYLC_TASK_PARAM_p}&quot;</span>
+    <span class="nt">[[model</span>&lt;<span class="nb">p=7</span>&gt;<span class="nt">]]</span>
+        <span class="c1"># special case ...</span>
+</pre></div>
+</div>
+<p>Here <code class="docutils literal notranslate"><span class="pre">model&lt;p&gt;</span></code> expands to <code class="docutils literal notranslate"><span class="pre">model_p7</span></code> for <code class="docutils literal notranslate"><span class="pre">p=7</span></code>,
+and so on, via the default expansion template for integer-valued parameters,
+but custom templates can be defined if necessary. Parameters can also be
+defined as lists of strings, and you can define dependencies between different
+values: <code class="docutils literal notranslate"><span class="pre">chunk&lt;p-1&gt;</span> <span class="pre">=&gt;</span> <span class="pre">chunk&lt;p&gt;</span></code>. Here’s a multi-parameter example:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">allow implicit tasks </span><span class="o">=</span><span class="s"> True</span>
+    <span class="nt">[[parameters]]</span>
+        <span class="nv">run </span><span class="o">=</span><span class="s"> a, b, c</span>
+        <span class="nv">m </span><span class="o">=</span><span class="s"> 1..5</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = pre =&gt; init&lt;run&gt; =&gt; sim&lt;run,m&gt; =&gt; close&lt;run&gt; </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">post</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[sim</span>&lt;<span class="nb">run,m</span>&gt;<span class="nt">]]</span>
+</pre></div>
+</div>
+<img alt="../_images/param-2.png" src="../_images/param-2.png" />
+<p>If family members are defined by workflow parameters, then parameterized
+trigger expressions are equivalent to family <code class="docutils literal notranslate"><span class="pre">:&lt;state&gt;-all</span></code> triggers.
+For example, this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nt">[[parameters]]</span>
+        <span class="nv">n </span><span class="o">=</span><span class="s"> 1..5</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = pre =&gt; model&lt;n&gt; </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">post</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[pre, post]]</span>
+    <span class="nt">[[MODELS]]</span>
+    <span class="nt">[[model</span>&lt;<span class="nb">n</span>&gt;<span class="nt">]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> MODELS</span>
+</pre></div>
+</div>
+<p>is equivalent to this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nt">[[parameters]]</span>
+        <span class="nv">n </span><span class="o">=</span><span class="s"> 1..5</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = pre =&gt; MODELS:succeed-all </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">post</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[pre, post]]</span>
+    <span class="nt">[[MODELS]]</span>
+    <span class="nt">[[model</span>&lt;<span class="nb">n</span>&gt;<span class="nt">]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> MODELS</span>
+</pre></div>
+</div>
+<p>(but future plans for family triggering may make the second case more
+efficient for very large families).</p>
+<p>For more information on parameterized tasks see the Cylc user guide.</p>
+</section>
+</section>
+<section id="optional-app-config-files">
+<span id="id5"></span><h2>Optional App Config Files<a class="headerlink" href="#optional-app-config-files" title="Link to this heading"></a></h2>
+<p>Closely related tasks with few configuration differences between them - such as
+multiple UM forecast and reconfiguration apps in the same workflow - should use
+the same Rose app configuration with the differences supplied by optional
+configs, rather than duplicating the entire app for each task.</p>
+<p>Optional app configs should be valid on top of the main app config and not
+dependent on the use of other optional app configs. This ensures they will
+work correctly with macros and can therefore be upgraded automatically.</p>
+<p>Optional app configs can be loaded by command line switch:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>rose<span class="w"> </span>task-run<span class="w"> </span>-O<span class="w"> </span>key1<span class="w"> </span>-O<span class="w"> </span>key2
+</pre></div>
+</div>
+<p>or by environment variable:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">ROSE_APP_OPT_CONF_KEYS</span><span class="w"> </span><span class="o">=</span><span class="w"> </span>key1<span class="w"> </span>key2
+</pre></div>
+</div>
+<p>The environment variable is generally preferred in workflows because you don’t
+have to repeat and override the root-level script configuration:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> rose task-run -v</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">ROSE_APP_OPT_CONF_KEYS </span><span class="o">=</span><span class="s"> key1 key2</span>
+</pre></div>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="general-principles.html" class="btn btn-neutral float-left" title="Basic Principles" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="portable-workflows.html" class="btn btn-neutral float-right" title="Portable Workflows" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "workflow-design-guide/efficiency";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/workflow-design-guide/general-principles.html b/nightly_8.3/html/workflow-design-guide/general-principles.html
new file mode 100644
index 00000000000..bbbaf0670d4
--- /dev/null
+++ b/nightly_8.3/html/workflow-design-guide/general-principles.html
@@ -0,0 +1,772 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Basic Principles &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Efficiency And Maintainability" href="efficiency.html" />
+    <link rel="prev" title="Style Guidelines" href="style-guide.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Workflow Design Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="style-guide.html">Style Guidelines</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Basic Principles</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#cycle-point-time-zone">Cycle point time zone</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#fine-or-coarse-grained-workflows">Fine Or Coarse-Grained Workflows</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#rose-bunch">rose bunch</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#monolithic-or-interdependent-workflows">Monolithic Or Interdependent Workflows</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#self-contained-workflows">Self-Contained Workflows</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#avoiding-external-files">Avoiding External Files</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#confining-output-to-the-run-directory">Confining Output To The Run Directory</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#task-host-selection">Task Host Selection</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#task-scripting">Task Scripting</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#coding-standards">Coding Standards</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#basic-functionality">Basic Functionality</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#rose-apps">Rose Apps</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#rose-metadata-compliance">Rose Metadata Compliance</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#task-independence">Task Independence</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#clock-triggered-tasks">Clock-Triggered Tasks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#rose-app-file-polling">Rose App File Polling</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#task-execution-time-limits">Task Execution Time Limits</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#restricting-workflow-activity">Restricting Workflow Activity</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#runahead-limiting">Runahead Limiting</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#internal-queues">Internal Queues</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#workflow-housekeeping">Workflow Housekeeping</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#complex-jinja2-code">Complex Jinja2 Code</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#shared-configuration">Shared Configuration</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#jinja2-variables">Jinja2 Variables</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#inheritance">Inheritance</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#shared-task-io-paths">Shared Task IO Paths</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#varying-behaviour-by-cycle-point">Varying Behaviour By Cycle Point</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#at-start-up">At Start-Up</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#automating-failure-recovery">Automating Failure Recovery</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#job-submission-retries">Job Submission Retries</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#job-execution-retries">Job Execution Retries</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#failure-recovery-workflows">Failure Recovery Workflows</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#include-files">Include Files</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="efficiency.html">Efficiency And Maintainability</a></li>
+<li class="toctree-l2"><a class="reference internal" href="portable-workflows.html">Portable Workflows</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="index.html">Workflow Design Guide</a></li>
+      <li class="breadcrumb-item active">Basic Principles</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/workflow-design-guide/general-principles.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="basic-principles">
+<span id="id1"></span><h1>Basic Principles<a class="headerlink" href="#basic-principles" title="Link to this heading"></a></h1>
+<p>This section covers general principles that should be kept in mind when
+writing any workflow. More advanced topics are covered later:
+<a class="reference internal" href="efficiency.html#efficiency-and-maintainability"><span class="std std-ref">Efficiency And Maintainability</span></a> and <a class="reference internal" href="portable-workflows.html#portable-workflows-label"><span class="std std-ref">Portable Workflows</span></a>.</p>
+<section id="cycle-point-time-zone">
+<h2>Cycle point time zone<a class="headerlink" href="#cycle-point-time-zone" title="Link to this heading"></a></h2>
+<p>Cylc has full local timezone support if needed, but the default cycle point time
+zone is UTC. See <a class="reference internal" href="../reference/config/workflow.html#flow.cylc[scheduler]cycle point time zone" title="flow.cylc[scheduler]cycle point time zone"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[scheduler]cycle</span> <span class="pre">point</span> <span class="pre">time</span> <span class="pre">zone</span></code></a>.</p>
+</section>
+<section id="fine-or-coarse-grained-workflows">
+<h2>Fine Or Coarse-Grained Workflows<a class="headerlink" href="#fine-or-coarse-grained-workflows" title="Link to this heading"></a></h2>
+<p>Workflows can have many small simple tasks, fewer large complex tasks, or anything
+in between. A task that runs many distinct processes can be split into many
+distinct tasks. The fine-grained approach is more transparent and it allows
+more task level concurrency and quicker failure recovery - you can rerun just
+what failed without repeating anything unnecessarily.</p>
+<section id="rose-bunch">
+<h3>rose bunch<a class="headerlink" href="#rose-bunch" title="Link to this heading"></a></h3>
+<p>One caveat to our fine-graining advice is that submitting a large number of
+small tasks at once may be a problem on some platforms. If you have many
+similar concurrent jobs you can use <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">bunch</span></code> to pack them into a
+single task with incremental rerun capability: retriggering the task will rerun
+just the component jobs that did not successfully complete earlier.</p>
+</section>
+</section>
+<section id="monolithic-or-interdependent-workflows">
+<span id="id2"></span><h2>Monolithic Or Interdependent Workflows<a class="headerlink" href="#monolithic-or-interdependent-workflows" title="Link to this heading"></a></h2>
+<p>When writing workflows from scratch you may need to decide between putting
+multiple loosely connected sub-workflows into a single large workflow, or
+constructing a more modular system of smaller workflows that depend on each other
+through <a class="reference internal" href="../user-guide/writing-workflows/external-triggers.html#built-in-workflow-state-triggers"><span class="std std-ref">inter-workflow triggering</span></a>.
+Each approach has its pros and cons, depending on your requirements and
+preferences with respect to the complexity and manageability of the resulting
+system.</p>
+</section>
+<section id="self-contained-workflows">
+<span id="id3"></span><h2>Self-Contained Workflows<a class="headerlink" href="#self-contained-workflows" title="Link to this heading"></a></h2>
+<p>All files generated by Cylc during a workflow run are confined to the workflow
+<a class="reference internal" href="../glossary.html#term-run-directory"><span class="xref std std-term">run directory</span></a> <code class="docutils literal notranslate"><span class="pre">$HOME/cylc-run/&lt;workflow-id&gt;</span></code>. However, Cylc has no
+control over the locations of the programs, scripts, and files, that are
+executed, read, or generated by your tasks at runtime. It is up to you to
+ensure that all of this is confined to the run directory too, as far as
+possible.</p>
+<p>Self-contained workflows are more robust, easier to work with, and more portable.
+Multiple instances of the same workflow (with different workflow names) should be
+able to run concurrently under the same user account without mutual
+interference.</p>
+<section id="avoiding-external-files">
+<h3>Avoiding External Files<a class="headerlink" href="#avoiding-external-files" title="Link to this heading"></a></h3>
+<p>Workflows that use external scripts, executables, and files beyond the essential
+system libraries and utilities are vulnerable to external changes: someone
+else might interfere with these files without telling you.</p>
+<p>In some case you may need to symlink to large external files anyway, if space
+or copy speed is a problem, but otherwise workflows with private copies of all the
+files they need are more robust.</p>
+</section>
+<section id="confining-output-to-the-run-directory">
+<h3>Confining Output To The Run Directory<a class="headerlink" href="#confining-output-to-the-run-directory" title="Link to this heading"></a></h3>
+<p>Output files should be confined to the run directory tree. Then all
+output is easy to find, multiple instances of the same workflow can run
+concurrently without interference, and other users should be able to copy and
+run your workflow with few modifications. Cylc provides a <code class="docutils literal notranslate"><span class="pre">share</span></code>
+directory for generated files that are used by several tasks in a workflow
+(see <a class="reference internal" href="#shared-task-io-paths"><span class="std std-ref">Shared Task IO Paths</span></a>). Archiving tasks can use <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">arch</span></code>
+to copy or move selected files to external locations as needed (see
+<a class="reference internal" href="#workflow-housekeeping"><span class="std std-ref">Workflow Housekeeping</span></a>).</p>
+</section>
+</section>
+<section id="task-host-selection">
+<h2>Task Host Selection<a class="headerlink" href="#task-host-selection" title="Link to this heading"></a></h2>
+<p>The <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">host-select</span></code> command is now deprecated. Workflows should migrate
+to using <a class="reference internal" href="../glossary.html#term-platform"><span class="xref std std-term">platforms</span></a> which provide a more efficient
+solution.
+See <a class="reference internal" href="../7-to-8/major-changes/platforms.html#majorchangesplatforms"><span class="std std-ref">Platforms</span></a> for details.</p>
+</section>
+<section id="task-scripting">
+<h2>Task Scripting<a class="headerlink" href="#task-scripting" title="Link to this heading"></a></h2>
+<p>Non-trivial task scripting should be held in separate script files rather than
+inlined in <a class="reference internal" href="../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a>. This keeps the workflow definition tidy, and it
+allows proper shell-mode text editing and independent testing of task scripts.</p>
+<p>For automatic access by jobs, task-specific scripts should be kept in
+Rose app bin directories, and shared scripts kept in (or installed to) the
+workflow bin directory.</p>
+<section id="coding-standards">
+<h3>Coding Standards<a class="headerlink" href="#coding-standards" title="Link to this heading"></a></h3>
+<p>When writing your own task scripts make consistent use of appropriate coding
+standards such as:</p>
+<ul class="simple">
+<li><p><a class="reference external" href="https://peps.python.org/pep-0008/">PEP8 for Python</a></p></li>
+<li><p><a class="reference external" href="https://google.github.io/styleguide/shell.xml">Google Shell Style Guide for
+Bash</a></p></li>
+</ul>
+</section>
+<section id="basic-functionality">
+<h3>Basic Functionality<a class="headerlink" href="#basic-functionality" title="Link to this heading"></a></h3>
+<p>In consideration of future users who may not be expert on the internals of your
+workflow and its tasks, all task scripts should:</p>
+<ul class="simple">
+<li><p>Print clear usage information if invoked incorrectly (and via the
+standard options <code class="docutils literal notranslate"><span class="pre">-h,</span> <span class="pre">--help</span></code>).</p></li>
+<li><p>Print useful diagnostic messages in case of error. For example, if a
+file was not found, the error message should contain the full path to the
+expected location.</p></li>
+<li><p>Always return correct shell exit status - zero for success, non-zero
+for failure. This is used by Cylc job wrapper code to detect success and
+failure and report it back to the <a class="reference internal" href="../glossary.html#term-scheduler"><span class="xref std std-term">scheduler</span></a>.</p></li>
+<li><p>In shell scripts use <code class="docutils literal notranslate"><span class="pre">set</span> <span class="pre">-u</span></code> to abort on any reference to
+an undefined variable. If you really need an undefined variable to evaluate
+to an empty string, make it explicit: <code class="docutils literal notranslate"><span class="pre">FOO=${FOO:-}</span></code>.</p></li>
+<li><p>In shell scripts use <code class="docutils literal notranslate"><span class="pre">set</span> <span class="pre">-e</span></code> to abort on any error without
+having to failure-check each command explicitly.</p></li>
+<li><p>In shell scripts use <code class="docutils literal notranslate"><span class="pre">set</span> <span class="pre">-o</span> <span class="pre">pipefail</span></code> to abort on any error
+within a pipe line. Note that all commands in the pipe line will still
+run, it will just exit with the right most non-zero exit status.</p></li>
+</ul>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Examples and more details <a class="reference external" href="https://vaneyckt.io/posts/safer_bash_scripts_with_set_euxo_pipefail/">are available</a>
+for the above three <code class="docutils literal notranslate"><span class="pre">set</span></code> commands.</p>
+</div>
+</section>
+</section>
+<section id="rose-apps">
+<h2>Rose Apps<a class="headerlink" href="#rose-apps" title="Link to this heading"></a></h2>
+<p>Rose apps allow all non-shared task configuration - which is not relevant to
+workflow automation - to be moved from the workflow definition into app config
+files. This makes workflows tidier and easier to understand, and it allows
+<code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">edit</span></code> to provide a unified metadata-enhanced view of the workflow
+and its apps (see <a class="reference internal" href="#rose-metadata-compliance"><span class="std std-ref">Rose Metadata Compliance</span></a>).</p>
+<p>Rose apps are a clear winner for tasks with complex configuration requirements.
+It matters less for those with little configuration, but for consistency and to
+take full advantage of <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">edit</span></code> it makes sense to use Rose apps
+for most tasks.</p>
+<p>When most tasks are Rose apps, set the app-run command as a root-level default,
+and override it for the occasional non Rose app task:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> rose task-run -v</span>
+    <span class="nt">[[rose-app1]]</span>
+        <span class="c1">#...</span>
+    <span class="nt">[[rose-app2]]</span>
+        <span class="c1">#...</span>
+    <span class="nt">[[hello-world]]</span>  <span class="c1"># Not a Rose app.</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> echo &quot;Hello World&quot;</span>
+</pre></div>
+</div>
+</section>
+<section id="rose-metadata-compliance">
+<span id="id4"></span><h2>Rose Metadata Compliance<a class="headerlink" href="#rose-metadata-compliance" title="Link to this heading"></a></h2>
+<p>Rose metadata drives page layout and sort order in <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">edit</span></code>, plus
+help information, input validity checking, macros for advanced checking and app
+version upgrades, and more.</p>
+<p>To ensure the workflow and its constituent applications are being run as intended
+it should be valid against any provided metadata: launch the
+<code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">edit</span></code> GUI or run <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">macro</span> <span class="pre">--validate</span></code> on the
+command line to highlight any errors, and correct them prior to use. If errors
+are flagged incorrectly you should endeavour to fix the metadata.</p>
+<p>When writing a new workflow or application, consider creating metadata to
+facilitate ease of use by others.</p>
+</section>
+<section id="task-independence">
+<h2>Task Independence<a class="headerlink" href="#task-independence" title="Link to this heading"></a></h2>
+<p>Essential dependencies must be encoded in the workflow graph, but
+tasks should not rely unnecessarily on the action of other tasks.
+For example, tasks should create their own output directories if they don’t
+already exist, even if they would normally be created by an earlier task
+in the workflow. This makes it is easier to run tasks alone during
+development and testing.</p>
+</section>
+<section id="clock-triggered-tasks">
+<span id="id5"></span><h2>Clock-Triggered Tasks<a class="headerlink" href="#clock-triggered-tasks" title="Link to this heading"></a></h2>
+<p>Tasks that wait on real time data should use
+<a class="reference internal" href="../user-guide/writing-workflows/external-triggers.html#built-in-clock-triggers"><span class="std std-ref">clock triggers</span></a>
+to delay job submission until the expected data arrival time:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> now</span>
+    <span class="nt">[[xtriggers]]</span>
+        <span class="c1"># Trigger 5 min after wallclock time is equal to cycle point.</span>
+        <span class="nv">clock </span><span class="o">=</span><span class="s"> wall_clock(offset=PT5M)</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00 = @clock =&gt; get-data </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">process</span><span class="c">-</span><span class="kd">data</span>
+</pre></div>
+</div>
+<p>Clock-triggered tasks typically have to handle late data arrival. Task
+<a class="reference internal" href="../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution retry delays" title="flow.cylc[runtime][&lt;namespace&gt;]execution retry delays"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">execution</span> <span class="pre">retry</span> <span class="pre">delays</span></code></a> can be used to simply retrigger
+the task at intervals until the data is found, but frequently retrying small
+tasks is inefficient, and multiple task
+failures will be logged for what is a essentially a normal condition (at least
+it is normal until the data is really late).</p>
+<p>Rather than using task execution retry delays to repeatedly trigger a task that
+checks for a file, it may be better to have the task itself repeatedly poll for
+the data (see <a class="reference internal" href="../user-guide/writing-workflows/external-triggers.html#custom-trigger-functions"><span class="std std-ref">Custom Trigger Functions</span></a>).</p>
+</section>
+<section id="rose-app-file-polling">
+<span id="id6"></span><h2>Rose App File Polling<a class="headerlink" href="#rose-app-file-polling" title="Link to this heading"></a></h2>
+<p>Rose apps have built-in polling functionality to check repeatedly for the
+existence of files before executing the main app. See the <code class="docutils literal notranslate"><span class="pre">[poll]</span></code>
+section in Rose app config documentation. This is a good way to implement
+check-and-wait functionality in clock-triggered tasks
+(<a class="reference internal" href="#clock-triggered-tasks"><span class="std std-ref">Clock-Triggered Tasks</span></a>), for example.</p>
+<p>It is important to note that frequent polling may be bad for some filesystems,
+so be sure to configure a reasonable interval between polls.</p>
+</section>
+<section id="task-execution-time-limits">
+<h2>Task Execution Time Limits<a class="headerlink" href="#task-execution-time-limits" title="Link to this heading"></a></h2>
+<p>Instead of setting job wallclock limits directly in <a class="reference internal" href="../glossary.html#term-job-runner"><span class="xref std std-term">job runner</span></a>
+directives, use
+<a class="reference internal" href="../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;]execution time limit" title="flow.cylc[runtime][&lt;namespace&gt;]execution time limit"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;]execution</span> <span class="pre">time</span> <span class="pre">limit</span></code></a>.
+Cylc automatically derives the correct job runner directives from this,
+and it is also used to run <code class="docutils literal notranslate"><span class="pre">background</span></code> and <code class="docutils literal notranslate"><span class="pre">at</span></code> jobs via
+the <code class="docutils literal notranslate"><span class="pre">timeout</span></code> command, and to poll tasks that haven’t reported in
+finished by the configured time limit.</p>
+</section>
+<section id="restricting-workflow-activity">
+<span id="id7"></span><h2>Restricting Workflow Activity<a class="headerlink" href="#restricting-workflow-activity" title="Link to this heading"></a></h2>
+<p>It may be possible for large workflows to overwhelm a job host by submitting too
+many jobs at once:</p>
+<ul class="simple">
+<li><p>Large workflows that are not sufficiently limited by real time clock
+triggering or intercycle dependence may generate a lot of <em>runahead</em>
+(this refers to Cylc’s ability to run multiple cycles at once, restricted
+only by the dependencies of individual tasks).</p></li>
+<li><p>Some workflows may have large families of tasks whose members all
+become ready at the same time.</p></li>
+</ul>
+<p>These problems can be avoided with <em>runahead limiting</em> and <em>internal
+queues</em>, respectively.</p>
+<section id="runahead-limiting">
+<span id="id8"></span><h3>Runahead Limiting<a class="headerlink" href="#runahead-limiting" title="Link to this heading"></a></h3>
+<p>By default Cylc allows a maximum of five cycle points to be active at the same
+time, but this value is configurable:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2020-01-01T00</span>
+    <span class="c1"># Don&#39;t allow any cycle interleaving:</span>
+    <span class="nv">runahead limit </span><span class="o">=</span><span class="s"> P0</span>
+</pre></div>
+</div>
+</section>
+<section id="internal-queues">
+<h3>Internal Queues<a class="headerlink" href="#internal-queues" title="Link to this heading"></a></h3>
+<p>Tasks can be assigned to named internal queues that limit the number of members
+that can be active (i.e. submitted or running) at the same time:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2020-01-01T00</span>
+    <span class="nt">[[queues]]</span>
+        <span class="c1"># Allow only 2 members of BIG_JOBS to run at once:</span>
+        <span class="nt">[[[big_jobs_queue]]]</span>
+            <span class="nv">limit </span><span class="o">=</span><span class="s"> 2</span>
+            <span class="nv">members </span><span class="o">=</span><span class="s"> BIG_JOBS</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00 = pre </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">BIG_JOBS</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[BIG_JOBS]]</span>
+    <span class="nt">[[foo, bar, baz, ...]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> BIG_JOBS</span>
+</pre></div>
+</div>
+</section>
+</section>
+<section id="workflow-housekeeping">
+<span id="id9"></span><h2>Workflow Housekeeping<a class="headerlink" href="#workflow-housekeeping" title="Link to this heading"></a></h2>
+<p>Ongoing cycling workflows can generate an enormous number of output files and logs
+so regular housekeeping is very important. Special housekeeping tasks,
+typically the last tasks in each cycle, should be included to archive selected
+important files and then delete everything at some offset from the current
+cycle point.</p>
+<p>The Rose built-in apps <code class="docutils literal notranslate"><span class="pre">rose_arch</span></code> and <code class="docutils literal notranslate"><span class="pre">rose_prune</span></code>
+provide an easy way to do this. They can be configured easily with
+file-matching patterns and cycle point offsets to perform various housekeeping
+operations on matched files.</p>
+</section>
+<section id="complex-jinja2-code">
+<h2>Complex Jinja2 Code<a class="headerlink" href="#complex-jinja2-code" title="Link to this heading"></a></h2>
+<p>The Jinja2 template processor provides general programming constructs,
+extensible with custom Python filters, that can be used to <em>generate</em> the
+workflow definition. This makes it possible to write flexible multi-use
+workflows with structure and content that varies according to various input
+switches. There is a cost to this flexibility however: excessive use of Jinja2
+can make a workflow hard to understand and maintain. It is difficult to say
+exactly where to draw the line, but we recommend erring on the side of
+simplicity and clarity: write workflows that are easy to understand and therefore
+easy to modify for other purposes, rather than extremely complicated workflows
+that attempt do everything out of the box but are hard to maintain and modify.</p>
+<p>Note that use of Jinja2 loops for generating tasks is now deprecated in favour
+of built-in parameterized tasks - see <a class="reference internal" href="../user-guide/writing-workflows/parameterized-tasks.html#user-guide-param"><span class="std std-ref">Task Parameters</span></a>.</p>
+</section>
+<section id="shared-configuration">
+<h2>Shared Configuration<a class="headerlink" href="#shared-configuration" title="Link to this heading"></a></h2>
+<p>Configuration that is common to multiple tasks should be defined in one
+place and used by all, rather than duplicated in each task. Duplication is
+a maintenance risk because changes have to be made consistently in several
+places at once.</p>
+<section id="jinja2-variables">
+<h3>Jinja2 Variables<a class="headerlink" href="#jinja2-variables" title="Link to this heading"></a></h3>
+<p>In simple cases you can share by passing a Jinja2 variable to all the tasks
+that need it:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="cp">{% set JOB_VERSION = &#39;A23&#39; %}</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> run-foo --version=</span><span class="cp">{{JOB_VERSION}}</span>
+    <span class="nt">[[bar]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> run-bar --version=</span><span class="cp">{{JOB_VERSION}}</span>
+</pre></div>
+</div>
+</section>
+<section id="inheritance">
+<h3>Inheritance<a class="headerlink" href="#inheritance" title="Link to this heading"></a></h3>
+<p>Sharing by inheritance of task families is recommended when more than a few
+configuration items are involved.</p>
+<p>The simplest application of inheritance is to set global defaults in the
+<code class="docutils literal notranslate"><span class="pre">[runtime][root]</span></code> namespace that is inherited by all tasks.
+However, this should only be done for settings that really are used
+by the vast majority of tasks. Over-sharing of via root, particularly of
+environment variables, is a maintenance risk because it can be very
+difficult to be sure which tasks are using which global variables.</p>
+<p>Any <a class="reference internal" href="../reference/config/workflow.html#flow.cylc[runtime]" title="flow.cylc[runtime]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">[runtime]</span></code></a> settings can be shared - scripting, platform
+configuration, environment variables, and so on - from
+single items up to complete task or app configurations. At the latter extreme,
+it is quite common to have several tasks that inherit the same complete
+job configuration followed by minor task-specific additions:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[FILE-CONVERT]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> convert-netcdf</span>
+        <span class="c1">#...</span>
+    <span class="nt">[[convert-a]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> FILE-CONVERT</span>
+        <span class="nt">[[[environment]]]</span>
+              <span class="nv">FILE_IN </span><span class="o">=</span><span class="s"> file-a</span>
+    <span class="nt">[[convert-b]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> FILE-CONVERT</span>
+        <span class="nt">[[[environment]]]</span>
+              <span class="nv">FILE_IN </span><span class="o">=</span><span class="s"> file-b</span>
+</pre></div>
+</div>
+<p>Inheritance is covered in more detail from an efficiency perspective in
+<a class="reference internal" href="efficiency.html#the-task-family-hierarchy"><span class="std std-ref">The Task Family Hierarchy</span></a>.</p>
+</section>
+<section id="shared-task-io-paths">
+<span id="id10"></span><h3>Shared Task IO Paths<a class="headerlink" href="#shared-task-io-paths" title="Link to this heading"></a></h3>
+<p>If one task uses files generated by another task (and both see the same
+filesystem) a common IO path should normally be passed to both tasks via a
+shared environment variable. As far as Cylc is concerned this is no different
+to other shared configuration items, but there are some additional aspects
+of usage worth addressing here.</p>
+<p>Primarily, for self-containment (see <a class="reference internal" href="#self-contained-workflows"><span class="std std-ref">Self-Contained Workflows</span></a>) shared IO
+paths should be under the <em>workflow share directory</em>, the location of which is
+passed to all tasks as <code class="docutils literal notranslate"><span class="pre">$CYLC_WORKFLOW_SHARE_DIR</span></code>.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">task-env</span></code> utility can provide additional environment
+variables that refer to static and cyclepoint-specific locations under the
+workflow share directory.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[my-task]]</span>
+        <span class="nv">env-script </span><span class="o">=</span><span class="s"> $(eval rose task-env -T P1D -T P2D)</span>
+</pre></div>
+</div>
+<p>For a current cycle point of <code class="docutils literal notranslate"><span class="pre">20170105</span></code> this will make the following
+variables available to tasks:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nv">ROSE_DATA</span><span class="o">=</span><span class="nv">$CYLC_WORKFLOW_SHARE_DIR</span>/data
+<span class="nv">ROSE_DATAC</span><span class="o">=</span><span class="nv">$CYLC_WORKFLOW_SHARE_DIR</span>/cycle/20170105
+<span class="nv">ROSE_DATACP1D</span><span class="o">=</span><span class="nv">$CYLC_WORKFLOW_SHARE_DIR</span>/cycle/20170104
+<span class="nv">ROSE_DATACP2D</span><span class="o">=</span><span class="nv">$CYLC_WORKFLOW_SHARE_DIR</span>/cycle/20170103
+</pre></div>
+</div>
+<p>Subdirectories of <code class="docutils literal notranslate"><span class="pre">$ROSE_DATAC</span></code> etc. should be agreed between
+different sub-systems of the workflow; typically they are named for the
+file-generating tasks, and the file-consuming tasks should know to look there.</p>
+<p>The share-not-duplicate rule can be relaxed for shared files whose names are
+agreed by convention, so long as their locations under the share directory are
+proper shared workflow variables. For instance the Unified Model uses a large
+number of files whose conventional names (<code class="docutils literal notranslate"><span class="pre">glu_snow</span></code>, for example)
+can reasonably be expected not to change, so they are typically hardwired into
+app configurations (as <code class="docutils literal notranslate"><span class="pre">$ROSE_DATA/glu_snow</span></code>, for example) to avoid
+cluttering the workflow definition.</p>
+<p>Here two tasks share a workspace under the workflow share directory
+by inheritance:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># Sharing an I/O location via inheritance.</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = write_data </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">read_data</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="nv">env-script </span><span class="o">=</span><span class="s"> $(eval rose task-env)</span>
+    <span class="nt">[[WORKSPACE]]</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">DATA_DIR </span><span class="o">=</span><span class="s"> ${ROSE_DATA}/png</span>
+    <span class="nt">[[write_data]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> WORKSPACE</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            mkdir -p $DATA_DIR</span>
+<span class="s2">            write-data.exe -o ${DATA_DIR}</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+    <span class="nt">[[read_data]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> WORKSPACE</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> read-data.exe -i ${DATA_DIR}</span>
+</pre></div>
+</div>
+<p>In simple cases where an appropriate family does not already exist paths can
+be shared via Jinja variables:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># Sharing an I/O location with Jinja2.</span>
+<span class="cp">{% set DATA_DIR = &#39;$ROSE_DATA/stuff&#39; %}</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = write_data </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">read_data</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[write_data]]</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            mkdir -p </span><span class="cp">{{DATA_DIR}}</span>
+<span class="s2">            write-data.exe -o </span><span class="cp">{{DATA_DIR}}</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+    <span class="nt">[[read_data]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> read-data.exe -i </span><span class="cp">{{DATA_DIR}}</span>
+</pre></div>
+</div>
+<p>For completeness we note that it is also possible to configure multiple tasks
+to use the same work directory so they can all share files in <code class="docutils literal notranslate"><span class="pre">$PWD</span></code>.
+(Cylc executes tasks in special work directories that by default are unique
+to each task). This may simplify the workflow slightly, and it may be useful if
+you are unfortunate enough to have executables that are designed for IO in
+<code class="docutils literal notranslate"><span class="pre">$PWD</span></code>, <em>but it is not recommended</em>. There is a higher risk
+of interference between tasks; it will break <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">task-run</span></code>
+incremental file creation mode; and <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">task-run</span> <span class="pre">--new</span></code> will in
+effect delete the work directories of tasks other than its intended target.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># Shared work directory: tasks can read and write in $PWD - use with caution!</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2018</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P1Y = write_data </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">read_data</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[WORKSPACE]]</span>
+        <span class="nv">work sub-directory </span><span class="o">=</span><span class="s"> $CYLC_TASK_CYCLE_POINT/datadir</span>
+    <span class="nt">[[write_data]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> WORKSPACE</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> write-data.exe</span>
+    <span class="nt">[[read_data]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> WORKSPACE</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> read-data.exe</span>
+</pre></div>
+</div>
+</section>
+<section id="varying-behaviour-by-cycle-point">
+<h3>Varying Behaviour By Cycle Point<a class="headerlink" href="#varying-behaviour-by-cycle-point" title="Link to this heading"></a></h3>
+<p>To make a cycling job behave differently at different cycle points you
+<em>could</em> use a single task with scripting that reacts to the cycle point it finds
+itself running at, but it is better to use different tasks (in different
+cycling sections) that inherit the same base job configuration. This results
+in a more transparent workflow that can be understood just by inspecting the
+graph:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># Run the same job differently at different cycle points.</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2020-01-01T00</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">T00 = pre =&gt; long_fc </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">post</span>
+<span class="nv">        T12 = pre =&gt; short_fc </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">post</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[MODEL]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> run-model.sh</span>
+    <span class="nt">[[long_fc]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> MODEL</span>
+        <span class="nv">execution time limit </span><span class="o">=</span><span class="s"> PT30M</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">RUN_LEN </span><span class="o">=</span><span class="s"> PT48H</span>
+    <span class="nt">[[short_fc]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> MODEL</span>
+        <span class="nv">execution time limit </span><span class="o">=</span><span class="s"> PT10M</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">RUN_LEN </span><span class="o">=</span><span class="s"> PT12H</span>
+</pre></div>
+</div>
+<p>The few differences between <code class="docutils literal notranslate"><span class="pre">short_fc</span></code> and <code class="docutils literal notranslate"><span class="pre">long_fc</span></code>,
+including <a class="reference internal" href="../glossary.html#term-job-runner"><span class="xref std std-term">job runner</span></a> resource requests, can be configured after common
+settings are inherited.</p>
+</section>
+<section id="at-start-up">
+<h3>At Start-Up<a class="headerlink" href="#at-start-up" title="Link to this heading"></a></h3>
+<p>Similarly, if a cycling job needs special behaviour at the initial (or any
+other) cycle point, just use a different logical task in an <code class="docutils literal notranslate"><span class="pre">R1</span></code> graph and
+have it inherit the same job as the general cycling task, not a single task
+with scripting that behaves differently if it finds itself running at the
+initial cycle point.</p>
+</section>
+</section>
+<section id="automating-failure-recovery">
+<h2>Automating Failure Recovery<a class="headerlink" href="#automating-failure-recovery" title="Link to this heading"></a></h2>
+<section id="job-submission-retries">
+<h3>Job Submission Retries<a class="headerlink" href="#job-submission-retries" title="Link to this heading"></a></h3>
+<p>When submitting jobs to a remote host, use job submission retries to
+automatically resubmit tasks in the event of network outages.</p>
+<p>Note that this is distinct from job retries for
+job execution failure (just below).</p>
+</section>
+<section id="job-execution-retries">
+<h3>Job Execution Retries<a class="headerlink" href="#job-execution-retries" title="Link to this heading"></a></h3>
+<p>Automatic retry on job execution failure is useful if you have good reason to
+believe that a simple retry will usually succeed. This may be the case if the
+job host is known to be flaky, or if the job only ever fails for one known
+reason that can be fixed on a retry. For example, if a model fails occasionally
+with a numerical instability that can be remedied with a short timestep rerun,
+then an automatic retry may be appropriate.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[model]]</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            if [[ $CYLC_TASK_TRY_NUMBER &gt; 1 ]]; then</span>
+<span class="s2">                SHORT_TIMESTEP=true</span>
+<span class="s2">            else</span>
+<span class="s2">                SHORT_TIMESTEP=false</span>
+<span class="s2">            fi</span>
+<span class="s2">            model.exe</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+        <span class="nv">execution retry delays </span><span class="o">=</span><span class="s"> 1*PT0M</span>
+</pre></div>
+</div>
+</section>
+<section id="failure-recovery-workflows">
+<h3>Failure Recovery Workflows<a class="headerlink" href="#failure-recovery-workflows" title="Link to this heading"></a></h3>
+<p>For recovery from failures that require explicit diagnosis you can configure
+alternate graph branches. In the following example, if the model fails a
+diagnosis task will trigger; if it determines the cause of the failure is a
+known numerical instability (e.g. by parsing model job logs) it will succeed,
+triggering a short timestep run. Postprocessing can proceed from either the
+original or the short-step model run.</p>
+<div class="twocol docutils container" id="fig-failure-rec">
+<div class="image docutils container">
+<figure class="align-center">
+<img alt="../_images/failure-recovery.png" src="../_images/failure-recovery.png" />
+</figure>
+</div>
+<div class="caption docutils container">
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">model</span> <span class="o">|</span> <span class="kd">model_short</span> <span class="o">=&gt;</span> <span class="kd">postproc</span>
+            <span class="kd">model</span><span class="c">:</span><span class="kd">fail</span> <span class="o">=&gt;</span> <span class="kd">diagnose</span> <span class="o">=&gt;</span> <span class="kd">model_short</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</div>
+</div>
+</section>
+</section>
+<section id="include-files">
+<h2>Include Files<a class="headerlink" href="#include-files" title="Link to this heading"></a></h2>
+<p>Include-files should not be overused, but they can sometimes be useful
+(e.g. see <a class="reference internal" href="portable-workflows.html#portable-workflows-label"><span class="std std-ref">Portable Workflows</span></a>):</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1">#...</span>
+<span class="cp">{% include &#39;inc/foo.cylc&#39; %}</span>
+</pre></div>
+</div>
+<p>(Technically this inserts a Jinja2-rendered file template). Cylc also has a
+native include mechanism that pre-dates Jinja2 support and literally inlines
+the include-file:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1">#...</span>
+<span class="o">%include</span> <span class="s">&#39;inc/foo.cylc&#39;</span>
+</pre></div>
+</div>
+<p>The two methods normally produce the same result, but use the Jinja2 version if
+you need to construct an include-file name from a variable (because Cylc
+include-files get inlined before Jinja2 processing is done):</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1">#...</span>
+<span class="cp">{% include &#39;inc/&#39; ~ SITE ~ &#39;.cylc&#39; %}</span>
+</pre></div>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="style-guide.html" class="btn btn-neutral float-left" title="Style Guidelines" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="efficiency.html" class="btn btn-neutral float-right" title="Efficiency And Maintainability" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "workflow-design-guide/general-principles";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/workflow-design-guide/index.html b/nightly_8.3/html/workflow-design-guide/index.html
new file mode 100644
index 00000000000..8e857ded8e3
--- /dev/null
+++ b/nightly_8.3/html/workflow-design-guide/index.html
@@ -0,0 +1,247 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Workflow Design Guide &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Style Guidelines" href="style-guide.html" />
+    <link rel="prev" title="Custom Job Submission Methods" href="../plugins/job-runners/index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Workflow Design Guide</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="style-guide.html">Style Guidelines</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html">Basic Principles</a></li>
+<li class="toctree-l2"><a class="reference internal" href="efficiency.html">Efficiency And Maintainability</a></li>
+<li class="toctree-l2"><a class="reference internal" href="portable-workflows.html">Portable Workflows</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">Workflow Design Guide</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/workflow-design-guide/index.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="workflow-design-guide">
+<h1>Workflow Design Guide<a class="headerlink" href="#workflow-design-guide" title="Link to this heading"></a></h1>
+<p class="rubric">Cylc/Rose Workflow Design Best Practice Guide.</p>
+<p>This document provides guidance on making complex Cylc + Rose workflows that
+are clear, maintainable, and portable. Note that best practice advice may
+evolve over time with the capabilities of Rose and Cylc.</p>
+<p>Content is drawn from the Rose and Cylc user guides, earlier Met Office workflow
+design and operational workflow review documents, experience with real workflows
+across the Unified Model Consortium, and discussion among members of the UM
+TISD (Technical Infrastructure Workflow Design) working group.</p>
+<p>We start with the most general topics (coding style, general principles),
+move on to more advanced topics (efficiency and maintainability, portable
+workflows), and end with some pointers to future developments.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>A good working knowledge of Cylc and Rose is assumed. For further details,
+please consult the:</p>
+<ul class="simple">
+<li><p><a class="reference external" href="https://cylc.github.io/cylc-doc/latest/html/index.html">Cylc User Guide</a></p></li>
+<li><p><a class="reference external" href="https://metomi.github.io/rose">Rose Documentation</a></p></li>
+</ul>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>For non-Rose users: this document comes out of the Unified Model
+Consortium wherein Cylc is used within the Rose <em>workflow management
+framework</em>. However, the bulk of the information in this guide is about
+Cylc workflow design; which parts are Rose-specific should be clear from
+context.</p>
+</div>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="style-guide.html">Style Guidelines</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="style-guide.html#tab-characters">Tab Characters</a></li>
+<li class="toctree-l2"><a class="reference internal" href="style-guide.html#trailing-whitespace">Trailing Whitespace</a></li>
+<li class="toctree-l2"><a class="reference internal" href="style-guide.html#indentation">Indentation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="style-guide.html#comments">Comments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="style-guide.html#titles-descriptions-and-urls">Titles, Descriptions, And URLs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="style-guide.html#line-length-and-continuation">Line Length And Continuation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="style-guide.html#task-naming-conventions">Task Naming Conventions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="style-guide.html#rose-config-files">Rose Config Files</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="general-principles.html">Basic Principles</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#cycle-point-time-zone">Cycle point time zone</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#fine-or-coarse-grained-workflows">Fine Or Coarse-Grained Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#monolithic-or-interdependent-workflows">Monolithic Or Interdependent Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#self-contained-workflows">Self-Contained Workflows</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#task-host-selection">Task Host Selection</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#task-scripting">Task Scripting</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#rose-apps">Rose Apps</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#rose-metadata-compliance">Rose Metadata Compliance</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#task-independence">Task Independence</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#clock-triggered-tasks">Clock-Triggered Tasks</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#rose-app-file-polling">Rose App File Polling</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#task-execution-time-limits">Task Execution Time Limits</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#restricting-workflow-activity">Restricting Workflow Activity</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#workflow-housekeeping">Workflow Housekeeping</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#complex-jinja2-code">Complex Jinja2 Code</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#shared-configuration">Shared Configuration</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#automating-failure-recovery">Automating Failure Recovery</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html#include-files">Include Files</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="efficiency.html">Efficiency And Maintainability</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="efficiency.html#the-task-family-hierarchy">The Task Family Hierarchy</a></li>
+<li class="toctree-l2"><a class="reference internal" href="efficiency.html#generating-tasks-automatically">Generating Tasks Automatically</a></li>
+<li class="toctree-l2"><a class="reference internal" href="efficiency.html#optional-app-config-files">Optional App Config Files</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="portable-workflows.html">Portable Workflows</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="portable-workflows.html#the-jinja2-site-variable">The Jinja2 SITE Variable</a></li>
+<li class="toctree-l2"><a class="reference internal" href="portable-workflows.html#site-include-files">Site Include-Files</a></li>
+<li class="toctree-l2"><a class="reference internal" href="portable-workflows.html#site-specific-graphs">Site-Specific Graphs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="portable-workflows.html#inlined-site-switching">Inlined Site-Switching</a></li>
+<li class="toctree-l2"><a class="reference internal" href="portable-workflows.html#site-specific-workflow-variables">Site-Specific Workflow Variables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="portable-workflows.html#site-specific-optional-workflow-configs">Site-Specific Optional Workflow Configs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="portable-workflows.html#site-agnostic-file-paths-in-app-configs">Site-Agnostic File Paths in App Configs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="portable-workflows.html#site-specific-optional-app-configs">Site-Specific Optional App Configs</a></li>
+<li class="toctree-l2"><a class="reference internal" href="portable-workflows.html#an-example">An Example</a></li>
+<li class="toctree-l2"><a class="reference internal" href="portable-workflows.html#collaborative-development-model">Collaborative Development Model</a></li>
+<li class="toctree-l2"><a class="reference internal" href="portable-workflows.html#research-to-operations-transition">Research-To-Operations Transition</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="../plugins/job-runners/index.html" class="btn btn-neutral float-left" title="Custom Job Submission Methods" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="style-guide.html" class="btn btn-neutral float-right" title="Style Guidelines" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "workflow-design-guide/index";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/workflow-design-guide/portable-workflows.html b/nightly_8.3/html/workflow-design-guide/portable-workflows.html
new file mode 100644
index 00000000000..e68bf8115b3
--- /dev/null
+++ b/nightly_8.3/html/workflow-design-guide/portable-workflows.html
@@ -0,0 +1,594 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Portable Workflows &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Reference" href="../reference/index.html" />
+    <link rel="prev" title="Efficiency And Maintainability" href="efficiency.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Workflow Design Guide</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="style-guide.html">Style Guidelines</a></li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html">Basic Principles</a></li>
+<li class="toctree-l2"><a class="reference internal" href="efficiency.html">Efficiency And Maintainability</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Portable Workflows</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#the-jinja2-site-variable">The Jinja2 SITE Variable</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#site-include-files">Site Include-Files</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#site-specific-graphs">Site-Specific Graphs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#inlined-site-switching">Inlined Site-Switching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#site-specific-workflow-variables">Site-Specific Workflow Variables</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#site-specific-optional-workflow-configs">Site-Specific Optional Workflow Configs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#site-agnostic-file-paths-in-app-configs">Site-Agnostic File Paths in App Configs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#site-specific-optional-app-configs">Site-Specific Optional App Configs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#an-example">An Example</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#collaborative-development-model">Collaborative Development Model</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#research-to-operations-transition">Research-To-Operations Transition</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="index.html">Workflow Design Guide</a></li>
+      <li class="breadcrumb-item active">Portable Workflows</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/workflow-design-guide/portable-workflows.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="portable-workflows">
+<span id="portable-workflows-label"></span><h1>Portable Workflows<a class="headerlink" href="#portable-workflows" title="Link to this heading"></a></h1>
+<p>A <em>portable</em> or <em>interoperable</em> workflow can run “out of the box” at
+different sites, or in different environments such as research and operations
+within a site. For convenience we just use the term <em>site portability</em>.</p>
+<p>Lack of portability is a major barrier to collaborative development when
+sites need to run more or less the same workflow, because it is very
+difficult to translate changes manually between large, complicated workflows.</p>
+<p>Most workflows are riddled with site-specific details such as local build
+configurations, file paths, host names, and batch scheduler directives, etc.;
+but it is possible to cleanly factor all this out to make a portable workflow.
+Significant variations in workflow structure can even be accommodated quite
+easily. If the site workflows are <em>too different</em>, however, you may decide
+that it is appropriate for each site to maintain separate workflows.</p>
+<p>The recommended way to do this, which we expand on below, is:</p>
+<ul class="simple">
+<li><p>Put all site-specific settings in include-files loaded at the end
+of a generic “core” workflow definition.</p></li>
+<li><p>Use “optional” app config files for site-specific variations
+in the core workflow’s Rose apps.</p></li>
+<li><p>(Make minimal use of inlined site switches too, if necessary).</p></li>
+<li><p>When referencing files, reference them within the workflow structure and
+use an install task to link external files in.</p></li>
+</ul>
+<p>The result should actually be tidier than the original in one respect: all
+the messy platform-specific resource directives etc., will be hidden away in
+the site include-files.</p>
+<section id="the-jinja2-site-variable">
+<h2>The Jinja2 SITE Variable<a class="headerlink" href="#the-jinja2-site-variable" title="Link to this heading"></a></h2>
+<p>First a workflow Jinja2 variable called <code class="docutils literal notranslate"><span class="pre">SITE</span></code> should be set to the site
+name, either in <code class="docutils literal notranslate"><span class="pre">rose-suite.conf</span></code>, or in the workflow definition itself
+(perhaps automatically, by querying the local environment in some way).</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="ch">#!Jinja2</span>
+<span class="cp">{% set SITE = &quot;niwa&quot; %}</span>
+<span class="c1">#...</span>
+</pre></div>
+</div>
+<p>This will be used to select site-specific configuration, as described below.</p>
+</section>
+<section id="site-include-files">
+<h2>Site Include-Files<a class="headerlink" href="#site-include-files" title="Link to this heading"></a></h2>
+<p>If a section heading in a <a class="reference internal" href="../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file is repeated the items
+under it simply add to or override those defined under the same section earlier
+in the file.
+For example, this task definition:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> run-foo.sh</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> niwa_hpc</span>
+</pre></div>
+</div>
+<p>can equally be written like this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>  <span class="c1"># Part 1 (site-agnostic).</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> run-foo.sh</span>
+<span class="nt">[runtime]</span>  <span class="c1"># Part 2 (site-specific).</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> niwa_hpc</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>If Part 2 had also defined <code class="docutils literal notranslate"><span class="pre">script</span></code> the new value would
+override the original. It can sometimes be useful to set a widely used
+default and override it in a few cases, but be aware that this can
+make it more difficult to determine the origin of affected values.</p>
+</div>
+<p>In this way all site-specific <code class="docutils literal notranslate"><span class="pre">[runtime]</span></code> settings, with their
+respective sub-section headings, can be moved to the end of the file, and then
+out into an include-file (file inclusion is essentially just literal inlining):</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1">#...</span>
+<span class="cp">{% set SITE = &quot;niwa&quot; %}</span>
+
+<span class="c1"># Core site-agnostic settings:</span>
+<span class="c1">#...</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> run-foo.sh</span>
+<span class="c1">#...</span>
+
+<span class="c1"># Site-specific settings:</span>
+<span class="cp">{% include &#39;site/&#39; ~ SITE ~ &#39;.cylc&#39; %}</span>
+</pre></div>
+</div>
+<p>where the site include-file <code class="docutils literal notranslate"><span class="pre">site/niwa.cylc</span></code> contains:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># site/niwa.cylc</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> niwa_hpc</span>
+</pre></div>
+</div>
+</section>
+<section id="site-specific-graphs">
+<h2>Site-Specific Graphs<a class="headerlink" href="#site-specific-graphs" title="Link to this heading"></a></h2>
+<p>Repeated <code class="docutils literal notranslate"><span class="pre">graph</span></code> strings under the same graph section headings are
+always additive (graph strings are the only exception to the normal repeat item
+override semantics). So, for instance, this graph:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2025</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P1Y = &quot;pre =&gt; model =&gt; post </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">niwa_archive</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>can be written like this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2025</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P1Y = &quot;pre =&gt; model </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">post</span><span class="c">&quot;</span>
+<span class="nv">        P1Y = &quot;post </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">niwa_archive</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>and again, the site-specific part can be taken out to a site include-file:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1">#...</span>
+<span class="cp">{% set SITE = &quot;niwa&quot; %}</span>
+
+<span class="c1"># Core site-agnostic settings.</span>
+<span class="c1">#...</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2025</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P1Y = &quot;pre =&gt; model </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">post</span><span class="c">&quot;</span>
+<span class="c1">#...</span>
+<span class="c1"># Site-specific settings:</span>
+<span class="cp">{% include &#39;site/&#39; ~ SITE ~ &#39;.cylc&#39; %}</span>
+</pre></div>
+</div>
+<p>where the site include-file <code class="docutils literal notranslate"><span class="pre">site/niwa.cylc</span></code> contains:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># site/niwa.cylc</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P1Y = &quot;post </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">niwa_archive</span><span class="c">&quot;</span>
+</pre></div>
+</div>
+<p>Note that the site-file graph needs to define the dependencies of the
+site-specific tasks, and thus their points of connection to the core
+workflow - which is why the core task <code class="docutils literal notranslate"><span class="pre">post</span></code> appears in the graph here (if
+<code class="docutils literal notranslate"><span class="pre">post</span></code> had any site-specific runtime settings, to get it to run at
+this site, they would also be in the site-file).</p>
+</section>
+<section id="inlined-site-switching">
+<span id="id1"></span><h2>Inlined Site-Switching<a class="headerlink" href="#inlined-site-switching" title="Link to this heading"></a></h2>
+<p>It may be tempting to use inlined switch blocks throughout the workflow instead of
+site include-files, but <em>this is not recommended</em> - it is verbose and
+untidy (the greater the number of supported sites, the bigger the
+mess) and it exposes all site configuration to all users:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1">#...</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[model]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> run-model.sh</span>
+<span class="c c-Multi">{# Site switch blocks not recommended:#}</span>
+<span class="cp">{% if SITE == &#39;niwa&#39; %}</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> niwa_loadleveler_platform</span>
+        <span class="nt">[[[directives]]]</span>
+            <span class="c1"># NIWA Loadleveler directives...</span>
+<span class="cp">{% elif SITE == &#39;metoffice&#39; %}</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> metoffice_pbs_platform</span>
+        <span class="nt">[[[directives]]]</span>
+            <span class="c1"># Met Office PBS directives...</span>
+<span class="cp">{% elif SITE == ... %}</span>
+            <span class="c1">#...</span>
+<span class="cp">{% else %}</span>
+    <span class="cp">{{raise(&#39;Unsupported site: &#39; ~ SITE)}}</span>
+<span class="cp">{% endif %}</span>
+    <span class="c1">#...</span>
+</pre></div>
+</div>
+<p>Inlined switches can be used, however, to configure exceptional behaviour at
+one site without requiring the other sites to duplicate the default behaviour.
+But be wary of accumulating too many of these switches:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># (core flow.cylc file)</span>
+<span class="c1">#...</span>
+<span class="cp">{% if SITE == &#39;small&#39; %}</span>
+   <span class="c c-Multi">{# We can&#39;t run 100 members... #}</span>
+   <span class="cp">{% set ENSEMBLE_SIZE = 25 %}</span>
+<span class="cp">{% else %}</span>
+   <span class="c c-Multi">{# ...but everyone else can! #}</span>
+   <span class="cp">{% set ENSEMBLE_SIZE = 100 %}</span>
+<span class="cp">{% endif %}</span>
+<span class="c1">#...</span>
+</pre></div>
+</div>
+<p>Inlined switches can also be used to temporarily isolate a site-specific
+change to a hitherto non site-specific part of the workflow, thereby avoiding the
+need to update all site include-files before getting agreement from the workflow
+owner and collaborators.</p>
+</section>
+<section id="site-specific-workflow-variables">
+<h2>Site-Specific Workflow Variables<a class="headerlink" href="#site-specific-workflow-variables" title="Link to this heading"></a></h2>
+<p>It can sometimes be useful to set site-specific values of workflow variables that
+aren’t exposed to users via <code class="docutils literal notranslate"><span class="pre">rose-suite.conf</span></code>. For example, consider
+a workflow that can run a special post-processing workflow of some kind at sites
+where IDL is available. The IDL-dependence switch can be set per site like this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1">#...</span>
+<span class="cp">{% from SITE ~ &#39;-vars.cylc&#39; import HAVE_IDL, OTHER_VAR %}</span>
+<span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">    pre =&gt; model =&gt; post</span>
+<span class="cp">{% if HAVE_IDL %}</span>
+<span class="s2">    post =&gt; idl-1 =&gt; idl-2 =&gt; idl-3</span>
+<span class="cp">{% endif %}</span>
+<span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>where for <code class="docutils literal notranslate"><span class="pre">SITE</span> <span class="pre">=</span> <span class="pre">niwa</span></code> the file <code class="docutils literal notranslate"><span class="pre">niwa-vars.cylc</span></code> contains:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c c-Multi">{# niwa-vars.cylc #}</span>
+<span class="cp">{% set HAVE_IDL = True %}</span>
+<span class="cp">{% set OTHER_VAR = &quot;the quick brown fox&quot; %}</span>
+</pre></div>
+</div>
+<p>Note we are assuming there are significantly fewer options (IDL or not, in this
+case) than sites, otherwise the IDL workflow should just go in the site
+include-files of the sites that need it.</p>
+</section>
+<section id="site-specific-optional-workflow-configs">
+<h2>Site-Specific Optional Workflow Configs<a class="headerlink" href="#site-specific-optional-workflow-configs" title="Link to this heading"></a></h2>
+<p>During development and testing of a portable workflow you can use an optional Rose
+workflow config file to automatically set site-specific workflow inputs and thereby
+avoid the need to make manual changes every time you check out and run a new
+version. The site switch itself has to be set of course, but there may be other
+settings too such as model parameters for a standard local test domain. Just
+put these settings in <code class="docutils literal notranslate"><span class="pre">opt/rose-suite-niwa.conf</span></code> (for site <code class="docutils literal notranslate"><span class="pre">niwa</span></code>).</p>
+</section>
+<section id="site-agnostic-file-paths-in-app-configs">
+<h2>Site-Agnostic File Paths in App Configs<a class="headerlink" href="#site-agnostic-file-paths-in-app-configs" title="Link to this heading"></a></h2>
+<p>Where possible apps should be configured to reference files within the workflow
+structure itself rather than outside of it. This makes the apps themselves
+portable and it becomes the job of the install task to ensure all required
+source files are available within the workflow structure e.g. via symlink into
+the share directory. Additionally, by moving the responsibility of linking
+files into the workflow to an install task you gain the added benefit of knowing
+if a file is missing at the start of a workflow rather than part way into a run.</p>
+</section>
+<section id="site-specific-optional-app-configs">
+<h2>Site-Specific Optional App Configs<a class="headerlink" href="#site-specific-optional-app-configs" title="Link to this heading"></a></h2>
+<p>Typically a few but not all apps will need some site customization, e.g. for
+local archive configuration, local science options, or whatever. To avoid
+explicit site-customization of individual task-run command lines use Rose’s
+built-in <em>optional app config</em> capability:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> rose task-run -v -O &#39;(</span><span class="cp">{{SITE}}</span><span class="s">)&#39;</span>
+</pre></div>
+</div>
+<p>Normally a missing optional app config is considered to be an error, but the
+round parentheses here mean the named optional config is optional - i.e.
+use it if it exists, otherwise ignore.</p>
+<p>With this setting in place we can simply add a <code class="docutils literal notranslate"><span class="pre">opt/rose-app-niwa.conf</span></code> to
+any app that needs customization at <code class="docutils literal notranslate"><span class="pre">SITE</span> <span class="pre">=</span> <span class="pre">niwa</span></code>.</p>
+</section>
+<section id="an-example">
+<h2>An Example<a class="headerlink" href="#an-example" title="Link to this heading"></a></h2>
+<p>The following small workflow is not portable because all of its tasks are
+submitted to a NIWA HPC host; two task are entirely NIWA-specific in that they
+respectively install files from a local database and upload products to a local
+distribution system; and one task runs a somewhat NIWA-specific configuration
+of a model. The remaining tasks are site-agnostic apart from local job host
+and batch scheduler directives.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduler]</span>
+    <span class="nv">UTC mode </span><span class="o">=</span><span class="s"> True</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2017-01-01</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = install_niwa </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">preproc</span>
+<span class="nv">        P1D </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">preproc</span> <span class="o">&amp;</span> <span class="kd">model</span>[<span class="nb">-P1D</span>] <span class="o">=&gt;</span> <span class="kd">model</span> <span class="o">=&gt;</span> <span class="kd">postproc</span> <span class="o">=&gt;</span> <span class="kd">upload_niwa</span>
+            <span class="kd">postproc</span> <span class="o">=&gt;</span> <span class="kd">idl</span><span class="c">-</span><span class="kd">1</span> <span class="o">=&gt;</span> <span class="kd">idl</span><span class="c">-</span><span class="kd">2</span> <span class="o">=&gt;</span> <span class="kd">idl</span><span class="c">-</span><span class="kd">3</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> rose task-run -v</span>
+    <span class="nt">[[HPC]]</span>  <span class="c1"># NIWA job host and batch scheduler settings.</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> niwa_loadleveler_platform</span>
+        <span class="nt">[[[directives]]]</span>
+            <span class="nv">account_no </span><span class="o">=</span><span class="s"> NWP1623</span>
+            <span class="nv">class </span><span class="o">=</span><span class="s"> General</span>
+            <span class="nv">job_type </span><span class="o">=</span><span class="s"> serial</span>  <span class="c1"># (most jobs in this workflow are serial)</span>
+    <span class="nt">[[install_niwa]]</span>  <span class="c1"># NIWA-specific file installation task.</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> HPC</span>
+    <span class="nt">[[preproc]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> HPC</span>
+    <span class="nt">[[model]]</span>  <span class="c1"># Run the model on a local test domain.</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> HPC</span>
+        <span class="nt">[[[directives]]]</span>  <span class="c1"># Override the serial job_type setting.</span>
+            <span class="nv">job_type </span><span class="o">=</span><span class="s"> parallel</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SPEED </span><span class="o">=</span><span class="s"> fast</span>
+    <span class="nt">[[postproc]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> HPC</span>
+    <span class="nt">[[upload_niwa]]</span>  <span class="c1"># NIWA-specific product upload.</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> HPC</span>
+</pre></div>
+</div>
+<p>To make this portable, refactor it into a core <a class="reference internal" href="../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file that
+contains the clean site-independent workflow configuration and loads all
+site-specific settings from an include-file at the end:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># flow.cylc: CORE SITE-INDEPENDENT CONFIGURATION.</span>
+<span class="cp">{% set SITE = &#39;niwa&#39; %}</span>
+<span class="cp">{% from &#39;site/&#39; ~ SITE ~ &#39;-vars.cylc&#39; import HAVE_IDL %}</span>
+<span class="nt">[scheduler]</span>
+    <span class="nv">UTC mode </span><span class="o">=</span><span class="s"> True</span>
+<span class="nt">[scheduling]</span>
+    <span class="nv">initial cycle point </span><span class="o">=</span><span class="s"> 2017-01-01</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">P1D </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">preproc</span> <span class="o">&amp;</span> <span class="kd">model</span>[<span class="nb">-P1D</span>] <span class="o">=&gt;</span> <span class="kd">model</span> <span class="o">=&gt;</span> <span class="kd">postproc</span>
+<span class="cp">{% if HAVE_IDL %}</span>
+            <span class="kd">postproc</span> <span class="o">=&gt;</span> <span class="kd">idl</span><span class="c">-</span><span class="kd">1</span> <span class="o">=&gt;</span> <span class="kd">idl</span><span class="c">-</span><span class="kd">2</span> <span class="o">=&gt;</span> <span class="kd">idl</span><span class="c">-</span><span class="kd">3</span>
+<span class="cp">{% endif %}</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[root]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> rose task-run -v -O &#39;(</span><span class="cp">{{SITE}}</span><span class="s">)&#39;</span>
+    <span class="nt">[[preproc]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> HPC</span>
+    <span class="nt">[[preproc]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> HPC</span>
+    <span class="nt">[[model]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> HPC</span>
+        <span class="nt">[[[environment]]]</span>
+            <span class="nv">SPEED </span><span class="o">=</span><span class="s"> fast</span>
+<span class="cp">{% include &#39;site/&#39; ~ SITE ~ &#39;.cylc&#39; %}</span>
+</pre></div>
+</div>
+<p>plus site files <code class="docutils literal notranslate"><span class="pre">site/niwa-vars.cylc</span></code>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># site/niwa-vars.cylc: NIWA SITE SETTINGS FOR THE EXAMPLE WORKFLOW.</span>
+<span class="cp">{% set HAVE_IDL = True %}</span>
+</pre></div>
+</div>
+<p>and <code class="docutils literal notranslate"><span class="pre">site/niwa.cylc</span></code>:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="c1"># site/niwa.cylc: NIWA SITE SETTINGS FOR THE EXAMPLE WORKFLOW.</span>
+<span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 = install_niwa </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">preproc</span>
+<span class="nv">        P1D = postproc </span><span class="o">=</span><span class="c">&gt;</span> <span class="kd">upload_niwa</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[HPC]]</span>
+        <span class="nv">platform </span><span class="o">=</span><span class="s"> niwa_loadleveler_platform</span>
+        <span class="nt">[[[directives]]]</span>
+            <span class="nv">account_no </span><span class="o">=</span><span class="s"> NWP1623</span>
+            <span class="nv">class </span><span class="o">=</span><span class="s"> General</span>
+            <span class="nv">job_type </span><span class="o">=</span><span class="s"> serial</span>  <span class="c1"># (most jobs in this workflow are serial)</span>
+    <span class="nt">[[install_niwa]]</span>  <span class="c1"># NIWA-specific file installation.</span>
+    <span class="nt">[[model]]</span>
+        <span class="nt">[[[directives]]]</span>  <span class="c1"># Override the serial job_type setting.</span>
+            <span class="nv">job_type </span><span class="o">=</span><span class="s"> parallel</span>
+    <span class="nt">[[upload_niwa]]</span>  <span class="c1"># NIWA-specific product upload.</span>
+</pre></div>
+</div>
+<p>and finally, an optional app config file for the local model domain:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>app/model/rose-app.conf<span class="w">  </span><span class="c1"># Main app config.</span>
+app/model/opt/rose-app-niwa.conf<span class="w">  </span><span class="c1"># NIWA site settings.</span>
+</pre></div>
+</div>
+<p>Some points to note:</p>
+<ul class="simple">
+<li><p>It is straightforward to extend support to a new site by copying an
+existing site file(s) and adapting it to the new job host and batch
+scheduler etc.</p></li>
+<li><p>Batch system directives should be considered site-specific unless
+all supported sites have the same batch system and the same host
+architecture (including CPU clock speed and memory size etc.).</p></li>
+<li><p>We’ve assumed that all tasks run on a single HPC host at both
+sites. If that’s not a valid assumption the <code class="docutils literal notranslate"><span class="pre">HPC</span></code> family
+inheritance relationships would have to become site-specific.</p></li>
+<li><p>Core task runtime configuration aren’t needed in site files at all
+if their job host and batch system settings can be defined in common
+families that are (<code class="docutils literal notranslate"><span class="pre">HPC</span></code> in this case).</p></li>
+</ul>
+</section>
+<section id="collaborative-development-model">
+<span id="id2"></span><h2>Collaborative Development Model<a class="headerlink" href="#collaborative-development-model" title="Link to this heading"></a></h2>
+<p>Official releases of a portable workflow should be made from the workflow trunk.</p>
+<p>Changes should be developed on feature branches so as not to affect other users
+of the workflow.</p>
+<p>Site-specific changes shouldn’t touch the core <a class="reference internal" href="../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file,
+just the relevant site include-file, and therefore should not need close
+scrutiny from other sites.</p>
+<p>Changes to the core <a class="reference internal" href="../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file should be agreed by all
+stakeholders, and should be carefully checked for effects on site
+include-files:</p>
+<ul class="simple">
+<li><p>Changing the name of tasks or families in the core workflow may break
+sites that add configuration to the original runtime namespace.</p></li>
+<li><p>Adding new tasks or families to the core workflow may require
+corresponding additions to the site files.</p></li>
+<li><p>Deleting tasks or families from the core workflow may require
+corresponding parts of the site files to be removed. And also, check for
+site-specific triggering off of deleted tasks or families.</p></li>
+</ul>
+<p>However, if the owner site has to get some changes into the trunk before all
+collaborating sites have time to test them, version control will of course
+protect those lagging behind from any immediate ill effects.</p>
+<p>When a new feature is complete and tested at the developer’s site, the workflow
+owner should check out the branch, review and test it, and if necessary request
+that other sites do the same and report back. The owner can then merge the
+new feature to the trunk once satisfied.</p>
+<p>All planning and discussion associated with the change should be documented on
+MOSRS Trac tickets associated with the workflow.</p>
+</section>
+<section id="research-to-operations-transition">
+<h2>Research-To-Operations Transition<a class="headerlink" href="#research-to-operations-transition" title="Link to this heading"></a></h2>
+<p>Under this collaborative development model it is <em>possible</em> to use the
+same workflow in research and operations, largely eliminating the difficult
+translation between the two environments. Where appropriate, this can save
+a lot of work.</p>
+<p>Operations-specific parts of the workflow should be factored out (as for site
+portability) into include-files that are only loaded in the operational
+environment. Improvements and upgrades can be developed on feature branches in
+the research environment. Operations staff can check out completed feature
+branches for testing in the operational environment before merging to trunk or
+referring back to research if problems are found. After sufficient testing the
+new workflow version can be deployed into operations.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>This obviously glosses over the myriad complexities of the technical
+and scientific testing and validation of workflow upgrades; it merely describes
+what is possible from a workflow design and collaborative development
+perspective.</p>
+</div>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="efficiency.html" class="btn btn-neutral float-left" title="Efficiency And Maintainability" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../reference/index.html" class="btn btn-neutral float-right" title="Reference" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "workflow-design-guide/portable-workflows";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/html/workflow-design-guide/style-guide.html b/nightly_8.3/html/workflow-design-guide/style-guide.html
new file mode 100644
index 00000000000..f6bc70bf223
--- /dev/null
+++ b/nightly_8.3/html/workflow-design-guide/style-guide.html
@@ -0,0 +1,426 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" data-content_root="../">
+<head>
+  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Style Guidelines &mdash; Cylc 8.3.0.dev documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=f63d8bfa" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
+      <link rel="stylesheet" type="text/css" href="../_static/graphviz.css?v=eafc0fe6" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/diff_selector.css?v=9704a72b" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/grid_table.css?v=0285b42e" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/hieroglyph_theme_addons.css?v=814c2015" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/tutorial.css?v=b869d33c" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/addons.css?v=d1f804c3" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=0fad80e6" />
+
+  
+    <link rel="shortcut icon" href="../_static/cylc-favicon.ico"/>
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script src="../_static/jquery.js?v=5d32c60e"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="../_static/documentation_options.js?v=a4d5a046"></script>
+        <script src="../_static/doctools.js?v=888ff710"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+        <script src="../_static/js/diff_selector.js?v=3109bfa4"></script>
+        <script src="../_static/js/minicylc.js?v=ddc882fd"></script>
+        <script src="../_static/js/spoiler.js?v=12631137"></script>
+        <script src="../_static/js/addons.js?v=39bd7dee"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Basic Principles" href="general-principles.html" />
+    <link rel="prev" title="Workflow Design Guide" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html">
+            
+              <img src="../_static/cylc-logo-white.svg" class="logo" alt="Logo"/>
+          </a>
+              <div class="version">
+                8.3
+              </div>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../7-to-8/index.html">Cylc 8 Migration Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../user-guide/index.html">User Guide</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Plugins</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Workflow Design Guide</a><ul class="current">
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Style Guidelines</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#tab-characters">Tab Characters</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#trailing-whitespace">Trailing Whitespace</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#indentation">Indentation</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#settings-config-items">Settings (Config Items)</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#script-string-lines">Script String Lines</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#graph-string-lines">Graph String Lines</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#jinja2-code">Jinja2 Code</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#comments">Comments</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#titles-descriptions-and-urls">Titles, Descriptions, And URLs</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#line-length-and-continuation">Line Length And Continuation</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#task-naming-conventions">Task Naming Conventions</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#um-system-task-names">UM System Task Names</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#rose-config-files">Rose Config Files</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="general-principles.html">Basic Principles</a></li>
+<li class="toctree-l2"><a class="reference internal" href="efficiency.html">Efficiency And Maintainability</a></li>
+<li class="toctree-l2"><a class="reference internal" href="portable-workflows.html">Portable Workflows</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Cylc</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="index.html">Workflow Design Guide</a></li>
+      <li class="breadcrumb-item active">Style Guidelines</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/workflow-design-guide/style-guide.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="style-guidelines">
+<h1>Style Guidelines<a class="headerlink" href="#style-guidelines" title="Link to this heading"></a></h1>
+<p>Coding style is largely subjective, but for collaborative development of
+complex systems it is important to settle on a clear and consistent style to
+avoid getting into a mess. The following style rules are recommended.</p>
+<div class="admonition seealso">
+<p class="admonition-title">See also</p>
+<p><a class="reference internal" href="../user-guide/writing-workflows/configuration.html#cylc-lint-script"><span class="std std-ref">cylc lint -r style</span></a> is a tool designed to help
+you check your code style.</p>
+</div>
+<section id="tab-characters">
+<h2>Tab Characters<a class="headerlink" href="#tab-characters" title="Link to this heading"></a></h2>
+<p>Do not use tab characters. Tab width depends on editor settings, so a mixture
+of tabs and spaces in the same file can render to a mess.</p>
+<p>Use <code class="docutils literal notranslate"><span class="pre">grep</span> <span class="pre">-InPr</span> <span class="pre">&quot;\t&quot;</span> <span class="pre">*</span></code> to find tabs recursively in files in
+a directory.</p>
+<p>In <em>vim</em> use <code class="docutils literal notranslate"><span class="pre">%retab</span></code> to convert existing tabs to spaces,
+and set <code class="docutils literal notranslate"><span class="pre">expandtab</span></code> to automatically convert new tabs.</p>
+<p>In <em>emacs</em> use <em>whitespace-cleanup</em>.</p>
+<p>In <em>gedit</em>, use the <em>Draw Spaces</em> plugin to display tabs and spaces.</p>
+</section>
+<section id="trailing-whitespace">
+<h2>Trailing Whitespace<a class="headerlink" href="#trailing-whitespace" title="Link to this heading"></a></h2>
+<p>Trailing whitespace is untidy, it makes quick reformatting of paragraphs
+difficult, and it can result in hard-to-find bugs (space after intended
+line continuation markers).</p>
+<p>To remove existing trailing whitespace in a file use a <code class="docutils literal notranslate"><span class="pre">sed</span></code> or
+<code class="docutils literal notranslate"><span class="pre">perl</span></code> one-liner:</p>
+<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>perl<span class="w"> </span>-pi<span class="w"> </span>-e<span class="w"> </span><span class="s2">&quot;s/ +</span>$<span class="s2">//g&quot;</span><span class="w"> </span>/path/to/file
+<span class="gp"># </span>or:
+<span class="gp">$ </span>sed<span class="w"> </span>--in-place<span class="w"> </span><span class="s1">&#39;s/[[:space:]]\+$//&#39;</span><span class="w"> </span>path/to/file
+</pre></div>
+</div>
+<p>Or do a similar search-and-replace operation in your editor. Editors like
+<em>vim</em> and <em>emacs</em> can also be configured to highlight or automatically
+remove trailing whitespace on the fly.</p>
+</section>
+<section id="indentation">
+<h2>Indentation<a class="headerlink" href="#indentation" title="Link to this heading"></a></h2>
+<p>Consistent indentation makes a workflow definition more readable, it shows section
+nesting clearly, and it makes block re-indentation operations easier in text
+editors. Indent <a class="reference internal" href="../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> syntax four spaces per nesting level:</p>
+<section id="settings-config-items">
+<h3>Settings (Config Items)<a class="headerlink" href="#settings-config-items" title="Link to this heading"></a></h3>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[SECTION]</span>
+    <span class="c1"># A comment.</span>
+    <span class="nv">title </span><span class="o">=</span><span class="s"> the quick brown fox</span>
+    <span class="nt">[[SUBSECTION]]</span>
+        <span class="c1"># Another comment.</span>
+        <span class="nv">a short item </span><span class="o">=</span><span class="s"> value1</span>
+        <span class="nv">a very very long item </span><span class="o">=</span><span class="s"> value2</span>
+</pre></div>
+</div>
+<p>Don’t align <code class="docutils literal notranslate"><span class="pre">item</span> <span class="pre">=</span> <span class="pre">value</span></code> pairs on the <code class="docutils literal notranslate"><span class="pre">=</span></code> character
+like this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[SECTION]</span>  <span class="c1"># Avoid this.</span>
+             <span class="nv">a short item </span><span class="o">=</span><span class="s"> value1</span>
+    <span class="nv">a very very long item </span><span class="o">=</span><span class="s"> value2</span>
+</pre></div>
+</div>
+<p>or like this:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[SECTION]</span>  <span class="c1"># Avoid this.</span>
+    <span class="nv">a short item          </span><span class="o">=</span><span class="s"> value1</span>
+    <span class="nv">a very very long item </span><span class="o">=</span><span class="s"> value2</span>
+</pre></div>
+</div>
+<p>because the whole block may need re-indenting after a single change, which will
+pollute your revision history with spurious changes.</p>
+<p>Comments should be indented to the same level as the section or item they refer
+to, and trailing comments should be preceded by two spaces, as shown above.</p>
+</section>
+<section id="script-string-lines">
+<h3>Script String Lines<a class="headerlink" href="#script-string-lines" title="Link to this heading"></a></h3>
+<p>Script strings are written verbatim to <a class="reference internal" href="../glossary.html#term-job-script"><span class="xref std std-term">job scripts</span></a>.</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="nv">script </span><span class="o">=</span><span class="s"> echo &quot;Hello, Mr. Thompson&quot;</span>
+</pre></div>
+</div>
+<p>If using a triple-quoted string, any common leading whitespace is trimmed
+using the logic of <a class="reference external" href="https://docs.python.org/3/library/textwrap.html#textwrap.dedent" title="(in Python v3.12)"><code class="xref py py-func docutils literal notranslate"><span class="pre">textwrap.dedent()</span></code></a>. As such, it is recommended to
+indent like any other triple-quoted string setting in Cylc:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+        <span class="c1"># Recommended.</span>
+        <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">            if [[ &quot;$RESULT&quot; == &quot;bad&quot; ]]; then</span>
+<span class="s2">                echo &quot;Goodbye World!&quot;</span>
+<span class="s2">                exit 1</span>
+<span class="s2">            fi</span>
+<span class="s2">        &quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>The example above would result in the following being written to the job
+script:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="o">[[</span><span class="w"> </span><span class="s2">&quot;</span><span class="nv">$RESULT</span><span class="s2">&quot;</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="s2">&quot;bad&quot;</span><span class="w"> </span><span class="o">]]</span><span class="p">;</span><span class="w"> </span><span class="k">then</span>
+<span class="w">    </span><span class="nb">echo</span><span class="w"> </span><span class="s2">&quot;Goodbye World!&quot;</span>
+<span class="w">    </span><span class="nb">exit</span><span class="w"> </span><span class="m">1</span>
+<span class="k">fi</span>
+</pre></div>
+</div>
+<div class="admonition tip">
+<p class="admonition-title">Tip</p>
+<p>Take care when indenting here documents (aka heredocs) to match the
+common leading whitespace.</p>
+<p>For the following example, each line in <code class="docutils literal notranslate"><span class="pre">log.txt</span></code> would end up with
+4 leading white spaces:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+     <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">         cat &gt;&gt; log.txt &lt;&lt;_EOF_</span>
+<span class="s2">             The quick brown fox jumped</span>
+<span class="s2">             over the lazy dog.</span>
+<span class="s2">         _EOF_</span>
+<span class="s2">     &quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>The following will give you lines with no white spaces:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[foo]]</span>
+     <span class="nv">script </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+<span class="s2">         cat &gt;&gt; log.txt &lt;&lt;_EOF_</span>
+<span class="s2">         The quick brown fox jumped</span>
+<span class="s2">         over the lazy dog.</span>
+<span class="s2">         _EOF_</span>
+<span class="s2">     &quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</div>
+</section>
+<section id="graph-string-lines">
+<h3>Graph String Lines<a class="headerlink" href="#graph-string-lines" title="Link to this heading"></a></h3>
+<p>Whitespace is ignored in graph string parsing so internal graph lines
+should be indented as if part of the <a class="reference internal" href="../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> syntax:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="c1"># Main workflow:</span>
+            <span class="kd">FAMILY</span><span class="c">:</span><span class="kd">succeed</span><span class="c">-</span><span class="kd">all</span> <span class="o">=&gt;</span> <span class="kd">bar</span> <span class="o">&amp;</span> <span class="kd">baz</span> <span class="o">=&gt;</span> <span class="kd">qux</span>
+
+            <span class="c1"># Housekeeping:</span>
+            <span class="kd">qux</span> <span class="o">=&gt;</span> <span class="kd">rose_arch</span> <span class="o">=&gt;</span> <span class="kd">rose_prune</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</section>
+<section id="jinja2-code">
+<h3>Jinja2 Code<a class="headerlink" href="#jinja2-code" title="Link to this heading"></a></h3>
+<p>A <a class="reference internal" href="../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file with embedded Jinja2 code is essentially a Jinja2 program to
+generate a Cylc workflow definition. It is not possible to consistently indent the
+Jinja2 as if it were part of the <a class="reference internal" href="../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> syntax (which to the Jinja2 processor
+is just arbitrary text), so it should be indented from the left margin on
+its own terms:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[runtime]</span>
+    <span class="nt">[[OPS]]</span>
+<span class="cp">{% for T in OPS_TASKS %}</span>
+    <span class="cp">{% for M in range(M_MAX) %}</span>
+    <span class="nt">[[ops_</span><span class="cp">{{T}}</span><span class="nt">_</span><span class="cp">{{M}}</span><span class="nt">]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> OPS</span>
+    <span class="cp">{% endfor %}</span>
+<span class="cp">{% endfor %}</span>
+</pre></div>
+</div>
+</section>
+</section>
+<section id="comments">
+<h2>Comments<a class="headerlink" href="#comments" title="Link to this heading"></a></h2>
+<p>Comments should be minimal, but not too minimal. If context and clear
+task and variable names will do, leave it at that. Extremely verbose comments
+tend to get out of sync with the code they describe, which can be worse
+than having no comments.</p>
+<p>Avoid long lists of numbered comments - future changes may require mass
+renumbering.</p>
+<p>Avoid page-width “section divider” comments, especially if they are not
+strictly limited to the standard line length (see <a class="reference internal" href="#line-length"><span class="std std-ref">Line Length And Continuation</span></a>).</p>
+<p>Indent comments to the same level as the config items they describe.</p>
+</section>
+<section id="titles-descriptions-and-urls">
+<h2>Titles, Descriptions, And URLs<a class="headerlink" href="#titles-descriptions-and-urls" title="Link to this heading"></a></h2>
+<p>Document the workflow and its tasks with <code class="docutils literal notranslate"><span class="pre">title</span></code>,
+<code class="docutils literal notranslate"><span class="pre">description</span></code>, and <code class="docutils literal notranslate"><span class="pre">url</span></code> items instead of comments.
+See the <a class="reference internal" href="../reference/config/workflow.html#flow.cylc[meta]" title="flow.cylc[meta]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[meta]</span></code></a> and
+<a class="reference internal" href="../reference/config/workflow.html#flow.cylc[runtime][&lt;namespace&gt;][meta]" title="flow.cylc[runtime][&lt;namespace&gt;][meta]"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc[runtime][&lt;namespace&gt;][meta]</span></code></a> sections.</p>
+</section>
+<section id="line-length-and-continuation">
+<span id="line-length"></span><h2>Line Length And Continuation<a class="headerlink" href="#line-length-and-continuation" title="Link to this heading"></a></h2>
+<p>Keep to the standard maximum line length of 79 characters where possible. Very
+long lines affect readability and make side-by-side diffs hard to view.</p>
+<p>Backslash line continuation markers can be used anywhere in the <a class="reference internal" href="../reference/config/workflow.html#flow.cylc" title="flow.cylc"><code class="xref cylc cylc-conf docutils literal notranslate"><span class="pre">flow.cylc</span></code></a> file
+but should be avoided if possible because they are easily broken by invisible
+trailing whitespace.</p>
+<p>Continuation markers are not needed in graph strings where trailing
+trigger arrows and boolean operators imply line continuation:</p>
+<div class="highlight-cylc notranslate"><div class="highlight"><pre><span></span><span class="nt">[scheduling]</span>
+    <span class="nt">[[graph]]</span>
+        <span class="c1"># No line continuation marker is needed here.</span>
+        <span class="nv">R1 </span><span class="o">=</span> <span class="s2">&quot;&quot;&quot;</span>
+            <span class="kd">prep</span> <span class="o">=&gt;</span> <span class="kd">one</span> <span class="o">=&gt;</span> <span class="kd">two</span> <span class="o">=&gt;</span> <span class="kd">three</span> <span class="o">=&gt;</span>
+            <span class="kd">four</span> <span class="o">=&gt;</span> <span class="kd">five</span> <span class="kd">six</span> <span class="o">=&gt;</span> <span class="kd">seven</span> <span class="o">=&gt;</span> <span class="kd">eight</span> <span class="o">&amp;</span>
+            <span class="kd">nine</span> <span class="o">&amp;</span> <span class="kd">ten</span> <span class="o">=&gt;</span>
+            <span class="kd">eleven</span> <span class="o">|</span>
+            <span class="kd">twelve</span>
+        <span class="s2">&quot;&quot;&quot;</span>
+<span class="nt">[runtime]</span>
+    <span class="nt">[[MY_TASKS]]</span>
+    <span class="c1"># A line continuation marker *is* needed here:</span>
+    <span class="nt">[[one, two, three, four, five, six, seven, eight, nine, ten, \</span>
+<span class="nt">      eleven, twelve, thirteen]]</span>
+        <span class="nv">inherit </span><span class="o">=</span><span class="s"> MY_TASKS</span>
+</pre></div>
+</div>
+</section>
+<section id="task-naming-conventions">
+<h2>Task Naming Conventions<a class="headerlink" href="#task-naming-conventions" title="Link to this heading"></a></h2>
+<p>Use <code class="docutils literal notranslate"><span class="pre">UPPERCASE</span></code> for family names and <code class="docutils literal notranslate"><span class="pre">lowercase</span></code>
+for tasks, so you can distinguish them at a glance.</p>
+<p>Choose a convention for multi-component names and use it consistently. Put the
+most general name components first for natural grouping, e.g.
+<code class="docutils literal notranslate"><span class="pre">obs_sonde</span></code>, <code class="docutils literal notranslate"><span class="pre">obs_radar</span></code> (not <code class="docutils literal notranslate"><span class="pre">sonde_obs</span></code> etc.)</p>
+<p>Within your convention keep names as short as possible.</p>
+<section id="um-system-task-names">
+<h3>UM System Task Names<a class="headerlink" href="#um-system-task-names" title="Link to this heading"></a></h3>
+<p>For UM System workflows we recommend the following full task naming convention:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>model_system_function[_member]
+</pre></div>
+</div>
+<p>For example, <code class="docutils literal notranslate"><span class="pre">glu_ops_process_scatwind</span></code> where <code class="docutils literal notranslate"><span class="pre">glu</span></code> refers
+to the global (deterministic model) update run, <code class="docutils literal notranslate"><span class="pre">ops</span></code> is the system
+that owns the task, and <code class="docutils literal notranslate"><span class="pre">process_scatwind</span></code> is the function it
+performs. The optional <code class="docutils literal notranslate"><span class="pre">member</span></code> suffix is intended for use with
+ensembles as needed.</p>
+<p>Within this convention keep names as short as possible, e.g. use
+<code class="docutils literal notranslate"><span class="pre">fcst</span></code> instead of <code class="docutils literal notranslate"><span class="pre">forecast</span></code>.</p>
+<p>UM forecast apps should be given names that reflect their general science
+configuration rather than geographic domain, to allow use on other model
+domains without causing confusion.</p>
+</section>
+</section>
+<section id="rose-config-files">
+<h2>Rose Config Files<a class="headerlink" href="#rose-config-files" title="Link to this heading"></a></h2>
+<p>Use <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">config-dump</span></code> to load and re-save new <code class="docutils literal notranslate"><span class="pre">rose.conf</span></code> files. This
+puts the files in a standard format (ordering of lines etc.) to ensure that
+spurious changes aren’t generated when you next use <code class="docutils literal notranslate"><span class="pre">rose</span> <span class="pre">edit</span></code>.</p>
+<p>See also <a class="reference internal" href="efficiency.html#optional-app-config-files"><span class="std std-ref">Optional App Config Files</span></a> on optional app config files.</p>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="Workflow Design Guide" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="general-principles.html" class="btn btn-neutral float-right" title="Basic Principles" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2008-2023 NIWA &amp; British Crown (Met Office) &amp; Contributors.
+      <span class="lastupdated">Last updated on Jan 18, 2024.
+      </span></p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <!--
+  element which gets populated with the list of available versions and
+  formats for the documentation by versions.js
+-->
+<div
+  class="rst-versions"
+  data-toggle="rst-versions"
+  id='versions-and-formats'
+></div>
+
+
+
+
+<script type="text/javascript">
+    const CUR_FORMAT = "html";
+    const CUR_VERSION = "nightly:8.3.2024-01-18";
+    // name of page (in URL), for singlepage builds this will be `index`
+    const PAGE_NAME = "workflow-design-guide/style-guide";
+    // URL path to the base docs dir i.e. ROOT_DIR/version/format
+    const ROOT_DIR = "../../..";
+</script>
+
+<script
+  type="text/javascript"
+  src="../../../versions.js"
+></script><script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/nightly_8.3/index.html b/nightly_8.3/index.html
new file mode 100644
index 00000000000..23c8291012d
--- /dev/null
+++ b/nightly_8.3/index.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>Cylc Documentation</title>
+        <meta http-equiv="REFRESH" content="0;url=html/index.html">
+    </head>
+    <body>
+        <p>If not automatically redirected, please click
+        <a href="html/index.html">Cylc Documentation</a>.</p>
+    </body>
+</html>
diff --git a/nightly_8.3/linkcheck/_static/_sphinx_javascript_frameworks_compat.js b/nightly_8.3/linkcheck/_static/_sphinx_javascript_frameworks_compat.js
new file mode 100644
index 00000000000..81415803ec2
--- /dev/null
+++ b/nightly_8.3/linkcheck/_static/_sphinx_javascript_frameworks_compat.js
@@ -0,0 +1,123 @@
+/* Compatability shim for jQuery and underscores.js.
+ *
+ * Copyright Sphinx contributors
+ * Released under the two clause BSD licence
+ */
+
+/**
+ * small helper function to urldecode strings
+ *
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
+ */
+jQuery.urldecode = function(x) {
+    if (!x) {
+        return x
+    }
+    return decodeURIComponent(x.replace(/\+/g, ' '));
+};
+
+/**
+ * small helper function to urlencode strings
+ */
+jQuery.urlencode = encodeURIComponent;
+
+/**
+ * This function returns the parsed url parameters of the
+ * current request. Multiple values per key are supported,
+ * it will always return arrays of strings for the value parts.
+ */
+jQuery.getQueryParameters = function(s) {
+    if (typeof s === 'undefined')
+        s = document.location.search;
+    var parts = s.substr(s.indexOf('?') + 1).split('&');
+    var result = {};
+    for (var i = 0; i < parts.length; i++) {
+        var tmp = parts[i].split('=', 2);
+        var key = jQuery.urldecode(tmp[0]);
+        var value = jQuery.urldecode(tmp[1]);
+        if (key in result)
+            result[key].push(value);
+        else
+            result[key] = [value];
+    }
+    return result;
+};
+
+/**
+ * highlight a given string on a jquery object by wrapping it in
+ * span elements with the given class name.
+ */
+jQuery.fn.highlightText = function(text, className) {
+    function highlight(node, addItems) {
+        if (node.nodeType === 3) {
+            var val = node.nodeValue;
+            var pos = val.toLowerCase().indexOf(text);
+            if (pos >= 0 &&
+                !jQuery(node.parentNode).hasClass(className) &&
+                !jQuery(node.parentNode).hasClass("nohighlight")) {
+                var span;
+                var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
+                if (isInSVG) {
+                    span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+                } else {
+                    span = document.createElement("span");
+                    span.className = className;
+                }
+                span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+                node.parentNode.insertBefore(span, node.parentNode.insertBefore(
+                    document.createTextNode(val.substr(pos + text.length)),
+                    node.nextSibling));
+                node.nodeValue = val.substr(0, pos);
+                if (isInSVG) {
+                    var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
+                    var bbox = node.parentElement.getBBox();
+                    rect.x.baseVal.value = bbox.x;
+                    rect.y.baseVal.value = bbox.y;
+                    rect.width.baseVal.value = bbox.width;
+                    rect.height.baseVal.value = bbox.height;
+                    rect.setAttribute('class', className);
+                    addItems.push({
+                        "parent": node.parentNode,
+                        "target": rect});
+                }
+            }
+        }
+        else if (!jQuery(node).is("button, select, textarea")) {
+            jQuery.each(node.childNodes, function() {
+                highlight(this, addItems);
+            });
+        }
+    }
+    var addItems = [];
+    var result = this.each(function() {
+        highlight(this, addItems);
+    });
+    for (var i = 0; i < addItems.length; ++i) {
+        jQuery(addItems[i].parent).before(addItems[i].target);
+    }
+    return result;
+};
+
+/*
+ * backward compatibility for jQuery.browser
+ * This will be supported until firefox bug is fixed.
+ */
+if (!jQuery.browser) {
+    jQuery.uaMatch = function(ua) {
+        ua = ua.toLowerCase();
+
+        var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
+            /(webkit)[ \/]([\w.]+)/.exec(ua) ||
+            /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
+            /(msie) ([\w.]+)/.exec(ua) ||
+            ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
+            [];
+
+        return {
+            browser: match[ 1 ] || "",
+            version: match[ 2 ] || "0"
+        };
+    };
+    jQuery.browser = {};
+    jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
+}
diff --git a/nightly_8.3/linkcheck/_static/css/addons.css b/nightly_8.3/linkcheck/_static/css/addons.css
new file mode 100644
index 00000000000..dec298db63f
--- /dev/null
+++ b/nightly_8.3/linkcheck/_static/css/addons.css
@@ -0,0 +1,129 @@
+/* ----------------------------------------------------------------------------
+ * THIS FILE IS PART OF THE CYLC WORKFLOW ENGINE.
+ * Copyright (C) NIWA & British Crown (Met Office) & Contributors.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * ------------------------------------------------------------------------- */
+
+/* (1)
+ * Correct the behaviour of nested admonitions. Sometimes the admonition-header
+ * inherits its parents styling. */
+.rst-content .error .admonition-title, .rst-content .danger .admonition-title {
+    background: red
+}
+.rst-content .warning .admonition-title,
+.rst-content .caution .admonition-title,
+.rst-content .attention .admonition-title {
+    background: orange
+}
+
+
+/* (2)
+ * Enable theme handling of pilcrow symbols for code-block captions and
+ * admonitions. */
+.rst-content p.admonition-title .pull-left.headerlink,
+.rst-content div.code-block-caption .pull-left.headerlink {
+    margin-right:.3em
+}
+.rst-content p.admonition-title .pull-right.headerlink,
+.rst-content div.code-block-caption .pull-right.headerlink {
+    margin-left:.3em
+}
+.rst-content p.admonition-title .headerlink:before,
+.rst-content div.code-block-caption .headerlink:before {
+    font-family:"FontAwesome";
+    display:inline-block;
+    font-style:normal;
+    font-weight:normal;
+    line-height:1;
+    text-decoration:inherit;
+    font-size:14px;
+    vertical-align:-15%;
+    -webkit-font-smoothing:antialiased
+}
+.rst-content p.admonition-title .headerlink:after,
+.rst-content div.code-block-caption .headerlink:after {
+    visibility:visible;
+    content:"";
+    font-family:FontAwesome;
+    display:inline-block;
+    color:#2980B9
+}
+.rst-content p.admonition-title:hover .headerlink,
+.rst-content div.code-block-caption:hover .headerlink {
+    display:inline-block
+}
+.rst-content p.admonition-title .headerlink,
+.rst-content div.code-block-caption .headerlink {
+    font:normal normal normal 14px/1 FontAwesome;
+    text-rendering:auto;
+    -webkit-font-smoothing:antialiased;
+    -moz-osx-font-smoothing:grayscale;
+    display:none;
+    visibility:hidden;
+    color:#fcfcfc;
+    text-decoration:inherit
+}
+
+
+/* (3)
+ * Add warning symbol before deprecated items. */
+.deprecated p:before {
+    font-family:FontAwesome;
+    content:"\f071  ";
+    color: rgb(200, 90, 70);
+}
+.deprecated p {
+    font-weight: bold;
+}
+
+
+
+/* (4)
+ * Make version-modified more prominent. */
+span.versionmodified{
+    font-weight: bold;
+}
+
+
+/* (5)
+ * Restyle code-block captions. */
+.code-block-caption {
+    font-style: italic;
+    color: #808080;
+}
+.code-block-caption span {
+    font-size: 1.2em;
+}
+
+
+/* (6)
+ * Fix the lack of space underneath lists inside admonitions. */
+.rst-content div.admonition ul,
+.rst-content div.admonition ol > li {
+    padding-bottom: 0.5em;
+}
+
+
+/* (7)
+ * Improve sidebar scrolling */
+.wy-nav-size {
+    overflow-x: hidden!important;
+    overflow-y: hidden!important;
+}
+
+/* Remove awkward margin for config reference "Path", "Type" etc. */
+.rst-content .cylc.conf .field-list {
+    margin-bottom: 0;
+}
diff --git a/nightly_8.3/linkcheck/_static/css/diff_selector.css b/nightly_8.3/linkcheck/_static/css/diff_selector.css
new file mode 100644
index 00000000000..38cd2807a03
--- /dev/null
+++ b/nightly_8.3/linkcheck/_static/css/diff_selector.css
@@ -0,0 +1,36 @@
+/* ----------------------------------------------------------------------------
+ * THIS FILE IS PART OF THE CYLC WORKFLOW ENGINE.
+ * Copyright (C) NIWA & British Crown (Met Office) & Contributors.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * ------------------------------------------------------------------------- */
+
+/* Block an element from being included in text selections. */
+.noselect {
+    -webkit-user-select: none;
+     -khtml-user-select: none;
+       -moz-user-select: none;
+        -ms-user-select: none;
+            user-select: none;
+}
+
+/* Extension to Pygments to insert the "added" and "unchanged" characters in
+ * a "diff" code block using CSS so that they aren't included when copied as
+ * text. */
+.highlight-diff .gi:before {
+    content: '+';
+}
+.highlight-diff .gn:before {
+    content: ' ';
+}
diff --git a/nightly_8.3/linkcheck/_static/css/grid_table.css b/nightly_8.3/linkcheck/_static/css/grid_table.css
new file mode 100644
index 00000000000..53b63b3612d
--- /dev/null
+++ b/nightly_8.3/linkcheck/_static/css/grid_table.css
@@ -0,0 +1,43 @@
+/* ----------------------------------------------------------------------------
+ * THIS FILE IS PART OF THE CYLC WORKFLOW ENGINE.
+ * Copyright (C) NIWA & British Crown (Met Office) & Contributors.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * ------------------------------------------------------------------------- */
+
+/* Implement grid-table class for plain style grid layouts. */
+.grid-table {
+    width: 100% !important;
+    border: 0 !important; /* Remove table border. */
+}
+.grid-table tbody tr td:first-child {
+    padding-left: 0 !important; /* Grid flush with the left-hand content edge. */
+}
+.grid-table tbody tr td:last-child {
+    padding-right: 0 !important; /* Grid flush with the right-hand edge */
+}
+.grid-table tbody tr td {
+    background-color: rgba(255,255,255,0) !important;
+    border: 0 !important;  /* Remove cell border. */
+    vertical-align: top !important;  /* All content should float to the top. */
+}
+.grid-table td {
+    /* docutils sticks tables inside an align-center class, correct this */
+    text-align: left;
+}
+
+/* Tables handle their own margin, this prevents getting a double margin. */
+.grid-table div.highlight {
+    margin-bottom: 0;
+}
diff --git a/nightly_8.3/linkcheck/_static/css/hieroglyph_theme_addons.css b/nightly_8.3/linkcheck/_static/css/hieroglyph_theme_addons.css
new file mode 100644
index 00000000000..055353e558d
--- /dev/null
+++ b/nightly_8.3/linkcheck/_static/css/hieroglyph_theme_addons.css
@@ -0,0 +1,38 @@
+/* (1)
+ * Make quotations small enough to fit on the slide. */
+.slide q {
+    font-size: 1em;
+}
+
+
+/* (2)
+ * Add a bit of space between slide titles and images. */
+.slide object, .slide img {
+    margin: 1em 0 1em 0;
+}
+
+
+/* (3)
+ * Don't display glossary terms as hyperlinks. */
+.slide a.reference {
+    text-decoration: none
+}
+.slide a.reference span.std {
+    text-decoration: underline;
+}
+.slide a.reference span.xref {
+    text-decoration: none;
+    color: #909090;
+    font-style: italic;
+}
+.slide a.reference span.xref:hover {
+    text-decoration: underline;
+    color: #0066CC;
+}
+
+
+/* (4)
+ * Make code block captions legible. */
+.slide .code-block-caption span {
+    font-size: 2em;
+}
diff --git a/nightly_8.3/linkcheck/_static/css/tutorial.css b/nightly_8.3/linkcheck/_static/css/tutorial.css
new file mode 100644
index 00000000000..42330f4c6da
--- /dev/null
+++ b/nightly_8.3/linkcheck/_static/css/tutorial.css
@@ -0,0 +1,3 @@
+.admonition.tutorial-ref .admonition-title:before {
+    content: "";
+}
diff --git a/nightly_8.3/linkcheck/_static/jquery.js b/nightly_8.3/linkcheck/_static/jquery.js
new file mode 100644
index 00000000000..c4c6022f298
--- /dev/null
+++ b/nightly_8.3/linkcheck/_static/jquery.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
diff --git a/nightly_8.3/linkcheck/_static/js/addons.js b/nightly_8.3/linkcheck/_static/js/addons.js
new file mode 100644
index 00000000000..e9f0e34493d
--- /dev/null
+++ b/nightly_8.3/linkcheck/_static/js/addons.js
@@ -0,0 +1,32 @@
+/* ----------------------------------------------------------------------------
+ * THIS FILE IS PART OF THE CYLC WORKFLOW ENGINE.
+ * Copyright (C) NIWA & British Crown (Met Office) & Contributors.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * ------------------------------------------------------------------------- */
+
+/* (2)
+ * Make admonitions linkable. */
+$(document).ready(function() {
+    var id;
+    $('p.admonition-title').each(function(itt, element) {
+        id = 'admonition-' + itt;
+        $(element).attr({'id': id});
+        $(element).append($('<a />')
+            .attr({'href': '#' + id})
+            .addClass('headerlink')
+            .append('¶')
+        );
+    });
+});
diff --git a/nightly_8.3/linkcheck/_static/js/diff_selector.js b/nightly_8.3/linkcheck/_static/js/diff_selector.js
new file mode 100644
index 00000000000..183d98b6ae1
--- /dev/null
+++ b/nightly_8.3/linkcheck/_static/js/diff_selector.js
@@ -0,0 +1,122 @@
+/* ----------------------------------------------------------------------------
+ * THIS FILE IS PART OF THE CYLC WORKFLOW ENGINE.
+ * Copyright (C) NIWA & British Crown (Met Office) & Contributors.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * ------------------------------------------------------------------------- */
+
+/* Return a list of matches for the provided string, see also String.indexOf. */
+String.prototype.indicesOf = function (sub) {
+    var str = String(this);
+    var index = str.indexOf(sub);
+    var count = 0;
+    var ret = [];
+    while (index != -1) {
+        str = str.substr(index + 1);
+        ret.push(index + count);
+        count += index + 1;
+        index = str.indexOf(sub);
+    }
+    return ret;
+}
+
+
+/* Split a text node on the newline character, see also Text.splitText. */
+Text.prototype.splitLines = function () {
+    var indices = $(this).text().indicesOf('\n');
+    if (indices && indices[0] == 0) {
+        // ignore leading new line characters
+        indices.shift();
+    }
+    if (indices.length < 1) {
+        // no line breaks - skip
+        return [];
+    }
+    var node = this;
+    var offset = 0;
+    for (let index of indices) {
+        node = node.splitText(index - offset);
+        offset = index;
+    }
+}
+
+/* Remove the leading (+| ) character from each line of a diff block and
+ * re-insert them with CSS so that they are not included in the copy selection.
+ *
+ * Add the ".noselect" class to lines prefixed (-) to make them disappear from
+ * copied text. */
+$(document).ready(function() {
+    $('div.highlight-diff pre').each(function () {
+        // Unformatted text is represented as text nodes which don't fit into
+        // the DOM in the way regular HTML elements do so we cannot iterate
+        // over .children() but must use childNodes instead.
+        for (let node of this.childNodes) {
+            if (node.nodeName == '#text') {  // "unchanged" line.
+                // Split multi-line text nodes into separate lines so we can
+                // remove the leading whitespace.
+                node.splitLines();
+            } else {
+                text = $(node).html().substr(1);
+                if ($(node).hasClass('gi')) {  // "added" line.
+                    // Remove leading character.
+                    $(node).html($(node).html().substr(1));
+                } else if ($(node).hasClass('gd')) {  // "removed" line.
+                    // Make un-selectable.
+                    $(node).addClass('noselect');
+                }
+            }
+        }
+    });
+
+    // Iterate again to remove the leading whitespace from unchanged lines.
+    var node, text, newnode;
+    $('div.highlight-diff pre').each(function () {
+        node = this.childNodes[0];
+        while (node) {
+            // Skip nodes if they just contain whitespace (including new
+            // line characters).
+            if (node.nodeName == '#text' && $(node).text().trim()) {
+                text = $(node).text();
+                if (text[0] == '\n') {
+                    // Move leading new lines onto the end of the string.
+                    text = text.substr(1);
+                    node = node.splitText(1);
+                }
+                if (text[0] == ' ') {
+                    // Remove leading whitespace, this will be provided via
+                    // CSS.
+                    text = text.substr(1);
+                }
+
+                // Create a new span to represent this text node. Apply the 'gn'
+                // class which will provide leading whitespace.
+                $('<span />')
+                    .append(text)
+                    .addClass('gn')
+                    .insertBefore(node);
+
+                // Move on to the next node and remove the current text node.
+                newnode = node.nextSibling;
+                $(node).remove();
+                node = newnode;
+            } else {
+                // To avoid iterating over any nodes we are adding (infinite loop)
+                // we use node.nextSibling to get the next node and insert any
+                // new nodes before the current one.
+                node = node.nextSibling;
+            }
+        }
+    });
+
+});
diff --git a/nightly_8.3/linkcheck/_static/js/minicylc.js b/nightly_8.3/linkcheck/_static/js/minicylc.js
new file mode 100644
index 00000000000..d6f2fa90ced
--- /dev/null
+++ b/nightly_8.3/linkcheck/_static/js/minicylc.js
@@ -0,0 +1,354 @@
+/* ----------------------------------------------------------------------------
+ * THIS FILE IS PART OF THE CYLC WORKFLOW ENGINE.
+ * Copyright (C) NIWA & British Crown (Met Office) & Contributors.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * ------------------------------------------------------------------------- */
+
+/*eslint no-console: off*/
+
+// Default Cylc colour theme.
+var minicylc_default_theme = {
+    'waiting_fill': 'none',
+    'waiting_stroke': 'black',
+    'running_fill': '#55c3e5ff',
+    'running_stroke': 'black',
+    'succeed_fill': '#64c77eff',
+    'succeed_stroke': 'black'
+}
+
+// Old Cylc 7 theme.
+var minicylc_cylc7_theme = {
+    'waiting_fill': 'none',
+    'waiting_stroke': '#88c6ff',
+    'running_fill': '#00c410',
+    'running_stroke': 'black',
+    'succeed_fill': '#ada5a5',
+    'succeed_stroke': 'black'
+}
+
+// Demo colour theme for demmonstrating workflow logic.
+var minicylc_demo_theme = {
+    'succeed_fill': '#aabbff',
+    'succeed_stroke': 'black'
+}
+
+
+class MiniCylc {
+    /**
+     * Class for animating SVG graphs.
+     *
+     * Attributes:
+     *   - nodes: A dictionary of task names against a list of SVG nodes.
+     *   - edges: A dictionary of task edges against a list SVG nodes.
+     *   - dependencies: A dictionary of task names against a list of
+     *     conditional expressions.
+     */
+
+    constructor(div) {
+        /**
+         * Initiate the object.
+         * @param div The <div> element containing the SVG.
+         * */
+        this.div = div;
+        this.load();
+    }
+
+    load() {
+        /**
+         * Obtain nodes and edges from svg.
+         *
+         * This function calls itself recursively until the SVG is loaded.
+         *
+         * This function starts the animation when finished.
+         */
+        const svg = ($(this.div).find('object:first')[0]).contentDocument;
+        const self = this;
+
+        if (!svg) {
+          console.log('Wait for SVG load: Gecko');
+          // this retry loop works for Firefox, etc
+          setTimeout(function() {
+            self.load();
+          }, 500)
+          return;
+        }
+        var eles = $(svg).find('g');
+        if (!eles.length) {
+          console.log('Wait for SVG load: Blink');
+          // this retry loop works for Chrome, etc
+          setTimeout(function() {
+            self.load();
+          }, 500)
+          return;
+        }
+
+        this._find_svg_elements(svg);
+
+        // Parse dependencies.
+        var deps = this._get_dependencies_from_graph(this.div);
+        this._construct_dependency_map(deps);
+
+        // Process colour theme.
+        this.setup_colours($(this.div).data('theme'));
+
+        this.run()
+    }
+
+    setup_colours(theme) {
+        /**
+         * Set the colour theme.
+         * @param theme The name of a colour theme as a string.
+         */
+        if (!theme || theme == 'default') {
+            this.theme = minicylc_default_theme;
+        } else if (theme == 'demo') {
+            this.theme = minicylc_demo_theme;
+        } else if (theme == 'cylc7') {
+            this.theme = minicylc_cylc7_theme;
+        } else {
+            console.log('Warning: Invalid theme detected "' + theme +
+                        '", defaulting to black.');
+            this.theme = {};
+        }
+    }
+
+    _find_svg_elements(svg) {
+        /**
+         * Associate task/dependency names with SVG nodes.
+         *
+         * Associations stored as dictionaries this.nodes and this.edges.
+         * @param svg The <svg> element containing the workflow.
+         */
+        var nodes = {};
+        var edges = {};
+        $(svg).find('g').each(function() {
+            var node = $(this)[0];
+            var node_class = $(node).attr('class');
+            if (node_class == 'node') {
+                nodes[node.textContent.trim().split('\n')[0]] = node;
+            } else if (node_class == 'edge') {
+                edges[node.textContent.trim().split('\n')[0]] = node;
+            }
+        });
+        this.nodes = nodes;
+        this.edges = edges;
+    }
+
+    _get_dependencies_from_graph(div) {
+        /**
+         * Extract, parse and return a list of dependencies.
+         * @param div The minicylc <div> element.
+         * @return A list of [left, right] lists e.g. ['a & b', 'c'].
+         */
+        var deps = [];
+        var ind = 0;
+        var parts;
+        for (let dep of $(div).data('dependencies').split('//')) {
+            parts = dep.split('=>');
+            if (parts.length == 0) {
+                continue;  // Graph line does not contain a dependency => skip.
+            }
+            for(ind = 0; ind < parts.length-1; ind++) {
+                deps.push([parts[ind].trim(), parts[ind + 1].trim()]);  // [left, right].
+            }
+        }
+
+        return deps;
+    }
+
+    _construct_dependency_map(deps) {
+        /**
+         * Associate tasks with conditional expressions.
+         *
+         * Associations stored as a dictionary - this.dependencies.
+         * @param deps A list of dependencies in the form [[left, right], ...].
+         */
+        var condition;
+        var conditional_regex = /[()&]/;
+        var conditional_regex2 = /([()&|])/;
+        var conditional_chars = ['(', ')', '|', '&'];
+        this.dependencies = {};
+        for (let dep of deps) {
+            // Build a javascript parsable conditional statement.
+            condition = [];
+            for (let left of dep[0].split(conditional_regex2)) {
+                left = left.trim();
+                if (left) {
+                    if (!conditional_chars.includes(left)) {
+                        // All dependencies are :succeed by default,
+                        // dependencies are checked using
+                        // this.succeed.has(task).
+                        condition.push('this.succeed.has("' + left + '")');
+                    } else {
+                        // conditional character.
+                        condition.push(left);
+                    }
+                }
+            }
+            condition = condition.join(' ');
+
+            // Associate conditional statements with tasks.
+            for (let right of dep[1].split(conditional_regex)) {
+                right = right.trim();
+                if (!this.dependencies[right]) {
+                    this.dependencies[right] = [];
+                }
+                this.dependencies[right].push(condition);
+            }
+        }
+    }
+
+    evaluate_dependencies(task) {
+        /**
+         * Check if a task's dependencies are satisfied.
+         * @param task The name of the task to evaluate.
+         * @return true if satisfied else false.
+         */
+        var deps = this.dependencies[task];
+        if (!deps) {
+            return true;
+        }
+        for (let dep of deps) {
+            if (eval(dep) == 0) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    _style_node(node, fill, stroke) {
+        /**
+         * Style a graphviz node.
+         * @param fill The fill colour for SVG e.g. 'none', '#aabbcc', 'black'.
+         * @param stroke The stroke colour for SVG.
+         */
+        if (!fill) {
+            fill = 'none';  // Default to an unfilled node.
+        }
+        if (!stroke) {
+            stroke = 'black';  // Default to a black border.
+        }
+        // Style nodes.
+        $($(this.nodes[node]).find('ellipse:first')).attr({
+            'fill': fill,
+            'stroke': stroke
+        });
+    }
+
+    _style() {
+        /**
+         * Refresh the style of graph nodes based on their state.
+         */
+        for (let task of this.waiting) {
+            this._style_node(task,
+                             this.theme['waiting_fill'],
+                             this.theme['waiting_stroke']);
+        }
+        for (let task of this.running) {
+            this._style_node(task,
+                             this.theme['running_fill'],
+                             this.theme['running_stroke']);
+        }
+        for (let task of this.succeed) {
+            this._style_node(task,
+                             this.theme['succeed_fill'],
+                             this.theme['succeed_stroke']);
+        }
+    }
+
+    _init() {
+        /**
+         * Initiate the simulation / animation.
+         */
+        this.waiting = new Set();
+        this.running = new Set();
+        this.succeed = new Set();
+        for (let task in this.nodes) {
+            this.waiting.add(task);
+        }
+        this._style();
+    }
+
+    _advance() {
+        /*
+         * To be called with each main loop.
+         * @return true if the task pool has changed else false.
+         */
+        var changed = false;
+        for (let task of this.running) {
+            this.running.delete(task);
+            this.succeed.add(task);
+            changed = true;
+        }
+        for (let task of this.waiting) {
+            if (this.evaluate_dependencies(task)) {
+                this.waiting.delete(task);
+                this.running.add(task);
+                changed = true;
+            }
+        }
+        return changed;
+    }
+
+    _main_loop(itt) {
+        /*
+         * The main loop - runs the simulation and handles restyling of nodes.
+         * Note function calls itself recursively.
+         */
+        var exit = false;
+
+        // Action.
+        if (this._advance()) {  // Advance the task pool.
+            // If anything has changed restyle.
+            this._style();
+        } else {
+            // If nothing has changed...
+            if (this.waiting.size == 0 && this.running.size == 0) {
+                // The simulation has ended, reset and restart.
+                this._init();
+            } else {
+                // The worklfow stalled, log a console message and do nothing.
+                exit = true;
+                console.log('Workflow stalled :(');
+            }
+        }
+
+        // Callback.
+        if (!exit) {
+            var self_ref = this;
+            setTimeout(function(){
+               self_ref._main_loop(itt + 1);
+            }, 3000);
+        }
+    }
+
+    run() {
+        /*
+         * Run this simulation.
+         */
+        this._init();
+        this._main_loop(0);
+    }
+
+}
+
+
+// Activate minicylc.
+$(document).ready(function() {
+    $('.minicylc').each(function() {
+        var obj = this;
+        new MiniCylc(obj);
+    });
+});
diff --git a/nightly_8.3/linkcheck/_static/js/spoiler.js b/nightly_8.3/linkcheck/_static/js/spoiler.js
new file mode 100644
index 00000000000..55c3715010d
--- /dev/null
+++ b/nightly_8.3/linkcheck/_static/js/spoiler.js
@@ -0,0 +1,67 @@
+/* ----------------------------------------------------------------------------
+ * THIS FILE IS PART OF THE CYLC WORKFLOW ENGINE.
+ * Copyright (C) NIWA & British Crown (Met Office) & Contributors.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ * ------------------------------------------------------------------------- */
+
+/* This file implements spoiler sections which are hidden by default. */
+
+// sphinx_admonition_class: bootstrap_button_class
+const sphinx_admonition_classes = {
+    'attention': 'warning',
+    'caution': 'warning',
+    'error': 'danger',
+    'hint': 'success',
+    'important': 'success',
+    'note': 'info',
+    'tip': 'success',
+    'warning': 'warning',
+    'danger': 'danger'
+}
+
+$(document).ready(function() {
+    var button_class;
+    var spoilers = $('.spoiler');
+    for (let spoiler of spoilers) {
+        // Hide content.
+        $(spoiler).children().hide();
+        $(spoiler).find('.admonition-title').show();
+
+        // Determine button class.
+        button_class = 'default';
+        for (let css_class of $(spoiler).attr('class').split(' ')) {
+            if (css_class in sphinx_admonition_classes) {
+                button_class = sphinx_admonition_classes[css_class];
+                break;
+            }
+        }
+
+        // Add button
+        $(spoiler).append(
+            $('<button />')
+                .addClass('btn')
+                .addClass('btn-' + button_class)
+                .addClass('spoiler-show')
+                .append('Show')
+        );
+
+    }
+
+    // On-click un-hide the contents of the admonition and hide the button.
+    $('.spoiler-show').click(function() {
+        $(this).parent().children().show();
+        $(this).hide();
+    });
+});
diff --git a/nightly_8.3/linkcheck/output.json b/nightly_8.3/linkcheck/output.json
new file mode 100644
index 00000000000..5027637f489
--- /dev/null
+++ b/nightly_8.3/linkcheck/output.json
@@ -0,0 +1,578 @@
+{"filename": "reference/changes.rst", "lineno": 102, "status": "ignored", "code": 0, "uri": "https://github.com/cylc/cylc-rose/blob/1.1.0/CHANGES.md#user-content-cylc-rose-110-released-2022-07-28", "info": ""}
+{"filename": "reference/changes.rst", "lineno": 208, "status": "ignored", "code": 0, "uri": "https://github.com/cylc/cylc-flow/blob/8.0.0/CHANGES.md#user-content-major-changes-in-cylc-8", "info": ""}
+{"filename": "reference/changes.rst", "lineno": 209, "status": "ignored", "code": 0, "uri": "https://github.com/cylc/cylc-uiserver/blob/1.1.0/CHANGES.md#user-content-cylc-uiserver-110-released-2022-07-28", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1233, "status": "ignored", "code": 0, "uri": "https://linux.die.net/man/1/bash", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 218, "status": "ignored", "code": 0, "uri": "https://github.com/metomi/isodatetime#dates-and-times", "info": ""}
+{"filename": "7-to-8/major-changes/config-changes.rst", "lineno": 108, "status": "unchecked", "code": 0, "uri": "#adminguide-platformconfigs", "info": ""}
+{"filename": "7-to-8/summary.rst", "lineno": 229, "status": "unchecked", "code": 0, "uri": "#architecture-reference", "info": ""}
+{"filename": "reference/architecture/data-flow.rst", "lineno": 38, "status": "unchecked", "code": 0, "uri": "#authentication-files", "info": ""}
+{"filename": "plugins/job-runners/index.rst", "lineno": 3, "status": "unchecked", "code": 0, "uri": "#availablemethods", "info": ""}
+{"filename": "glossary.rst", "lineno": 551, "status": "unchecked", "code": 0, "uri": "#built-in-clock-triggers", "info": ""}
+{"filename": "glossary.rst", "lineno": 188, "status": "unchecked", "code": 0, "uri": "#built-in-workflow-state-triggers", "info": ""}
+{"filename": "7-to-8/major-changes/cli.rst", "lineno": 19, "status": "unchecked", "code": 0, "uri": "#cheat-sheet", "info": ""}
+{"filename": "7-to-8/major-changes/compatibility-mode.rst", "lineno": 94, "status": "unchecked", "code": 0, "uri": "#compat-continuing-c7-with-c8", "info": ""}
+{"filename": "7-to-8/summary.rst", "lineno": 27, "status": "unchecked", "code": 0, "uri": "#compat-required-changes", "info": ""}
+{"filename": "7-to-8/major-changes/cli.rst", "lineno": 120, "status": "unchecked", "code": 0, "uri": "#compoundcommands", "info": ""}
+{"filename": "installation.rst", "lineno": 160, "status": "unchecked", "code": 0, "uri": "#conda-environments", "info": ""}
+{"filename": "7-to-8/summary.rst", "lineno": 51, "status": "unchecked", "code": 0, "uri": "#config-item-shorthand", "info": ""}
+{"filename": "7-to-8/major-changes/cylc-install.rst", "lineno": 53, "status": "unchecked", "code": 0, "uri": "#configurable-source-dirs", "info": ""}
+{"filename": "7-to-8/major-changes/compatibility-mode.rst", "lineno": 230, "status": "unchecked", "code": 0, "uri": "#configuration-changes", "info": ""}
+{"filename": "7-to-8/major-changes/python-2-3.rst", "lineno": 56, "status": "unchecked", "code": 0, "uri": "#custom-trigger-functions", "info": ""}
+{"filename": "7-to-8/major-changes/python-2-3.rst", "lineno": 45, "status": "unchecked", "code": 0, "uri": "#customjinja2filters", "info": ""}
+{"filename": "7-to-8/major-changes/cylc-install.rst", "lineno": 104, "status": "unchecked", "code": 0, "uri": "#cylc-7-compat-mode", "info": ""}
+{"filename": "reference/changes.rst", "lineno": 142, "status": "unchecked", "code": 0, "uri": "#cylc-broadcast", "info": ""}
+{"filename": "7-to-8/major-changes/config-changes.rst", "lineno": 12, "status": "unchecked", "code": 0, "uri": "#cylc-lint-script", "info": ""}
+{"filename": "7-to-8/major-changes/cylc-install.rst", "lineno": 132, "status": "unchecked", "code": 0, "uri": "#cylc-rose", "info": ""}
+{"filename": "7-to-8/major-changes/ui.rst", "lineno": 49, "status": "unchecked", "code": 0, "uri": "#cylc-uiserver-multi-user", "info": ""}
+{"filename": "glossary.rst", "lineno": 1327, "status": "unchecked", "code": 0, "uri": "#familytriggers", "info": ""}
+{"filename": "7-to-8/major-changes/cylc-install.rst", "lineno": 81, "status": "unchecked", "code": 0, "uri": "#file-installation", "info": ""}
+{"filename": "7-to-8/major-changes/template-vars.rst", "lineno": 18, "status": "unchecked", "code": 0, "uri": "#flow.cylc", "info": ""}
+{"filename": "glossary.rst", "lineno": 673, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime]", "info": ""}
+{"filename": "glossary.rst", "lineno": 893, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][directives]", "info": ""}
+{"filename": "7-to-8/major-changes/platforms.rst", "lineno": 12, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][job]", "info": ""}
+{"filename": "7-to-8/major-changes/platforms.rst", "lineno": 13, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][remote]", "info": ""}
+{"filename": "7-to-8/major-changes/compatibility-mode.rst", "lineno": 107, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][remote]owner", "info": ""}
+{"filename": "glossary.rst", "lineno": 1271, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>]inherit", "info": ""}
+{"filename": "glossary.rst", "lineno": 697, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler]allow implicit tasks", "info": ""}
+{"filename": "7-to-8/summary.rst", "lineno": 251, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler]cycle point time zone", "info": ""}
+{"filename": "7-to-8/major-changes/cylc-install.rst", "lineno": 94, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler]install", "info": ""}
+{"filename": "glossary.rst", "lineno": 229, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduling][graph]", "info": ""}
+{"filename": "glossary.rst", "lineno": 202, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduling][queues]", "info": ""}
+{"filename": "glossary.rst", "lineno": 185, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduling][xtriggers]", "info": ""}
+{"filename": "glossary.rst", "lineno": 442, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduling]cycling mode", "info": ""}
+{"filename": "glossary.rst", "lineno": 393, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduling]final cycle point", "info": ""}
+{"filename": "glossary.rst", "lineno": 981, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduling]initial cycle point", "info": ""}
+{"filename": "glossary.rst", "lineno": 1683, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduling]runahead limit", "info": ""}
+{"filename": "7-to-8/major-changes/config-changes.rst", "lineno": 123, "status": "unchecked", "code": 0, "uri": "#global-configuration", "info": ""}
+{"filename": "7-to-8/major-changes/platforms.rst", "lineno": 30, "status": "unchecked", "code": 0, "uri": "#global.cylc", "info": ""}
+{"filename": "7-to-8/summary.rst", "lineno": 212, "status": "unchecked", "code": 0, "uri": "#global.cylc[install][symlink dirs]", "info": ""}
+{"filename": "7-to-8/major-changes/cylc-install.rst", "lineno": 165, "status": "unchecked", "code": 0, "uri": "#global.cylc[install]source dirs", "info": ""}
+{"filename": "glossary.rst", "lineno": 928, "status": "unchecked", "code": 0, "uri": "#global.cylc[platform groups]", "info": ""}
+{"filename": "7-to-8/major-changes/platforms.rst", "lineno": 74, "status": "unchecked", "code": 0, "uri": "#global.cylc[platforms]", "info": ""}
+{"filename": "reference/architecture/data-flow.rst", "lineno": 106, "status": "unchecked", "code": 0, "uri": "#global.cylc[platforms][<platform name>]communication method", "info": ""}
+{"filename": "glossary.rst", "lineno": 1055, "status": "unchecked", "code": 0, "uri": "#global.cylc[platforms][<platform name>]install target", "info": ""}
+{"filename": "glossary.rst", "lineno": 876, "status": "unchecked", "code": 0, "uri": "#global.cylc[platforms][<platform name>]job runner", "info": ""}
+{"filename": "plugins/main-loop/index.rst", "lineno": 46, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][main loop][<plugin name>]", "info": ""}
+{"filename": "plugins/main-loop/index.rst", "lineno": 15, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][main loop][<plugin name>]interval", "info": ""}
+{"filename": "plugins/main-loop/index.rst", "lineno": 37, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][main loop]plugins", "info": ""}
+{"filename": "plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.rst", "lineno": 16, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][run hosts]available", "info": ""}
+{"filename": "plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.rst", "lineno": 3, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][run hosts]condemned", "info": ""}
+{"filename": "plugins/main-loop/built-in/cylc.flow.main_loop.auto_restart.rst", "lineno": 14, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler]auto restart delay", "info": ""}
+{"filename": "7-to-8/major-changes/suicide-triggers.rst", "lineno": 110, "status": "unchecked", "code": 0, "uri": "#graph-branching", "info": ""}
+{"filename": "glossary.rst", "lineno": 698, "status": "unchecked", "code": 0, "uri": "#implicittasks", "info": ""}
+{"filename": "glossary.rst", "lineno": 1514, "status": "unchecked", "code": 0, "uri": "#incomplete-tasks", "info": ""}
+{"filename": "7-to-8/major-changes/platforms.rst", "lineno": 195, "status": "unchecked", "code": 0, "uri": "#install-targets", "info": ""}
+{"filename": "7-to-8/major-changes/cylc-install.rst", "lineno": 138, "status": "unchecked", "code": 0, "uri": "#installation", "info": ""}
+{"filename": "reference/changes.rst", "lineno": 198, "status": "unchecked", "code": 0, "uri": "#installation-shell-auto-completion", "info": ""}
+{"filename": "7-to-8/major-changes/cylc-install.rst", "lineno": 8, "status": "unchecked", "code": 0, "uri": "#installing-workflows", "info": ""}
+{"filename": "7-to-8/summary.rst", "lineno": 247, "status": "unchecked", "code": 0, "uri": "#internalqueues", "info": ""}
+{"filename": "7-to-8/major-changes/compatibility-mode.rst", "lineno": 204, "status": "unchecked", "code": 0, "uri": "#jinja", "info": ""}
+{"filename": "7-to-8/major-changes/python-2-3.rst", "lineno": 52, "status": "unchecked", "code": 0, "uri": "#jinja2-importing-python-modules", "info": ""}
+{"filename": "7-to-8/major-changes/template-vars.rst", "lineno": 78, "status": "unchecked", "code": 0, "uri": "#jinja2-template-variables", "info": ""}
+{"filename": "7-to-8/summary.rst", "lineno": 254, "status": "unchecked", "code": 0, "uri": "#jobscripts", "info": ""}
+{"filename": "7-to-8/major-changes/platforms.rst", "lineno": 40, "status": "unchecked", "code": 0, "uri": "#listingavailableplatforms", "info": ""}
+{"filename": "7-to-8/major-changes/compatibility-mode.rst", "lineno": 69, "status": "unchecked", "code": 0, "uri": "#majorchangescli", "info": ""}
+{"filename": "7-to-8/major-changes/compatibility-mode.rst", "lineno": 101, "status": "unchecked", "code": 0, "uri": "#majorchangesexcludingtasksatstartup", "info": ""}
+{"filename": "7-to-8/major-changes/continuing-c7-c8.rst", "lineno": 26, "status": "unchecked", "code": 0, "uri": "#majorchangesinstall", "info": ""}
+{"filename": "7-to-8/major-changes/config-changes.rst", "lineno": 107, "status": "unchecked", "code": 0, "uri": "#majorchangesplatforms", "info": ""}
+{"filename": "glossary.rst", "lineno": 1476, "status": "unchecked", "code": 0, "uri": "#messagetriggers", "info": ""}
+{"filename": "plugins/install/index.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#module-cylc.flow.install_plugins.log_vc_info", "info": ""}
+{"filename": "plugins/job-runners/index.rst", "lineno": 10, "status": "unchecked", "code": 0, "uri": "#module-cylc.flow.job_runner_handlers.background", "info": ""}
+{"filename": "plugins/main-loop/index.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#module-cylc.flow.main_loop.auto_restart", "info": ""}
+{"filename": "plugins/main-loop/index.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#module-cylc.flow.main_loop.health_check", "info": ""}
+{"filename": "plugins/main-loop/index.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#module-cylc.flow.main_loop.log_data_store", "info": ""}
+{"filename": "plugins/main-loop/index.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#module-cylc.flow.main_loop.log_main_loop", "info": ""}
+{"filename": "plugins/main-loop/index.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#module-cylc.flow.main_loop.log_memory", "info": ""}
+{"filename": "plugins/main-loop/index.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#module-cylc.flow.main_loop.reset_bad_hosts", "info": ""}
+{"filename": "7-to-8/major-changes/scheduling.rst", "lineno": 17, "status": "unchecked", "code": 0, "uri": "#n-window", "info": ""}
+{"filename": "7-to-8/major-changes/compatibility-mode.rst", "lineno": 234, "status": "unchecked", "code": 0, "uri": "#optional-outputs", "info": ""}
+{"filename": "7-to-8/summary.rst", "lineno": 84, "status": "unchecked", "code": 0, "uri": "#play-pause-stop", "info": ""}
+{"filename": "7-to-8/major-changes/compatibility-mode.rst", "lineno": 87, "status": "unchecked", "code": 0, "uri": "#py23", "info": ""}
+{"filename": "glossary.rst", "lineno": 1183, "status": "unchecked", "code": 0, "uri": "#reloading-the-workflow-configuration-at-runtime", "info": ""}
+{"filename": "7-to-8/major-changes/compatibility-mode.rst", "lineno": 98, "status": "unchecked", "code": 0, "uri": "#remote-install", "info": ""}
+{"filename": "7-to-8/major-changes/compatibility-mode.rst", "lineno": 107, "status": "unchecked", "code": 0, "uri": "#remote-owner", "info": ""}
+{"filename": "7-to-8/major-changes/cylc-install.rst", "lineno": 115, "status": "unchecked", "code": 0, "uri": "#remoteinit", "info": ""}
+{"filename": "7-to-8/major-changes/cylc-install.rst", "lineno": 78, "status": "unchecked", "code": 0, "uri": "#removing-workflows", "info": ""}
+{"filename": "glossary.rst", "lineno": 1500, "status": "unchecked", "code": 0, "uri": "#required-outputs", "info": ""}
+{"filename": "glossary.rst", "lineno": 1684, "status": "unchecked", "code": 0, "uri": "#runahead-limiting", "info": ""}
+{"filename": "7-to-8/major-changes/cylc-install.rst", "lineno": 75, "status": "unchecked", "code": 0, "uri": "#runningworkflows", "info": ""}
+{"filename": "7-to-8/major-changes/suicide-triggers.rst", "lineno": 6, "status": "unchecked", "code": 0, "uri": "#scheduling-algorithm", "info": ""}
+{"filename": "glossary.rst", "lineno": 187, "status": "unchecked", "code": 0, "uri": "#section-external-triggers", "info": ""}
+{"filename": "glossary.rst", "lineno": 407, "status": "unchecked", "code": 0, "uri": "#start-stop-cycle-point", "info": ""}
+{"filename": "installation.rst", "lineno": 262, "status": "unchecked", "code": 0, "uri": "#submitting-workflows-to-a-pool-of-hosts", "info": ""}
+{"filename": "glossary.rst", "lineno": 1561, "status": "unchecked", "code": 0, "uri": "#suicidetriggers", "info": ""}
+{"filename": "7-to-8/summary.rst", "lineno": 206, "status": "unchecked", "code": 0, "uri": "#symlinkdirs", "info": ""}
+{"filename": "installation.rst", "lineno": 85, "status": "unchecked", "code": 0, "uri": "#syntaxhighlighting", "info": ""}
+{"filename": "7-to-8/major-changes/task-job-states.rst", "lineno": 8, "status": "unchecked", "code": 0, "uri": "#task-job-states", "info": ""}
+{"filename": "glossary.rst", "lineno": 58, "status": "unchecked", "code": 0, "uri": "#taskretries", "info": ""}
+{"filename": "7-to-8/major-changes/compatibility-mode.rst", "lineno": 24, "status": "unchecked", "code": 0, "uri": "#term-cycle-point-time-zone", "info": ""}
+{"filename": "7-to-8/major-changes/cli.rst", "lineno": 35, "status": "unchecked", "code": 0, "uri": "#term-flow", "info": ""}
+{"filename": "7-to-8/major-changes/suicide-triggers.rst", "lineno": 6, "status": "unchecked", "code": 0, "uri": "#term-graph", "info": ""}
+{"filename": "7-to-8/major-changes/compatibility-mode.rst", "lineno": 28, "status": "unchecked", "code": 0, "uri": "#term-graph-branching", "info": ""}
+{"filename": "7-to-8/major-changes/compatibility-mode.rst", "lineno": 18, "status": "unchecked", "code": 0, "uri": "#term-implicit-task", "info": ""}
+{"filename": "7-to-8/summary.rst", "lineno": 123, "status": "unchecked", "code": 0, "uri": "#term-incomplete-task", "info": ""}
+{"filename": "7-to-8/major-changes/continuing-c7-c8.rst", "lineno": 41, "status": "unchecked", "code": 0, "uri": "#term-initial-cycle-point", "info": ""}
+{"filename": "7-to-8/major-changes/cylc-install.rst", "lineno": 90, "status": "unchecked", "code": 0, "uri": "#term-install-target", "info": ""}
+{"filename": "7-to-8/major-changes/task-job-states.rst", "lineno": 10, "status": "unchecked", "code": 0, "uri": "#term-job", "info": ""}
+{"filename": "7-to-8/major-changes/compatibility-mode.rst", "lineno": 201, "status": "unchecked", "code": 0, "uri": "#term-job-host", "info": ""}
+{"filename": "7-to-8/major-changes/platforms.rst", "lineno": 22, "status": "unchecked", "code": 0, "uri": "#term-job-runner", "info": ""}
+{"filename": "installation.rst", "lineno": 292, "status": "unchecked", "code": 0, "uri": "#term-job-script", "info": ""}
+{"filename": "7-to-8/major-changes/scheduling.rst", "lineno": 31, "status": "unchecked", "code": 0, "uri": "#term-optional-output", "info": ""}
+{"filename": "7-to-8/major-changes/platforms.rst", "lineno": 21, "status": "unchecked", "code": 0, "uri": "#term-platform", "info": ""}
+{"filename": "7-to-8/major-changes/scheduling.rst", "lineno": 31, "status": "unchecked", "code": 0, "uri": "#term-required-output", "info": ""}
+{"filename": "7-to-8/major-changes/play-pause-stop.rst", "lineno": 38, "status": "unchecked", "code": 0, "uri": "#term-restart", "info": ""}
+{"filename": "7-to-8/cheat-sheet.rst", "lineno": 154, "status": "unchecked", "code": 0, "uri": "#term-run-directory", "info": ""}
+{"filename": "7-to-8/caveats.rst", "lineno": 12, "status": "unchecked", "code": 0, "uri": "#term-scheduler", "info": ""}
+{"filename": "7-to-8/caveats.rst", "lineno": 38, "status": "unchecked", "code": 0, "uri": "#term-source-directory", "info": ""}
+{"filename": "7-to-8/summary.rst", "lineno": 123, "status": "unchecked", "code": 0, "uri": "#term-stall", "info": ""}
+{"filename": "7-to-8/major-changes/continuing-c7-c8.rst", "lineno": 41, "status": "unchecked", "code": 0, "uri": "#term-start-cycle-point", "info": ""}
+{"filename": "7-to-8/major-changes/compatibility-mode.rst", "lineno": 28, "status": "unchecked", "code": 0, "uri": "#term-suicide-trigger", "info": ""}
+{"filename": "7-to-8/major-changes/python-2-3.rst", "lineno": 12, "status": "unchecked", "code": 0, "uri": "#term-task", "info": ""}
+{"filename": "7-to-8/major-changes/suicide-triggers.rst", "lineno": 31, "status": "unchecked", "code": 0, "uri": "#term-task-output", "info": ""}
+{"filename": "7-to-8/major-changes/scheduling.rst", "lineno": 35, "status": "unchecked", "code": 0, "uri": "#term-workflow-completion", "info": ""}
+{"filename": "glossary.rst", "lineno": 552, "status": "unchecked", "code": 0, "uri": "#tutorial-cylc-clock-trigger", "info": ""}
+{"filename": "glossary.rst", "lineno": 1266, "status": "unchecked", "code": 0, "uri": "#tutorial-cylc-families", "info": ""}
+{"filename": "glossary.rst", "lineno": 1326, "status": "unchecked", "code": 0, "uri": "#tutorial-cylc-family-triggers", "info": ""}
+{"filename": "glossary.rst", "lineno": 1475, "status": "unchecked", "code": 0, "uri": "#tutorial-cylc-message-triggers", "info": ""}
+{"filename": "glossary.rst", "lineno": 1250, "status": "unchecked", "code": 0, "uri": "#tutorial-cylc-parameterization", "info": ""}
+{"filename": "glossary.rst", "lineno": 342, "status": "unchecked", "code": 0, "uri": "#tutorial-datetime-cycling", "info": ""}
+{"filename": "glossary.rst", "lineno": 1301, "status": "unchecked", "code": 0, "uri": "#tutorial-inheritance", "info": ""}
+{"filename": "glossary.rst", "lineno": 341, "status": "unchecked", "code": 0, "uri": "#tutorial-integer-cycling", "info": ""}
+{"filename": "glossary.rst", "lineno": 480, "status": "unchecked", "code": 0, "uri": "#tutorial-iso8601-datetimes", "info": ""}
+{"filename": "glossary.rst", "lineno": 492, "status": "unchecked", "code": 0, "uri": "#tutorial-iso8601-durations", "info": ""}
+{"filename": "glossary.rst", "lineno": 624, "status": "unchecked", "code": 0, "uri": "#tutorial-qualifiers", "info": ""}
+{"filename": "glossary.rst", "lineno": 1165, "status": "unchecked", "code": 0, "uri": "#tutorial-start-stop-restart", "info": ""}
+{"filename": "glossary.rst", "lineno": 669, "status": "unchecked", "code": 0, "uri": "#tutorial-tasks-and-jobs", "info": ""}
+{"filename": "7-to-8/summary.rst", "lineno": 60, "status": "unchecked", "code": 0, "uri": "#ui", "info": ""}
+{"filename": "7-to-8/major-changes/ui.rst", "lineno": 60, "status": "unchecked", "code": 0, "uri": "#ui-server-config", "info": ""}
+{"filename": "7-to-8/major-changes/template-vars.rst", "lineno": 18, "status": "unchecked", "code": 0, "uri": "#user-guide-empy", "info": ""}
+{"filename": "7-to-8/major-changes/compatibility-mode.rst", "lineno": 39, "status": "unchecked", "code": 0, "uri": "#user-guide-optional-outputs", "info": ""}
+{"filename": "glossary.rst", "lineno": 1249, "status": "unchecked", "code": 0, "uri": "#user-guide-param", "info": ""}
+{"filename": "7-to-8/major-changes/scheduling.rst", "lineno": 16, "status": "unchecked", "code": 0, "uri": "#user-guide-reflow", "info": ""}
+{"filename": "7-to-8/major-changes/compatibility-mode.rst", "lineno": 36, "status": "unchecked", "code": 0, "uri": "#user-guide-required-outputs", "info": ""}
+{"filename": "glossary.rst", "lineno": 1265, "status": "unchecked", "code": 0, "uri": "#user-guide-runtime", "info": ""}
+{"filename": "glossary.rst", "lineno": 1673, "status": "unchecked", "code": 0, "uri": "#user-guide-runtime-task-event-handling", "info": ""}
+{"filename": "installation.rst", "lineno": 263, "status": "unchecked", "code": 0, "uri": "#user-guide-runtime-task-event-handling-general-event-handlers", "info": ""}
+{"filename": "glossary.rst", "lineno": 1672, "status": "unchecked", "code": 0, "uri": "#user-guide-scheduler-workflow-event-handling", "info": ""}
+{"filename": "7-to-8/major-changes/play-pause-stop.rst", "lineno": 43, "status": "unchecked", "code": 0, "uri": "#using-cylc-install", "info": ""}
+{"filename": "7-to-8/major-changes/config-changes.rst", "lineno": 123, "status": "unchecked", "code": 0, "uri": "#workflow-configuration", "info": ""}
+{"filename": "7-to-8/summary.rst", "lineno": 83, "status": "unchecked", "code": 0, "uri": "#workflowstartup", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 170, "status": "unchecked", "code": 0, "uri": "#auto-stop-restart", "info": ""}
+{"filename": "user-guide/running-workflows/dynamic-behaviour.rst", "lineno": 19, "status": "unchecked", "code": 0, "uri": "#broadcast-tutorial", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 332, "status": "unchecked", "code": 0, "uri": "#builtinplugins", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1201, "status": "unchecked", "code": 0, "uri": "#clockexpiretasks", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1156, "status": "unchecked", "code": 0, "uri": "#clocktriggertasks", "info": ""}
+{"filename": "user-guide/task-implementation/job-submission.rst", "lineno": 40, "status": "unchecked", "code": 0, "uri": "#customjobsubmissionmethods", "info": ""}
+{"filename": "tutorial/runtime/configuration-consolidation/index.rst", "lineno": 116, "status": "unchecked", "code": 0, "uri": "#cylc-file-format", "info": ""}
+{"filename": "tutorial/runtime/configuration-consolidation/jinja2.rst", "lineno": 74, "status": "unchecked", "code": 0, "uri": "#cylc-tutorial-families-practical", "info": ""}
+{"filename": "tutorial/runtime/configuration-consolidation/parameters.rst", "lineno": 93, "status": "unchecked", "code": 0, "uri": "#cylc-tutorial-jinja2-practical", "info": ""}
+{"filename": "user-guide/introduction.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#cylc-what-is-a-workflow", "info": ""}
+{"filename": "user-guide/introduction.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#cylc-what-is-cylc", "info": ""}
+{"filename": "user-guide/sharing-access-to-workflows.rst", "lineno": 147, "status": "unchecked", "code": 0, "uri": "#cylc.uiserver.app.CylcUIServer.site_authorization", "info": ""}
+{"filename": "user-guide/sharing-access-to-workflows.rst", "lineno": 145, "status": "unchecked", "code": 0, "uri": "#cylc.uiserver.app.CylcUIServer.user_authorization", "info": ""}
+{"filename": "workflow-design-guide/general-principles.rst", "lineno": 6, "status": "unchecked", "code": 0, "uri": "#efficiency-and-maintainability", "info": ""}
+{"filename": "user-guide/writing-workflows/parameterized-tasks.rst", "lineno": 455, "status": "unchecked", "code": 0, "uri": "#efficientinterfamilytriggering", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 6, "status": "unchecked", "code": 0, "uri": "#file-format", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 115, "status": "unchecked", "code": 0, "uri": "#flow.cylc[meta]", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 195, "status": "unchecked", "code": 0, "uri": "#flow.cylc[meta]URL", "info": ""}
+{"filename": "user-guide/task-implementation/job-scripts.rst", "lineno": 23, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][environment]", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1833, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][events]", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1845, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][events]execution timeout", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1866, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][events]handler events", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1876, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][events]handler retry delays", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1856, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][events]handlers", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1887, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][events]mail events", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1897, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][events]submission timeout", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1085, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][job]batch submit command template", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1071, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][job]batch system", "info": ""}
+{"filename": "user-guide/writing-workflows/runtime.rst", "lineno": 746, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][mail]from", "info": ""}
+{"filename": "user-guide/writing-workflows/runtime.rst", "lineno": 745, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][mail]to", "info": ""}
+{"filename": "user-guide/writing-workflows/runtime.rst", "lineno": 163, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][meta]", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 196, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][meta]URL", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduling.rst", "lineno": 1081, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][outputs]", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1340, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][remote]retrieve job logs", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1381, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][remote]retrieve job logs max size", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1400, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][remote]retrieve job logs retry delays", "info": ""}
+{"filename": "user-guide/running-workflows/simulation-modes.rst", "lineno": 51, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][simulation]", "info": ""}
+{"filename": "user-guide/running-workflows/simulation-modes.rst", "lineno": 36, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][simulation]default run length", "info": ""}
+{"filename": "user-guide/running-workflows/simulation-modes.rst", "lineno": 39, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>][simulation]speedup factor", "info": ""}
+{"filename": "user-guide/task-implementation/job-scripts.rst", "lineno": 27, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>]env-script", "info": ""}
+{"filename": "user-guide/task-implementation/job-scripts.rst", "lineno": 27, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>]err-script", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1150, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>]execution polling intervals", "info": ""}
+{"filename": "user-guide/writing-workflows/runtime.rst", "lineno": 519, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>]execution retry delays", "info": ""}
+{"filename": "user-guide/running-workflows/simulation-modes.rst", "lineno": 39, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>]execution time limit", "info": ""}
+{"filename": "user-guide/task-implementation/job-scripts.rst", "lineno": 27, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>]exit-script", "info": ""}
+{"filename": "user-guide/task-implementation/job-scripts.rst", "lineno": 27, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>]init-script", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1794, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>]platform", "info": ""}
+{"filename": "user-guide/task-implementation/job-scripts.rst", "lineno": 27, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>]post-script", "info": ""}
+{"filename": "user-guide/task-implementation/job-scripts.rst", "lineno": 27, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>]pre-script", "info": ""}
+{"filename": "user-guide/task-implementation/job-scripts.rst", "lineno": 23, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>]script", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1129, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>]submission polling intervals", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1139, "status": "unchecked", "code": 0, "uri": "#flow.cylc[runtime][<namespace>]submission retry delays", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 98, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler]", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 109, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler]UTC mode", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 393, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 455, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]abort handlers", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 564, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]abort on inactivity timeout", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 531, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]abort on stall timeout", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 488, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]abort on workflow timeout", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 414, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]handler events", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 403, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]handlers", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 542, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]inactivity timeout", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 553, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]inactivity timeout handlers", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 424, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]mail events", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 576, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]restart timeout", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 445, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]shutdown handlers", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 499, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]stall handlers", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 510, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]stall timeout", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 520, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]stall timeout handlers", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 435, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]startup handlers", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 466, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]workflow timeout", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 477, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][events]workflow timeout handlers", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 586, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][mail]", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 630, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][mail]footer", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 596, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][mail]from", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 642, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][mail]task event batch interval", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 620, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][mail]to", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 651, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][main loop]", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 687, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][main loop][<plugin name>]", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 698, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduler][main loop][<plugin name>]interval", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 124, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduling]", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduling.rst", "lineno": 1503, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduling][special tasks]clock-expire", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduling.rst", "lineno": 1503, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduling][special tasks]clock-trigger", "info": ""}
+{"filename": "user-guide/running-workflows/scheduler-start-up.rst", "lineno": 96, "status": "unchecked", "code": 0, "uri": "#flow.cylc[scheduling]stop after cycle point", "info": ""}
+{"filename": "user-guide/writing-workflows/parameterized-tasks.rst", "lineno": 104, "status": "unchecked", "code": 0, "uri": "#flow.cylc[task parameters][templates]", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 5, "status": "unchecked", "code": 0, "uri": "#flowconfigfile", "info": ""}
+{"filename": "user-guide/writing-workflows/runtime.rst", "lineno": 395, "status": "unchecked", "code": 0, "uri": "#global.cylc[platform groups][<group>]", "info": ""}
+{"filename": "user-guide/writing-workflows/runtime.rst", "lineno": 402, "status": "unchecked", "code": 0, "uri": "#global.cylc[platform groups][<group>][selection]method", "info": ""}
+{"filename": "reference/config/writing-platform-configs.rst", "lineno": 142, "status": "unchecked", "code": 0, "uri": "#global.cylc[platforms][<platform name>]", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 2678, "status": "unchecked", "code": 0, "uri": "#global.cylc[platforms][<platform name>][directives]", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1703, "status": "unchecked", "code": 0, "uri": "#global.cylc[platforms][<platform name>]execution polling intervals", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1760, "status": "unchecked", "code": 0, "uri": "#global.cylc[platforms][<platform name>]execution time limit polling intervals", "info": ""}
+{"filename": "reference/config/writing-platform-configs.rst", "lineno": 345, "status": "unchecked", "code": 0, "uri": "#global.cylc[platforms][<platform name>]global init-script", "info": ""}
+{"filename": "user-guide/task-implementation/job-submission.rst", "lineno": 50, "status": "unchecked", "code": 0, "uri": "#global.cylc[platforms][<platform name>]job name length maximum", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 2082, "status": "unchecked", "code": 0, "uri": "#global.cylc[platforms][<platform name>]job runner command template", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduler.rst", "lineno": 258, "status": "unchecked", "code": 0, "uri": "#global.cylc[platforms][<platform name>]ssh command", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1777, "status": "unchecked", "code": 0, "uri": "#global.cylc[platforms][<platform name>]submission polling intervals", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1806, "status": "unchecked", "code": 0, "uri": "#global.cylc[platforms][<platform name>]submission retry delays", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduler.rst", "lineno": 250, "status": "unchecked", "code": 0, "uri": "#global.cylc[platforms][localhost]", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 98, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler]", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 116, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler]UTC mode", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 370, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 485, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]abort handlers", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 704, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]abort on inactivity timeout", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 645, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]abort on stall timeout", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 558, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]abort on workflow timeout", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 402, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]handler events", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 380, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]handlers", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 659, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]inactivity timeout", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 672, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]inactivity timeout handlers", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 413, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]mail events", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 718, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]restart timeout", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 453, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]shutdown handlers", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 569, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]stall handlers", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 600, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]stall timeout", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 613, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]stall timeout handlers", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 422, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]startup handlers", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 517, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]workflow timeout", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 528, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][events]workflow timeout handlers", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 736, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][mail]", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 750, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][mail]footer", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 783, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][mail]from", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 796, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][mail]task event batch interval", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 770, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][mail]to", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 330, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][main loop]", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduler.rst", "lineno": 234, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][main loop][auto restart]", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduler.rst", "lineno": 155, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][run hosts]", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduler.rst", "lineno": 186, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler][run hosts]ranking", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduler.rst", "lineno": 136, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler]process pool size", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduler.rst", "lineno": 144, "status": "unchecked", "code": 0, "uri": "#global.cylc[scheduler]process pool timeout", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 2197, "status": "unchecked", "code": 0, "uri": "#global.cylc[task events]", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 2222, "status": "unchecked", "code": 0, "uri": "#global.cylc[task events]execution timeout", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 2256, "status": "unchecked", "code": 0, "uri": "#global.cylc[task events]handler events", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 2276, "status": "unchecked", "code": 0, "uri": "#global.cylc[task events]handler retry delays", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 2231, "status": "unchecked", "code": 0, "uri": "#global.cylc[task events]handlers", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 2292, "status": "unchecked", "code": 0, "uri": "#global.cylc[task events]mail events", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 2307, "status": "unchecked", "code": 0, "uri": "#global.cylc[task events]submission timeout", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1319, "status": "unchecked", "code": 0, "uri": "#graphtypes", "info": ""}
+{"filename": "user-guide/writing-workflows/empy.rst", "lineno": 56, "status": "unchecked", "code": 0, "uri": "#jinja2-workflow-context", "info": ""}
+{"filename": "user-guide/writing-workflows/empy.rst", "lineno": 56, "status": "unchecked", "code": 0, "uri": "#jinja2-workflow-files", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1282, "status": "unchecked", "code": 0, "uri": "#managing-environments", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 126, "status": "unchecked", "code": 0, "uri": "#managing-external-command-execution", "info": ""}
+{"filename": "user-guide/task-implementation/job-submission.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#module-cylc.flow.job_runner_handlers.at", "info": ""}
+{"filename": "user-guide/task-implementation/job-submission.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#module-cylc.flow.job_runner_handlers.loadleveler", "info": ""}
+{"filename": "user-guide/task-implementation/job-submission.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#module-cylc.flow.job_runner_handlers.lsf", "info": ""}
+{"filename": "user-guide/task-implementation/job-submission.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#module-cylc.flow.job_runner_handlers.moab", "info": ""}
+{"filename": "user-guide/task-implementation/job-submission.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#module-cylc.flow.job_runner_handlers.pbs", "info": ""}
+{"filename": "user-guide/task-implementation/job-submission.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#module-cylc.flow.job_runner_handlers.sge", "info": ""}
+{"filename": "user-guide/task-implementation/job-submission.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#module-cylc.flow.job_runner_handlers.slurm", "info": ""}
+{"filename": "user-guide/task-implementation/job-submission.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#module-cylc.flow.job_runner_handlers.slurm_packjob", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1411, "status": "unchecked", "code": 0, "uri": "#namespace-names", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1175, "status": "unchecked", "code": 0, "uri": "#old-style-external-triggers", "info": ""}
+{"filename": "workflow-design-guide/style-guide.rst", "lineno": 309, "status": "unchecked", "code": 0, "uri": "#optional-app-config-files", "info": ""}
+{"filename": "tutorial/furthertopics/family-triggers.rst", "lineno": 145, "status": "unchecked", "code": 0, "uri": "#optional-outputs-family-triggers", "info": ""}
+{"filename": "reference/changes.rst", "lineno": 214, "status": "unchecked", "code": 0, "uri": "#overview", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 225, "status": "unchecked", "code": 0, "uri": "#parsec-type-absolute_host_list", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 106, "status": "unchecked", "code": 0, "uri": "#parsec-type-boolean", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 892, "status": "unchecked", "code": 0, "uri": "#parsec-type-cycle_point", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 198, "status": "unchecked", "code": 0, "uri": "#parsec-type-cycle_point_format", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 268, "status": "unchecked", "code": 0, "uri": "#parsec-type-cycle_point_time_zone", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1937, "status": "unchecked", "code": 0, "uri": "#parsec-type-float", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 118, "status": "unchecked", "code": 0, "uri": "#parsec-type-integer", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 208, "status": "unchecked", "code": 0, "uri": "#parsec-type-integer_range", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 401, "status": "unchecked", "code": 0, "uri": "#parsec-type-list", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 820, "status": "unchecked", "code": 0, "uri": "#parsec-type-parameter_list", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 193, "status": "unchecked", "code": 0, "uri": "#parsec-type-spaceless_list", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 87, "status": "unchecked", "code": 0, "uri": "#parsec-type-string", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 135, "status": "unchecked", "code": 0, "uri": "#parsec-type-time_interval", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 1126, "status": "unchecked", "code": 0, "uri": "#parsec-type-time_interval_list", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1238, "status": "unchecked", "code": 0, "uri": "#parsec-type-xtrigger_function_signature", "info": ""}
+{"filename": "reference/config/writing-platform-configs.rst", "lineno": 92, "status": "unchecked", "code": 0, "uri": "#platformconfig", "info": ""}
+{"filename": "user-guide/task-implementation/job-submission.rst", "lineno": 226, "status": "unchecked", "code": 0, "uri": "#polling-to-track-job-status", "info": ""}
+{"filename": "workflow-design-guide/general-principles.rst", "lineno": 6, "status": "unchecked", "code": 0, "uri": "#portable-workflows-label", "info": ""}
+{"filename": "user-guide/running-workflows/scheduler-start-up.rst", "lineno": 134, "status": "unchecked", "code": 0, "uri": "#reinstalling-a-workflow", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1046, "status": "unchecked", "code": 0, "uri": "#runaheadlimit", "info": ""}
+{"filename": "tutorial/furthertopics/message-triggers.rst", "lineno": 56, "status": "unchecked", "code": 0, "uri": "#scheduler-logs-cylc-message", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1226, "status": "unchecked", "code": 0, "uri": "#sequentialtasks", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 907, "status": "unchecked", "code": 0, "uri": "#setting-the-icp-relative-to-now", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1918, "status": "unchecked", "code": 0, "uri": "#simulationmode", "info": ""}
+{"filename": "user-guide/installing-workflows.rst", "lineno": 168, "status": "unchecked", "code": 0, "uri": "#symlinkdirssetup", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 5, "status": "unchecked", "code": 0, "uri": "#syntax", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1458, "status": "unchecked", "code": 0, "uri": "#task-job-script-variables", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 2590, "status": "unchecked", "code": 0, "uri": "#taskexecutionenvironment", "info": ""}
+{"filename": "user-guide/task-implementation/job-submission.rst", "lineno": 11, "status": "unchecked", "code": 0, "uri": "#taskimplementation", "info": ""}
+{"filename": "user-guide/task-implementation/job-scripts.rst", "lineno": 17, "status": "unchecked", "code": 0, "uri": "#taskjobsubmission", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 214, "status": "unchecked", "code": 0, "uri": "#term-ISO-8601", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduling.rst", "lineno": 297, "status": "unchecked", "code": 0, "uri": "#term-ISO-8601-datetime", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 277, "status": "unchecked", "code": 0, "uri": "#term-ISO8601", "info": ""}
+{"filename": "user-guide/writing-workflows/jinja2.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#term-ISO8601-datetime", "info": ""}
+{"filename": "reference/config/types.rst", "lineno": 34, "status": "unchecked", "code": 0, "uri": "#term-ISO8601-duration", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1029, "status": "unchecked", "code": 0, "uri": "#term-active", "info": ""}
+{"filename": "user-guide/running-workflows/reflow.rst", "lineno": 129, "status": "unchecked", "code": 0, "uri": "#term-active-task", "info": ""}
+{"filename": "user-guide/running-workflows/reflow.rst", "lineno": 144, "status": "unchecked", "code": 0, "uri": "#term-active-task-pool", "info": ""}
+{"filename": "user-guide/running-workflows/reflow.rst", "lineno": 125, "status": "unchecked", "code": 0, "uri": "#term-active-waiting", "info": ""}
+{"filename": "user-guide/running-workflows/reflow.rst", "lineno": 130, "status": "unchecked", "code": 0, "uri": "#term-active-waiting-task", "info": ""}
+{"filename": "user-guide/running-workflows/reflow.rst", "lineno": 29, "status": "unchecked", "code": 0, "uri": "#term-active-window", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduling.rst", "lineno": 1852, "status": "unchecked", "code": 0, "uri": "#term-artificial-dependency", "info": ""}
+{"filename": "user-guide/writing-workflows/suicide-triggers.rst", "lineno": 12, "status": "unchecked", "code": 0, "uri": "#term-branching", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduling.rst", "lineno": 8, "status": "unchecked", "code": 0, "uri": "#term-clock-trigger", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduling.rst", "lineno": 27, "status": "unchecked", "code": 0, "uri": "#term-conditional-dependency", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduling.rst", "lineno": 1112, "status": "unchecked", "code": 0, "uri": "#term-conditional-trigger", "info": ""}
+{"filename": "user-guide/running-workflows/scheduler-start-up.rst", "lineno": 282, "status": "unchecked", "code": 0, "uri": "#term-contact-file", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 2719, "status": "unchecked", "code": 0, "uri": "#term-custom-output", "info": ""}
+{"filename": "tutorial/scheduling/integer-cycling.rst", "lineno": 18, "status": "unchecked", "code": 0, "uri": "#term-cycle", "info": ""}
+{"filename": "reference/config/types.rst", "lineno": 33, "status": "unchecked", "code": 0, "uri": "#term-cycle-point", "info": ""}
+{"filename": "tutorial/scheduling/integer-cycling.rst", "lineno": 4, "status": "unchecked", "code": 0, "uri": "#term-cycling", "info": ""}
+{"filename": "user-guide/running-workflows/reflow.rst", "lineno": 217, "status": "unchecked", "code": 0, "uri": "#term-cycling-workflow", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 811, "status": "unchecked", "code": 0, "uri": "#term-cylc-run-directory", "info": ""}
+{"filename": "tutorial/scheduling/graphing.rst", "lineno": 16, "status": "unchecked", "code": 0, "uri": "#term-cylc-workflow", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 200, "status": "unchecked", "code": 0, "uri": "#term-datetime-cycling", "info": ""}
+{"filename": "tutorial/furthertopics/clock-triggered-tasks.rst", "lineno": 180, "status": "unchecked", "code": 0, "uri": "#term-dependency", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1756, "status": "unchecked", "code": 0, "uri": "#term-directive", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 406, "status": "unchecked", "code": 0, "uri": "#term-event-handlers", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduling.rst", "lineno": 449, "status": "unchecked", "code": 0, "uri": "#term-exact-datetime-unit", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduling.rst", "lineno": 8, "status": "unchecked", "code": 0, "uri": "#term-external-trigger", "info": ""}
+{"filename": "tutorial/furthertopics/family-triggers.rst", "lineno": 6, "status": "unchecked", "code": 0, "uri": "#term-family", "info": ""}
+{"filename": "tutorial/runtime/configuration-consolidation/families.rst", "lineno": 47, "status": "unchecked", "code": 0, "uri": "#term-family-inheritance", "info": ""}
+{"filename": "tutorial/furthertopics/family-triggers.rst", "lineno": 46, "status": "unchecked", "code": 0, "uri": "#term-family-trigger", "info": ""}
+{"filename": "tutorial/runtime/runtime-configuration.rst", "lineno": 283, "status": "unchecked", "code": 0, "uri": "#term-final-cycle-point", "info": ""}
+{"filename": "user-guide/running-workflows/reflow.rst", "lineno": 57, "status": "unchecked", "code": 0, "uri": "#term-flow-front", "info": ""}
+{"filename": "user-guide/running-workflows/reflow.rst", "lineno": 206, "status": "unchecked", "code": 0, "uri": "#term-flow-merge", "info": ""}
+{"filename": "user-guide/running-workflows/reflow.rst", "lineno": 206, "status": "unchecked", "code": 0, "uri": "#term-flow-number", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduling.rst", "lineno": 94, "status": "unchecked", "code": 0, "uri": "#term-future-trigger", "info": ""}
+{"filename": "reference/config/file-format.rst", "lineno": 110, "status": "unchecked", "code": 0, "uri": "#term-graph-string", "info": ""}
+{"filename": "user-guide/running-workflows/task-job-states.rst", "lineno": 82, "status": "unchecked", "code": 0, "uri": "#term-held-task", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1029, "status": "unchecked", "code": 0, "uri": "#term-incomplete", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduling.rst", "lineno": 449, "status": "unchecked", "code": 0, "uri": "#term-inexact-datetime-unit", "info": ""}
+{"filename": "tutorial/runtime/introduction.rst", "lineno": 321, "status": "unchecked", "code": 0, "uri": "#term-install", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1014, "status": "unchecked", "code": 0, "uri": "#term-integer-cycling", "info": ""}
+{"filename": "tutorial/scheduling/integer-cycling.rst", "lineno": 221, "status": "unchecked", "code": 0, "uri": "#term-intercycle-dependency", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduling.rst", "lineno": 1435, "status": "unchecked", "code": 0, "uri": "#term-intercycle-trigger", "info": ""}
+{"filename": "user-guide/running-workflows/task-job-states.rst", "lineno": 91, "status": "unchecked", "code": 0, "uri": "#term-internal-queue", "info": ""}
+{"filename": "tutorial/runtime/introduction.rst", "lineno": 402, "status": "unchecked", "code": 0, "uri": "#term-job-log", "info": ""}
+{"filename": "tutorial/runtime/introduction.rst", "lineno": 529, "status": "unchecked", "code": 0, "uri": "#term-job-log-directory", "info": ""}
+{"filename": "user-guide/running-workflows/task-job-states.rst", "lineno": 10, "status": "unchecked", "code": 0, "uri": "#term-job-platform", "info": ""}
+{"filename": "tutorial/runtime/introduction.rst", "lineno": 424, "status": "unchecked", "code": 0, "uri": "#term-job-submission-number", "info": ""}
+{"filename": "tutorial/furthertopics/message-triggers.rst", "lineno": 6, "status": "unchecked", "code": 0, "uri": "#term-message-trigger", "info": ""}
+{"filename": "tutorial/runtime/configuration-consolidation/index.rst", "lineno": 101, "status": "unchecked", "code": 0, "uri": "#term-parameterization", "info": ""}
+{"filename": "user-guide/writing-workflows/runtime.rst", "lineno": 402, "status": "unchecked", "code": 0, "uri": "#term-platform-group", "info": ""}
+{"filename": "tutorial/furthertopics/family-triggers.rst", "lineno": 17, "status": "unchecked", "code": 0, "uri": "#term-qualifier", "info": ""}
+{"filename": "tutorial/scheduling/integer-cycling.rst", "lineno": 35, "status": "unchecked", "code": 0, "uri": "#term-recurrence", "info": ""}
+{"filename": "user-guide/running-workflows/retrying-tasks.rst", "lineno": 6, "status": "unchecked", "code": 0, "uri": "#term-retry", "info": ""}
+{"filename": "tutorial/scheduling/integer-cycling.rst", "lineno": 224, "status": "unchecked", "code": 0, "uri": "#term-runahead-limit", "info": ""}
+{"filename": "tutorial/runtime/introduction.rst", "lineno": 406, "status": "unchecked", "code": 0, "uri": "#term-scheduler-log", "info": ""}
+{"filename": "user-guide/installing-workflows.rst", "lineno": 312, "status": "unchecked", "code": 0, "uri": "#term-service-directory", "info": ""}
+{"filename": "tutorial/runtime/introduction.rst", "lineno": 417, "status": "unchecked", "code": 0, "uri": "#term-share-directory", "info": ""}
+{"filename": "user-guide/installing-workflows.rst", "lineno": 273, "status": "unchecked", "code": 0, "uri": "#term-start", "info": ""}
+{"filename": "user-guide/running-workflows/scheduler-start-up.rst", "lineno": 83, "status": "unchecked", "code": 0, "uri": "#term-stop-cycle-point", "info": ""}
+{"filename": "user-guide/running-workflows/reflow.rst", "lineno": 201, "status": "unchecked", "code": 0, "uri": "#term-submit-number", "info": ""}
+{"filename": "tutorial/furthertopics/family-triggers.rst", "lineno": 17, "status": "unchecked", "code": 0, "uri": "#term-task-state", "info": ""}
+{"filename": "tutorial/furthertopics/family-triggers.rst", "lineno": 10, "status": "unchecked", "code": 0, "uri": "#term-task-trigger", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduling.rst", "lineno": 64, "status": "unchecked", "code": 0, "uri": "#term-trigger", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1753, "status": "unchecked", "code": 0, "uri": "#term-wallclock-time", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduling.rst", "lineno": 600, "status": "unchecked", "code": 0, "uri": "#term-warm-start", "info": ""}
+{"filename": "user-guide/running-workflows/reflow.rst", "lineno": 139, "status": "unchecked", "code": 0, "uri": "#term-window", "info": ""}
+{"filename": "tutorial/furthertopics/message-triggers.rst", "lineno": 357, "status": "unchecked", "code": 0, "uri": "#term-work-directory", "info": ""}
+{"filename": "tutorial/scheduling/integer-cycling.rst", "lineno": 334, "status": "unchecked", "code": 0, "uri": "#term-workflow", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 814, "status": "unchecked", "code": 0, "uri": "#term-workflow-id", "info": ""}
+{"filename": "user-guide/running-workflows/scheduler-log-files.rst", "lineno": 6, "status": "unchecked", "code": 0, "uri": "#term-workflow-log-directory", "info": ""}
+{"filename": "workflow-design-guide/general-principles.rst", "lineno": 430, "status": "unchecked", "code": 0, "uri": "#the-task-family-hierarchy", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1322, "status": "unchecked", "code": 0, "uri": "#triggertypes", "info": ""}
+{"filename": "tutorial/scheduling/datetime-cycling.rst", "lineno": 27, "status": "unchecked", "code": 0, "uri": "#tutorial-clock-triggers", "info": ""}
+{"filename": "tutorial/runtime/introduction.rst", "lineno": 409, "status": "unchecked", "code": 0, "uri": "#tutorial-cylc-consolidating-configuration", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduling.rst", "lineno": 1, "status": "unchecked", "code": 0, "uri": "#tutorial-cylc-graphing", "info": ""}
+{"filename": "tutorial/runtime/configuration-consolidation/index.rst", "lineno": 148, "status": "unchecked", "code": 0, "uri": "#tutorial-cylc-jinja2", "info": ""}
+{"filename": "tutorial/runtime/configuration-consolidation/families.rst", "lineno": 157, "status": "unchecked", "code": 0, "uri": "#tutorial-cylc-runtime-forecasting-workflow", "info": ""}
+{"filename": "tutorial/runtime/introduction.rst", "lineno": 392, "status": "unchecked", "code": 0, "uri": "#tutorial-datetime-cycling-practical", "info": ""}
+{"filename": "tutorial/furthertopics/message-triggers.rst", "lineno": 343, "status": "unchecked", "code": 0, "uri": "#tutorial-gui", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 950, "status": "unchecked", "code": 0, "uri": "#tutorial-inferred-recurrence", "info": ""}
+{"filename": "tutorial/runtime/introduction.rst", "lineno": 152, "status": "unchecked", "code": 0, "uri": "#tutorial-job-runner", "info": ""}
+{"filename": "tutorial/furthertopics/broadcast.rst", "lineno": 6, "status": "unchecked", "code": 0, "uri": "#tutorial-runtime", "info": ""}
+{"filename": "tutorial/runtime/introduction.rst", "lineno": 392, "status": "unchecked", "code": 0, "uri": "#tutorial-scheduling", "info": ""}
+{"filename": "tutorial/furthertopics/message-triggers.rst", "lineno": 343, "status": "unchecked", "code": 0, "uri": "#tutorial-tui", "info": ""}
+{"filename": "user-guide/writing-workflows/empy.rst", "lineno": 6, "status": "unchecked", "code": 0, "uri": "#user-guide-jinja2", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 2206, "status": "unchecked", "code": 0, "uri": "#user-guide-runtime-event-handlers-task-event-handling-template-variables", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 1260, "status": "unchecked", "code": 0, "uri": "#user-guide-scheduling", "info": ""}
+{"filename": "user-guide/writing-workflows/runtime.rst", "lineno": 456, "status": "unchecked", "code": 0, "uri": "#whitherstdoutandstderr", "info": ""}
+{"filename": "user-guide/writing-workflows/scheduling.rst", "lineno": 1548, "status": "unchecked", "code": 0, "uri": "#workflow-completion", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 391, "status": "unchecked", "code": 0, "uri": "#workflow-event-template-variables", "info": ""}
+{"filename": "user-guide/running-workflows/scheduler-log-files.rst", "lineno": 31, "status": "unchecked", "code": 0, "uri": "#workflow-run-databases", "info": ""}
+{"filename": "user-guide/installing-workflows.rst", "lineno": 403, "status": "unchecked", "code": 0, "uri": "#workflow-share-directories", "info": ""}
+{"filename": "user-guide/writing-workflows/runtime.rst", "lineno": 336, "status": "unchecked", "code": 0, "uri": "#workflowdefinitiondirectories", "info": ""}
+{"filename": "reference/config/workflow.rst", "lineno": 2496, "status": "unchecked", "code": 0, "uri": "#workflowstatepolling", "info": ""}
+{"filename": "installation.rst", "lineno": 20, "status": "working", "code": 0, "uri": "https://conda.github.io/conda-libmamba-solver/getting-started/", "info": ""}
+{"filename": "reference/architecture/data-flow.rst", "lineno": 32, "status": "working", "code": 0, "uri": "http://curvezmq.org/page:read-the-docs", "info": ""}
+{"filename": "index.rst", "lineno": 2, "status": "working", "code": 0, "uri": "https://cylc.discourse.group", "info": ""}
+{"filename": "7-to-8/major-changes/cli.rst", "lineno": 188, "status": "working", "code": 0, "uri": "https://cylc.discourse.group/t/cylc-8-id-changes/425", "info": ""}
+{"filename": "glossary.rst", "lineno": 468, "status": "redirected", "code": 302, "uri": "http://www.cl.cam.ac.uk/%7Emgk25/iso-time.html", "info": "https://www.cl.cam.ac.uk/~mgk25/iso-time.html"}
+{"filename": "tutorial/furthertopics/clock-triggered-tasks.rst", "lineno": 186, "status": "working", "code": 0, "uri": "https://cylc.github.io/cylc-doc/latest/html/index.html", "info": ""}
+{"filename": "7-to-8/index.rst", "lineno": 8, "status": "working", "code": 0, "uri": "https://cylc.discourse.group/", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 50, "status": "working", "code": 0, "uri": "https://cylc.github.io/cylc-doc/stable/html/7-to-8/major-changes/platforms.html", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 123, "status": "working", "code": 0, "uri": "https://cylc.github.io/cylc-doc/stable/html/7-to-8/major-changes/suicide-triggers.html", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 200, "status": "working", "code": 0, "uri": "https://cylc.github.io/cylc-doc/stable/html/plugins/cylc-rose.html#special-variables", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 179, "status": "working", "code": 0, "uri": "https://cylc.github.io/cylc-doc/stable/html/7-to-8/cheat-sheet.html#datetime-operations", "info": ""}
+{"filename": "7-to-8/index.rst", "lineno": 8, "status": "working", "code": 0, "uri": "https://cylc.discourse.group/c/cylc/7-to-8/13", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 128, "status": "working", "code": 0, "uri": "https://cylc.github.io/cylc-doc/stable/html/7-to-8/major-changes/python-2-3.html#jinja2-integers-with-leading-zeros", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 133, "status": "working", "code": 0, "uri": "https://cylc.github.io/cylc-doc/stable/html/reference/job-script-vars/index.html", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 10, "status": "working", "code": 0, "uri": "https://cylc.github.io/cylc-doc/stable/html/workflow-design-guide/style-guide.html#tab-characters", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 188, "status": "working", "code": 0, "uri": "https://cylc.github.io/cylc-doc/stable/html/user-guide/writing-workflows/runtime.html#task-event-template-variables", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 15, "status": "working", "code": 0, "uri": "https://cylc.github.io/cylc-doc/stable/html/workflow-design-guide/style-guide.html#indentation", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 65, "status": "working", "code": 0, "uri": "https://cylc.github.io/cylc-doc/stable/html/workflow-design-guide/style-guide.html#line-length-and-continuation", "info": ""}
+{"filename": "installation.rst", "lineno": 106, "status": "working", "code": 0, "uri": "https://anaconda.org/conda-forge/configurable-http-proxy", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 40, "status": "working", "code": 0, "uri": "https://cylc.github.io/cylc-doc/stable/html/workflow-design-guide/style-guide.html#task-naming-conventions", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 35, "status": "working", "code": 0, "uri": "https://cylc.github.io/cylc-doc/stable/html/workflow-design-guide/style-guide.html#trailing-whitespace", "info": ""}
+{"filename": "plugins/main-loop/index.rst", "lineno": 115, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/asyncio-task.html#coroutines", "info": ""}
+{"filename": "reference/api/scan.rst", "lineno": 1, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/constants.html#None", "info": ""}
+{"filename": "reference/api/zmq.rst", "lineno": 1, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/exceptions.html#BaseException", "info": ""}
+{"filename": "plugins/job-runners/index.rst", "lineno": 1, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/functions.html#bool", "info": ""}
+{"filename": "reference/api/zmq.rst", "lineno": 1, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/functions.html#float", "info": ""}
+{"filename": "plugins/job-runners/index.rst", "lineno": 1, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/functions.html#int", "info": ""}
+{"filename": "user-guide/writing-workflows/external-triggers.rst", "lineno": 234, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/importlib.metadata.html#requirements", "info": ""}
+{"filename": "reference/api/zmq.rst", "lineno": 1, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/functions.html#object", "info": ""}
+{"filename": "user-guide/running-workflows/scheduler-log-files.rst", "lineno": 57, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/logging.html#logging-levels", "info": ""}
+{"filename": "reference/api/scan.rst", "lineno": 1, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/pathlib.html#pathlib.Path", "info": ""}
+{"filename": "user-guide/writing-workflows/jinja2.rst", "lineno": 598, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/pdb.html", "info": ""}
+{"filename": "plugins/job-runners/index.rst", "lineno": 1, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/re.html#re.Pattern", "info": ""}
+{"filename": "plugins/job-runners/index.rst", "lineno": 1, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/stdtypes.html#str", "info": ""}
+{"filename": "reference/api/zmq.rst", "lineno": 1, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/stdtypes.html#bytes", "info": ""}
+{"filename": "workflow-design-guide/style-guide.rst", "lineno": 107, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/textwrap.html#textwrap.dedent", "info": ""}
+{"filename": "plugins/job-runners/index.rst", "lineno": 7, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting", "info": ""}
+{"filename": "reference/api/zmq.rst", "lineno": 1, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/typing.html#typing.Any", "info": ""}
+{"filename": "plugins/job-runners/index.rst", "lineno": 1, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/stdtypes.html#dict", "info": ""}
+{"filename": "reference/api/scan.rst", "lineno": 1, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/typing.html#typing.AsyncGenerator", "info": ""}
+{"filename": "reference/api/scan.rst", "lineno": 1, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/typing.html#typing.Dict", "info": ""}
+{"filename": "tutorial/runtime/runtime-configuration.rst", "lineno": 77, "status": "working", "code": 0, "uri": "https://en.wikipedia.org/wiki/Background_process", "info": ""}
+{"filename": "tutorial/runtime/introduction.rst", "lineno": 79, "status": "working", "code": 0, "uri": "https://docs.python.org/3/using/cmdline.html#envvar-PYTHONPATH", "info": ""}
+{"filename": "plugins/job-runners/index.rst", "lineno": 1, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/typing.html#typing.Iterable", "info": ""}
+{"filename": "plugins/job-runners/index.rst", "lineno": 1, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/typing.html#typing.Tuple", "info": ""}
+{"filename": "plugins/job-runners/index.rst", "lineno": 1, "status": "working", "code": 0, "uri": "https://docs.python.org/3/library/typing.html#typing.List", "info": ""}
+{"filename": "user-guide/writing-workflows/runtime.rst", "lineno": 788, "status": "working", "code": 0, "uri": "https://en.wikipedia.org/wiki/C3_linearization", "info": ""}
+{"filename": "glossary.rst", "lineno": 943, "status": "working", "code": 0, "uri": "https://en.wikipedia.org/wiki/Daemon_(computing)", "info": ""}
+{"filename": "glossary.rst", "lineno": 878, "status": "working", "code": 0, "uri": "https://en.wikipedia.org/wiki/Job_scheduler", "info": ""}
+{"filename": "tutorial/scheduling/datetime-cycling.rst", "lineno": 307, "status": "working", "code": 0, "uri": "https://en.wikipedia.org/wiki/Nowcasting_(meteorology)", "info": ""}
+{"filename": "tutorial/runtime/configuration-consolidation/jinja2.rst", "lineno": 63, "status": "working", "code": 0, "uri": "https://en.wikipedia.org/wiki/Shebang_(Unix)", "info": ""}
+{"filename": "tutorial/scheduling/datetime-cycling.rst", "lineno": 287, "status": "working", "code": 0, "uri": "https://en.wikipedia.org/wiki/List_of_military_time_zones", "info": ""}
+{"filename": "reference/architecture/data-flow.rst", "lineno": 160, "status": "working", "code": 0, "uri": "https://en.wikipedia.org/wiki/WebSocket", "info": ""}
+{"filename": "user-guide/running-workflows/workflow-databases.rst", "lineno": 39, "status": "working", "code": 0, "uri": "https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 22, "status": "working", "code": 0, "uri": "https://en.wikipedia.org/wiki/Template_processor", "info": ""}
+{"filename": "glossary.rst", "lineno": 465, "status": "working", "code": 0, "uri": "https://en.wikipedia.org/wiki/ISO_8601", "info": ""}
+{"filename": "reference/config/file-format.rst", "lineno": 6, "status": "working", "code": 0, "uri": "https://en.wikipedia.org/wiki/INI_file", "info": ""}
+{"filename": "installation.rst", "lineno": 120, "status": "working", "code": 0, "uri": "https://formulae.brew.sh/", "info": ""}
+{"filename": "reference/architecture/data-flow.rst", "lineno": 176, "status": "working", "code": 0, "uri": "https://github.com/apollographql/subscriptions-transport-ws/blob/master/PROTOCOL.md", "info": ""}
+{"filename": "reference/architecture/ui-server.rst", "lineno": 87, "status": "working", "code": 0, "uri": "https://github.com/corridor/configurable-http-proxy", "info": ""}
+{"filename": "reference/changes.rst", "lineno": 100, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-flow/blob/8.1.x/CHANGES.md", "info": ""}
+{"filename": "reference/changes.rst", "lineno": 16, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-flow/blob/master/CHANGES.md", "info": ""}
+{"filename": "7-to-8/major-changes/cli.rst", "lineno": 66, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-flow/blob/master/COPYING", "info": ""}
+{"filename": "installation.rst", "lineno": 168, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-flow", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 94, "status": "working", "code": 0, "uri": "https://github.com/cylc/Cylc.tmbundle", "info": ""}
+{"filename": "reference/changes.rst", "lineno": 19, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-rose/blob/master/CHANGES.md", "info": ""}
+{"filename": "7-to-8/caveats.rst", "lineno": 84, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-flow/issues/3528", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 55, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-flow/issues/3825", "info": ""}
+{"filename": "7-to-8/caveats.rst", "lineno": 67, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-flow/issues/3527", "info": ""}
+{"filename": "7-to-8/caveats.rst", "lineno": 75, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-flow/issues/3464", "info": ""}
+{"filename": "reference/changes.rst", "lineno": 18, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-ui/blob/master/CHANGES.md", "info": ""}
+{"filename": "reference/architecture/data-flow.rst", "lineno": 53, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-ui", "info": ""}
+{"filename": "reference/changes.rst", "lineno": 101, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-uiserver/blob/1.2.x/CHANGES.md", "info": ""}
+{"filename": "7-to-8/caveats.rst", "lineno": 36, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-ui/issues/434", "info": ""}
+{"filename": "7-to-8/caveats.rst", "lineno": 49, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-ui/issues/155", "info": ""}
+{"filename": "7-to-8/major-changes/cli.rst", "lineno": 113, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-uiserver", "info": ""}
+{"filename": "reference/changes.rst", "lineno": 17, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-uiserver/blob/master/CHANGES.md", "info": ""}
+{"filename": "user-guide/sharing-access-to-workflows.rst", "lineno": 17, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-uiserver/blob/master/cylc/uiserver/jupyter_config.py", "info": ""}
+{"filename": "7-to-8/caveats.rst", "lineno": 45, "status": "working", "code": 0, "uri": "https://github.com/cylc/cylc-ui/issues/331", "info": ""}
+{"filename": "reference/changes.rst", "lineno": 21, "status": "working", "code": 0, "uri": "https://github.com/metomi/isodatetime/blob/master/CHANGES.md", "info": ""}
+{"filename": "workflow-design-guide/general-principles.rst", "lineno": 123, "status": "working", "code": 0, "uri": "https://google.github.io/styleguide/shell.xml", "info": ""}
+{"filename": "reference/changes.rst", "lineno": 20, "status": "working", "code": 0, "uri": "https://github.com/metomi/rose/blob/master/CHANGES.md", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 77, "status": "working", "code": 0, "uri": "https://github.com/cylc/language-cylc", "info": ""}
+{"filename": "7-to-8/summary.rst", "lineno": 166, "status": "working", "code": 0, "uri": "https://github.com/metomi/rose", "info": ""}
+{"filename": "index.rst", "lineno": 2, "status": "working", "code": 0, "uri": "https://img.shields.io/discourse/users?label=Join%20the%20community%20on%20Discourse&logo=discourse&server=https%3A%2F%2Fcylc.discourse.group&style=socia0l", "info": ""}
+{"filename": "installation.rst", "lineno": 104, "status": "working", "code": 0, "uri": "https://graphviz.org/download/", "info": ""}
+{"filename": "reference/architecture/data-flow.rst", "lineno": 53, "status": "redirected", "code": 302, "uri": "https://jupyter-server.readthedocs.io", "info": "https://jupyter-server.readthedocs.io/en/latest/"}
+{"filename": "reference/architecture/ui-server.rst", "lineno": 47, "status": "working", "code": 0, "uri": "https://jupyter-server.readthedocs.io/en/latest/operators/security.html#server-security", "info": ""}
+{"filename": "reference/architecture/ui-server.rst", "lineno": 27, "status": "working", "code": 0, "uri": "https://jupyter-server.readthedocs.io/en/latest/operators/multiple-extensions.html#managing-multiple-extensions", "info": ""}
+{"filename": "tutorial/runtime/configuration-consolidation/index.rst", "lineno": 165, "status": "working", "code": 0, "uri": "https://jinja.palletsprojects.com/en/3.0.x/", "info": ""}
+{"filename": "user-guide/writing-workflows/jinja2.rst", "lineno": 480, "status": "working", "code": 0, "uri": "https://jinja.palletsprojects.com/en/3.0.x/templates/#assignments", "info": ""}
+{"filename": "reference/config/ui-server.rst", "lineno": 27, "status": "working", "code": 0, "uri": "https://jupyter-server.readthedocs.io/en/latest/other/full-config.html#other-full-config", "info": ""}
+{"filename": "user-guide/sharing-access-to-workflows.rst", "lineno": 9, "status": "working", "code": 0, "uri": "https://jupyter-server.readthedocs.io/en/latest/api/jupyter_server.html#jupyter_server.serverapp.ServerApp.authorizer_class", "info": ""}
+{"filename": "reference/architecture/ui-server.rst", "lineno": 61, "status": "working", "code": 0, "uri": "https://jupyterhub.readthedocs.io/en/stable/", "info": ""}
+{"filename": "user-guide/sharing-access-to-workflows.rst", "lineno": 93, "status": "working", "code": 0, "uri": "https://jupyterhub.readthedocs.io/en/stable/rbac/scopes.html#jupyterhub-scopes", "info": ""}
+{"filename": "reference/architecture/ui-server.rst", "lineno": 72, "status": "working", "code": 0, "uri": "https://jupyterhub.readthedocs.io/en/stable/reference/authenticators.html", "info": ""}
+{"filename": "user-guide/sharing-access-to-workflows.rst", "lineno": 93, "status": "working", "code": 0, "uri": "https://jupyterhub.readthedocs.io/en/stable/reference/api/app.html#jupyterhub.app.JupyterHub.load_roles", "info": ""}
+{"filename": "reference/architecture/index.rst", "lineno": 44, "status": "working", "code": 0, "uri": "https://jupyter.org/hub", "info": ""}
+{"filename": "reference/architecture/ui-server.rst", "lineno": 74, "status": "working", "code": 0, "uri": "https://jupyterhub.readthedocs.io/en/stable/reference/proxy.html", "info": ""}
+{"filename": "reference/architecture/ui-server.rst", "lineno": 114, "status": "working", "code": 0, "uri": "https://jupyterhub.readthedocs.io/en/stable/reference/websecurity.html", "info": ""}
+{"filename": "user-guide/sharing-access-to-workflows.rst", "lineno": 177, "status": "working", "code": 0, "uri": "https://jupyterhub.readthedocs.io/en/stable/reference/authenticators.html#authenticators-reference", "info": ""}
+{"filename": "user-guide/sharing-access-to-workflows.rst", "lineno": 122, "status": "working", "code": 0, "uri": "https://jupyterhub.readthedocs.io/en/stable/reference/api/app.html#jupyterhub.app.JupyterHub.spawner_class", "info": ""}
+{"filename": "reference/architecture/ui-server.rst", "lineno": 73, "status": "working", "code": 0, "uri": "https://jupyterhub.readthedocs.io/en/stable/reference/spawners.html", "info": ""}
+{"filename": "reference/architecture/ui-server.rst", "lineno": 106, "status": "working", "code": 0, "uri": "https://jupyterhub.readthedocs.io/en/stable/reference/technical-overview.html", "info": ""}
+{"filename": "installation.rst", "lineno": 20, "status": "working", "code": 0, "uri": "https://mamba.readthedocs.io/en/latest/index.html", "info": ""}
+{"filename": "reference/architecture/ui-server.rst", "lineno": 19, "status": "working", "code": 0, "uri": "https://jupyterlab.readthedocs.io/en/stable/getting_started/overview.html", "info": ""}
+{"filename": "workflow-design-guide/index.rst", "lineno": 27, "status": "working", "code": 0, "uri": "https://metomi.github.io/rose", "info": ""}
+{"filename": "tutorial/furthertopics/inheritance.rst", "lineno": 77, "status": "working", "code": 0, "uri": "https://metomi.github.io/rose/2.1.0/html/api/configuration/metadata.html#conf-meta", "info": ""}
+{"filename": "7-to-8/major-changes/remote-owner.rst", "lineno": 24, "status": "working", "code": 0, "uri": "https://man.openbsd.org/ssh_config", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 101, "status": "working", "code": 0, "uri": "https://marketplace.visualstudio.com/items?itemName=cylc.vscode-cylc", "info": ""}
+{"filename": "7-to-8/major-changes/python-2-3.rst", "lineno": 144, "status": "working", "code": 0, "uri": "https://metomi.github.io/rose/2.1.0/html/api/built-in/rose_ana.html#builtin-rose-ana", "info": ""}
+{"filename": "user-guide/running-workflows/scheduler-start-up.rst", "lineno": 175, "status": "working", "code": 0, "uri": "https://metomi.github.io/rose/2.1.0/html/api/configuration/application.html#rose-applications", "info": ""}
+{"filename": "plugins/cylc-rose.rst", "lineno": 35, "status": "working", "code": 0, "uri": "https://metomi.github.io/rose/2.1.0/html/api/configuration/suite.html#rose-suites", "info": ""}
+{"filename": "7-to-8/major-changes/python-2-3.rst", "lineno": 143, "status": "working", "code": 0, "uri": "https://metomi.github.io/rose/2.1.0/html/api/rose-macro.html#api-rose-macro", "info": ""}
+{"filename": "plugins/cylc-rose.rst", "lineno": 168, "status": "working", "code": 0, "uri": "https://metomi.github.io/rose/2019.01.8/html/tutorial/rose/furthertopics/rose-stem.html", "info": ""}
+{"filename": "workflow-design-guide/general-principles.rst", "lineno": 122, "status": "working", "code": 0, "uri": "https://peps.python.org/pep-0008/", "info": ""}
+{"filename": "7-to-8/cheat-sheet.rst", "lineno": 266, "status": "working", "code": 0, "uri": "https://metomi.github.io/rose/2.1.0/html/tutorial/rose/furthertopics/rose-stem.html#rose-stem", "info": ""}
+{"filename": "reference/architecture/data-flow.rst", "lineno": 128, "status": "working", "code": 0, "uri": "https://protobuf.dev/", "info": ""}
+{"filename": "reference/config/global.rst", "lineno": 255, "status": "working", "code": 0, "uri": "https://psutil.readthedocs.io/en/latest/", "info": ""}
+{"filename": "user-guide/writing-workflows/configuration.rst", "lineno": 25, "status": "working", "code": 0, "uri": "https://pypi.org/project/empy/", "info": ""}
+{"filename": "7-to-8/major-changes/python-2-3.rst", "lineno": 29, "status": "working", "code": 0, "uri": "https://pypi.org/project/six/", "info": ""}
+{"filename": "user-guide/writing-workflows/external-triggers.rst", "lineno": 277, "status": "working", "code": 0, "uri": "https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html", "info": ""}
+{"filename": "installation.rst", "lineno": 147, "status": "working", "code": 0, "uri": "https://support.apple.com/en-gb/guide/mac-help/mchlp1066/mac", "info": ""}
+{"filename": "tutorial/furthertopics/inheritance.rst", "lineno": 14, "status": "working", "code": 0, "uri": "https://upload.wikimedia.org/wikipedia/commons/0/09/A6-EDY_A380_Emirates_31_jan_2013_jfk_%288442269364%29_%28cropped%29.jpg", "info": ""}
+{"filename": "tutorial/furthertopics/inheritance.rst", "lineno": 14, "status": "working", "code": 0, "uri": "https://upload.wikimedia.org/wikipedia/commons/2/2f/Robinson-R44_1.jpg", "info": ""}
+{"filename": "tutorial/furthertopics/retries.rst", "lineno": 33, "status": "working", "code": 0, "uri": "https://upload.wikimedia.org/wikipedia/commons/7/73/Double-six-dice.jpg", "info": ""}
+{"filename": "tutorial/furthertopics/inheritance.rst", "lineno": 444, "status": "working", "code": 0, "uri": "https://upload.wikimedia.org/wikipedia/commons/e/e7/Hovercraft_leaving_Ryde.JPG", "info": ""}
+{"filename": "tutorial/furthertopics/inheritance.rst", "lineno": 366, "status": "working", "code": 0, "uri": "https://upload.wikimedia.org/wikipedia/commons/a/a7/Ordinary_bicycle01.jpg", "info": ""}
+{"filename": "tutorial/furthertopics/inheritance.rst", "lineno": 163, "status": "working", "code": 0, "uri": "https://upload.wikimedia.org/wikipedia/commons/e/e3/MV-22_mcas_Miramar_2014.JPG", "info": ""}
+{"filename": "reference/architecture/data-flow.rst", "lineno": 160, "status": "working", "code": 0, "uri": "https://www.apollographql.com/docs/react/", "info": ""}
+{"filename": "installation.rst", "lineno": 99, "status": "working", "code": 0, "uri": "https://www.gnu.org/software/coreutils/coreutils.html", "info": ""}
+{"filename": "workflow-design-guide/general-principles.rst", "lineno": 152, "status": "working", "code": 0, "uri": "https://vaneyckt.io/posts/safer_bash_scripts_with_set_euxo_pipefail/", "info": ""}
+{"filename": "installation.rst", "lineno": 132, "status": "working", "code": 0, "uri": "https://www.unix.com/man-page/FreeBSD/8/atrun/", "info": ""}
+{"filename": "reference/architecture/data-flow.rst", "lineno": 30, "status": "working", "code": 0, "uri": "https://zeromq.org/", "info": ""}
+{"filename": "tutorial/runtime/runtime-configuration.rst", "lineno": 298, "status": "working", "code": 0, "uri": "https://www.metoffice.gov.uk/services/data/datapoint", "info": ""}
+{"filename": "glossary.rst", "lineno": 466, "status": "working", "code": 0, "uri": "https://www.iso.org/iso-8601-date-and-time-format.html", "info": ""}
diff --git a/nightly_8.3/linkcheck/output.txt b/nightly_8.3/linkcheck/output.txt
new file mode 100644
index 00000000000..ac0f828893b
--- /dev/null
+++ b/nightly_8.3/linkcheck/output.txt
@@ -0,0 +1,2 @@
+glossary.rst:468: [redirected with Found] http://www.cl.cam.ac.uk/%7Emgk25/iso-time.html to https://www.cl.cam.ac.uk/~mgk25/iso-time.html
+reference/architecture/data-flow.rst:53: [redirected with Found] https://jupyter-server.readthedocs.io to https://jupyter-server.readthedocs.io/en/latest/
diff --git a/versions.json b/versions.json
index a4f2c4d3654..f3a6e72969e 100644
--- a/versions.json
+++ b/versions.json
@@ -1,35 +1,31 @@
 {
-    "8.0.3": [
-        "slides",
-        "html"
-    ],
-    "8.1.4": [
-        "slides",
-        "html"
+    "8.1.0": [
+        "html",
+        "slides"
     ],
-    "8.0.0": [
-        "slides",
-        "html"
+    "8.2.1": [
+        "html",
+        "slides"
     ],
-    "8.0.2": [
-        "slides",
-        "html"
+    "8.0.3": [
+        "html",
+        "slides"
     ],
-    "7.8.8": [
+    "8.0.0": [
         "html",
-        "singlehtml"
+        "slides"
     ],
     "8.2.0": [
-        "slides",
-        "html"
+        "html",
+        "slides"
     ],
-    "8.1.0": [
-        "slides",
-        "html"
+    "8.1.4": [
+        "html",
+        "slides"
     ],
-    "8.2.1": [
-        "slides",
-        "html"
+    "7.8.8": [
+        "html",
+        "singlehtml"
     ],
     "7.9.3": [
         "html",
@@ -38,10 +34,17 @@
     "8.2.2": [
         "html"
     ],
+    "8.0.2": [
+        "html",
+        "slides"
+    ],
     "stable": [
         "html"
     ],
     "latest": [
         "html"
+    ],
+    "nightly_8.3": [
+        "html"
     ]
 }